Eu apenas trabalho em um AcessPoint, hospedado no meu Raspberry Pi B +.
Quando um cabo é conectado ao adaptador eth0, tudo funciona bem. Se alguém se conectar ao meu AP, ele será redirecionado para o servidor da Web, como um portal cativo. Se eles querem ir para um site, o iptables os redireciona para o servidor web.
Mas quando eu começo meu Raspberry sem o cabo conectado, ele não funciona mais. O redirecionamento está quebrado. Quando eu conecto de volta e reinicio o hostapd, ele está funcionando novamente.
Eu não tenho ideia do porquê.
Aqui estão as minhas regras de iptable:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to destination 10.0.0.1:80
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.0.0.1:443
Eles serão adicionados com um script na inicialização.
O script:
#!/bin/bash
sudo ifconfig wlan0 10.0.0.1
sudo echo "options bcmdhd op_mode=2" | sudo tee /etc/modprobe.d/bcmdhd.conf
sudo iptables -t nat -F
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:80
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.0.0.1:443
sudo service dnsmasq restart
sudo hostapd /etc/hostapd/hostapd.conf
sudo service hostapd restart
Meu hostapd.conf:
interface=wlan0
driver=nl80211
bssid=7c:dd:90:9d:3e:bd
ssid=RaspAP
hw_mode=g
channel=6
beacon_int=100
auth_algs=3
wmm_enabled=1
ignore_broadcast_ssid=0
country_code=DE
Obrigado pela ajuda!
EDITAR: Eu não tenho que reiniciar o hostapd. Quando eu conecto o cabo de internet de volta, ele funciona imediatamente. É como se o iptables estivesse funcionando quando o cabo estivesse conectado.