[英]RPI access network over ethernet and bridge wifi parallel
我目前正在尝试使用pi作为监视系统,该系统需要连接到本地以太网。 现在我也想使用与wifi ap相同的pi。 但是我发现了pi桥接以太网和wifi的所有配置示例,因此pi本身再也无法访问以太网了。
当前配置看起来像这样
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wireless-power off
如果我桥接网络(并且rpi可以用作wifi ap),则配置如下所示
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wireless-power off
auto br0
iface br0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge-ports eth0 wlan0
bridge-waitport 5
bridge-stp off
bridge-fd 0
那么问题是如何结合这两种配置,以便pi也可以访问同一(桥接)网络?
对于类似这样的拓扑,配置是this 。
________________________________________
| RPi |
Internet --- WLAN(WiFi) (Ethernet Ports)LAN ----- Devices
|________________________________________|
根据Milinds的评论,我从帖子中撤消了一个解决方案:
首先,安装以下软件包:
apt-get update && apt-get -y install hostapd hostap-utils iw bridge-utils dnsmasq
添加到/boot/cmdline.txt
:
[...] net.ifnames=0 [...]
替换/etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wireless-power off
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
创建/etc/hostapd/hostapd.conf
:
ctrl_interface=/var/run/hostapd
macaddr_acl=0 auth_algs=1
driver=nl80211
interface=wlan0
hw_mode=g
ieee80211n=1
channel=1
ssid=REPLACE_WITH_YOUR_SSID
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=1
wpa=3
wpa_passphrase=REPLACE_WITH_YOUR_PASSPHRASE
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
替换/etc/dnsmasq.conf
:
interface=wlan0
listen-address=192.168.2.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.2.2,192.168.2.100,12h
在/etc/sysctl.conf
取消注释:
[...]
net.ipv4.ip_forward=1
[...]
现在运行以下命令进行iptable路由:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
在启动时启用IP表路由
在exit 0
之前添加到/etc/rc.local
:
[...]
iptables-restore < /etc/iptables.ipv4.nat
[...]
最终重新启动,并且pi应该像从以太网端口共享wifi ap一样工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.