O compartilhamento da Internet desaparece quando eth0 ou wlan0 são desconectados

1

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
    
por pandalion98 23.12.2014 / 00:35

0 respostas