- Captive wifi + iptables
+ Responder ao Tópico
-
Captive wifi + iptables
boas pessoal do forum, estou a contruir um portal wifi que funciona em modo captive, conheço o NoCatAuth, porem ele tem mtas coisas que eu nem vou precisar, alem de correr CGI's o que o torna lento..ora bem tou com um problemão
todo o novo utilizador que xega á rede TEM de ser redirecionado para uma página inicial onde faz login, após o login ter sido efectuado com sucesso, o iptables marca o seu IP com o valor "1" ( -j MARK --set-mark 1)
e depois o firewall só faz NAT aos pakotes que estiverem marcados com "1"
akonteçe que isto n está a funcionar la mto bem, pois ele entra na rede, tenta aceder a um site e fica á espera...espera..espera.. até dar timeout, em vez de ser redirecionado para a página de login, vou por aqui as regras de iptables e agradecia que dessem uma vista de olhos, para ver se têm algum problema
#!/bin/sh
IPTABLES="/usr/local/sbin/iptables"
WIFI="eth1"
NET_IF="eth0"
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -t filter -F
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t filter -F OUTPUT
echo 1 > /proc/sys/net/ipv4/ip_forward
###############################################################################
$IPTABLES -t filter -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
$IPTABLES -t filter -A FORWARD -i lo -s 127.0.0.1 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o lo -s 127.0.0.1 -j ACCEPT
###############################################################################
$IPTABLES -t nat -I POSTROUTING -o $NET_IF -m mark --mark 1-j MASQUERADE
###############################################################################
$IPTABLES -t nat -I PREROUTING -p tcp -i $WIFI -m mark ! --mark 1 -j REDIRECT --to-port 8080
###############################################################################
ou seja, todos os pakotes que n sejam marcados com "1" serão redirecionados para a página de login que corre num apache na porta 8080, os marcados por "1" então é feito o NAT já nem sao redirecionados, teoricamente devia funcionar assim, vcs conseguem ver onde está o problema? os utilizadores que xegam á rede (dhcp) n são redirecionados :toim:
-
Captive wifi + iptables
nao seria --mark !1 ???
jah tentou sniffar a rede e ver no que da? antes e depois?
-
Captive wifi + iptables
n cara.. se eu fizer assim o iptables vai dar erro na sintaxe :S