![如果没有激活 eth0,Raspberry Pi iptables 将无法工作](https://linux22.com/image/1484626/%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%E6%BF%80%E6%B4%BB%20eth0%EF%BC%8CRaspberry%20Pi%20iptables%20%E5%B0%86%E6%97%A0%E6%B3%95%E5%B7%A5%E4%BD%9C.png)
我只是在由我的 Raspberry Pi B+ 托管的 AcessPoint 上工作。
当将电缆插入 eth0 适配器时,一切都会正常工作。如果有人连接到我的 AP,他们将被重定向到 Web 服务器,就像强制门户一样。如果他们想访问某个网站,iptables 会将他们重定向到 Web 服务器。
但是,当我启动 Raspberry 时,没有插入电缆,它就不再工作了。重定向已损坏。当我重新插入电缆并重新启动 hostapd 时,它又可以正常工作了。
我不知道为什么。
这是我的 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
它们将在启动时通过脚本添加。
剧本:
#!/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
我的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
感谢帮助!
编辑: 我还没有重启 hostapd。当我重新插入网线时,它立即工作。就像插入网线时 iptables 正在运行一样。