我刚刚购买了 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