1 (edytowany przez oneiro 2011-10-29 12:30:35)

Temat: Warunkowy dostęp do internetu

Witam,

Problem jest taki - w sieci jeden komputer jest tzw. komputerem roboczym/publicznym.  Generalnie jest tam wyłączony internet poprzez regułkę w firewallu. 

Niestety, od czasu do czasu pewni operatorzy chcieliby dostęp do internetu. Ręczne logowanie się routera, zmiana wpisów w iptables, restartowanie firewalla jest żmudne.

Kiedyś widziałem fajne rozwiązanie - dowolny użytkownik chcący połączyć się z siecią (przez protokół http) najpierw przełączany jest na stronę logowania. Wpisuje się login i hasło.

Po zatwierdzeniu przez jakiś czas (albo do wylogowania?) komputer jest (a przynajmniej www) odblokowany i można śmigać w sieci. 

Czy podobną funkcjonalność da się zrobić w OpenWRT,  a jak tak, to jak?

Pozdrawiam, Krzysiek

2

Odp: Warunkowy dostęp do internetu

Takie coś nazywa się hotspot smile. Softu do tego jest pełno - chilispot, nodogslash i podobne, standardowo dostępne w paczkach do openwrt.

Lub własna implementacja na iptables zrobiona, jak wolisz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Warunkowy dostęp do internetu

Dobra, jeden problem z openwrt odszedł i od razu pojawił się nowy. Oto logi:

root@OpenWrt:~$ /etc/init.d/wifidog restart
Stopping Wifidog ...
FAILED:  Wifidog was not running
Starting Wifidog ...
Testing for iptables modules
  Testing ipt_mac
   ipt_mac  module is working
  Testing ipt_mark
   ipt_mark module is working
  Testing ipt_REDIRECT
   ipt_REDIRECT  module is working
OK
root@OpenWrt:~$ [3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t mangle -F WiFiDog_br-public_Trusted
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t mangle -F WiFiDog_br-public_Outgoing
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t mangle -F WiFiDog_br-public_Incoming
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t mangle -X WiFiDog_br-public_Trusted
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t mangle -X WiFiDog_br-public_Outgoing
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t mangle -X WiFiDog_br-public_Incoming
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -F WiFiDog_br-public_AuthServers
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -F WiFiDog_br-public_Outgoing
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -F WiFiDog_br-public_WIFI2Router
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -F WiFiDog_br-public_WIFI2Internet
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -F WiFiDog_br-public_Global
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -F WiFiDog_br-public_Unknown
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -X WiFiDog_br-public_AuthServers
[3][Wed Nov 16 19:19:58 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -X WiFiDog_br-public_Outgoing
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -X WiFiDog_br-public_WIFI2Router
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -X WiFiDog_br-public_WIFI2Internet
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -X WiFiDog_br-public_Global
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -X WiFiDog_br-public_Unknown
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -F WiFiDog_br-public_WIFI2Internet
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -F WiFiDog_br-public_AuthServers
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -F WiFiDog_br-public_Locked
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -F WiFiDog_br-public_Global
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -F WiFiDog_br-public_Validate
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -F WiFiDog_br-public_Known
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -F WiFiDog_br-public_Unknown
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -X WiFiDog_br-public_WIFI2Internet
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -X WiFiDog_br-public_AuthServers
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -X WiFiDog_br-public_Locked
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -X WiFiDog_br-public_Global
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -X WiFiDog_br-public_Validate
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -X WiFiDog_br-public_Known
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t filter -X WiFiDog_br-public_Unknown
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -N WiFiDog_br-public_WIFI2Internet
iptables v1.4.6: Couldn't load target `WiFiDog_br-public_WIFI2Internet':File not found

Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -A WiFiDog_br-public_Outgoing -j WiFiDog_br-public_WIFI2Internet
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -A WiFiDog_br-public_WIFI2Internet -m mark --mark 0x2 -j ACCEPT
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -A WiFiDog_br-public_WIFI2Internet -m mark --mark 0x1 -j ACCEPT
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t nat -A WiFiDog_br-public_WIFI2Internet -j WiFiDog_br-public_Unknown
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -N WiFiDog_br-public_WIFI2Internet
iptables v1.4.6: Couldn't load target `WiFiDog_br-public_WIFI2Internet':File not found

Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -I FORWARD -i br-public -j WiFiDog_br-public_WIFI2Internet
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -m state --state INVALID -j DROP
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -o eth0.2 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -j WiFiDog_br-public_AuthServers
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -m mark --mark 0x254 -j WiFiDog_br-public_Locked
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -j WiFiDog_br-public_Global
iptables: Invalid argument. Run `dmesg' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -A WiFiDog_br-public_Global -d 0.0.0.0/0 -p tcp --dport 25 -j REJECT
iptables: Invalid argument. Run `dmesg' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -A WiFiDog_br-public_Global -d 192.168.0.0/16 -j REJECT
iptables: Invalid argument. Run `dmesg' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -A WiFiDog_br-public_Global -d 172.16.0.0/12 -j REJECT
iptables: Invalid argument. Run `dmesg' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(1): iptables -t nat -A WiFiDog_br-public_Global -d 10.0.0.0/8 -j REJECT
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:19:59 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -m mark --mark 0x1 -j WiFiDog_br-public_Validate
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:20:00 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -m mark --mark 0x2 -j WiFiDog_br-public_Known
iptables v1.4.6: chain name `WiFiDog_br-public_WIFI2Internet' too long (must be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.
[3][Wed Nov 16 19:20:00 2011][9248](fw_iptables.c:116) iptables command failed(2): iptables -t filter -A WiFiDog_br-public_WIFI2Internet -j WiFiDog_br-public_Unknown

root@OpenWrt:~$

Zainstalowałem WiFiDOg, wydaje się najbardziej funkcjonalny (ma w sobie hotspot oraz tzw Captive portal, czyli w pełni funkcjonalny hotspot).  Niestety, coś nie działa. Internet `mówi`, że problem został dawno rozwiązany (3 lata temu):

http://dev.wifidog.org/ticket/515

Nie mniej, dalej mam takie właśnie komunikaty hmm

W zasadzie komunikat do Cezarego - czy czasem paczek do tego nie masz jakiś starych/nie kompatybilnych? Mam OpenWrt ściągniętego od Ciebie z wydania z 2011-10-13. Być może od tego czasu coś się zmieniło, nie wiem. Proszę o pomoc.

PS. Dodam, że podczas instalacji opkg install wifidog dostałem na początku masę błędów/komunikatów o (chyba) zdublowanych pakietach oraz coś drukowymi literami (nie pamiętam co dokładnie), ale instalacja poszła.

4

Odp: Warunkowy dostęp do internetu

Przecież ja nie kompiluję tego, to paczka z repo openwrt.

Za długa nazwa łańcucha jest, zmień to w skryptach.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.