Acabei de receber um RasPi B + e estou procurando substituir o Windows PC que está realizando o trabalho de roteamento.
O que estou tentando fazer com o Pi é fazer com que ele compartilhe a conexão (wlan0) com outro roteador wifi (via eth0) para distribuir a conexão. Então, isso faz com que o pi seja um roteador / ponte sem fio para com fio, eu acho.
Então, aqui está minha configuração:
wi-fi que ocasionalmente desconecta - > RasPi (O QUE TEM PROBLEMAS) - > Roteador Wifi - > Dispositivos dentro da casa
Até agora, o iptables fez seu trabalho e meio que compartilhou a conexão com a internet (pacotes encaminhados). Mas estou tendo um problema agora. O compartilhamento de conexão com a Internet desaparece completamente quando eth0 ou wlan0 são desconectados. O que devo fazer?
Encontrei um script que reconecta automaticamente a conexão Wi-Fi, mas o compartilhamento é perdido. O pi pode se conectar à internet, mas a conexão é perdida para o roteador wifi e todos os seus clientes. Eu tenho que reiniciar o pi para obter o compartilhamento de volta. Eu não tenho ideia do que está causando isso. Aqui está o link: link
cat /etc/network/interfaces
auto lo
iface lo inet loopback
# wireless interface
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-conf /etc/wpa.conf
##CONFIG FOR INTERNET SHARING/ROUTER
allow-hotplug eth0
iface eth0 inet static
network 192.168.0.0
netmask 255.255.255.0
address 192.168.0.1
broadcast 192.168.0.255
gateway 192.168.0.1
script de compartilhamento de internet, executado na inicialização via /etc/rc.local
sysctl -w net.ipv4.ip_forward=1
sysctl -p
iptables -X
iptables -F
iptables -t nat -X
iptables -t nat -F
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE
O script que reconecta o wifi é executado em segundo plano. Também executa novamente o script de compartilhamento da Internet.
while true ; do
if sudo ifconfig wlan0 | grep -q "inet addr:" ; then
echo "Everytnin' be good. Checking wifi again in 20 seconds."
sleep 20
else
echo "Wifi connection down! Attempting reconnection."
sudo ifup --force wlan0
sudo /usr/local/bin/ishare
sleep 10
fi
done