所以我有一个带有两个无线接口的
linux盒子,一个是电台,另一个是AP.
wlan0(站) – 连接到互联网连接
wlan1(AP) – 其他客户端连接到它.
我希望连接到wlan1的客户能够访问wlan0上的互联网.我想用iptables做这个,因为我的内核没有桥接支持……
这是我到目前为止尝试使用iptables但它不起作用:
iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
我很感激任何帮助.
解决方法
首先,要使在私有接口上连接的主机能够连接到互联网,您不需要桥接接口,您需要将进入一个接口的数据包路由到另一个接口上的数据包,然后将它们发送到外部.
要做到这一点,你只需要:
>在您的Linux机器上启用转发:
>允许特定(或全部)数据包遍历您的路由器
>正如有人所说,netfilter是无状态防火墙,允许已建立连接的流量
>更改发往互联网的数据包的源地址
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED \ -j ACCEPT iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
应该这样做.