三向 NAT:将 wlan0 转发到 eth0 和 wlan1

三向 NAT:将 wlan0 转发到 eth0 和 wlan1

我将 Raspberry 3 设置为 wifi-to-wifi 接入点,以创建自己的子网:我有一个外部 WiFi 适配器,现在将流量从 wlan1 转发到 wlan0 以及反之亦然(如下本教程在 Adafruit 上)

# Generated by iptables-save v1.4.21 on Thu Oct 13 23:35:31 2016
*nat
:PREROUTING ACCEPT [2:120]
:INPUT ACCEPT [2:120]
:OUTPUT ACCEPT [9:660]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
# Completed on Thu Oct 13 23:35:31 2016
# Generated by iptables-save v1.4.21 on Thu Oct 13 23:35:31 2016
*filter
:INPUT ACCEPT [8:559]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:404]
-A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o wlan0 -j ACCEPT
COMMIT
# Completed on Thu Oct 13 23:35:31 2016

到目前为止,一切都运行良好。不过,我有几个设备我更愿意通过有线连接和一个小型 8 端口交换机来连接。

我认为这就像复制-A FORWARD相应的wlan0eth0组合的两个规则一样简单,但这并不起作用:

-A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o wlan0 -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -j ACCEPT

一旦我连接任何东西,eth0它就会变得非常慢或完全停止工作,并且有线连接的设备永远无法连接到互联网。

目标是所有设备都可以相互通信,无论它们是通过 LAN 还是 WLAN 连接,并且它们都可以连接到互联网。在当前硬件设置下这可行吗?

相关内容