当 eth0 或 wlan0 断开连接时,互联网共享消失

当 eth0 或 wlan0 断开连接时,互联网共享消失

我刚刚购买了 RasPi B+,我想更换执行路由工作的 Windows PC。

我试图对 Pi 执行的操作是使其与另一个 wifi 路由器(通过 eth0)共享连接(wlan0)以分配连接。我认为这使得 pi 成为无线到有线的路由器/网桥。

所以,这是我的设置:

wifi偶尔会断开-->RasPi(有问题的)--> Wifi 路由器 --> 室内设备

到目前为止,iptables 完成了它的工作并共享了互联网连接(转发数据包)。但是,我现在有一个问题。当 eth0 或 wlan0 断开连接时,互联网连接共享完全消失。我应该怎么办?

我找到了一个自动重新连接wifi连接的脚本,但是共享丢失了。 Raspberry Pi 可以连接到互联网,但 wifi 路由器及其所有客户端的连接都会丢失。我必须重新启动 pi 才能恢复共享。我不知道是什么原因造成的。这是链接:http://www.raspberrypi.org/forums/viewtopic.php?t=16054

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

互联网共享脚本,在启动时通过 /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

重新连接 wifi 的脚本在后台运行。还重新运行互联网共享脚本。

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

相关内容