最近在Linux下有两个WiFi模组(一个为2.4GHz,另一个为2.4GHz+5GHz双频),刚好路由器为2.4GHz的,而其他接收设备在2.4GHz下数据处理不稳定,想切换为5GHz尝试,故而将两个WiFi模组同时连接到PC上(通过USB接口),当驱动都加载成功时会映射出wlan0和wlan1,关于AP和STA的配置部分在此不说明,下面主要说明下如何让wlan0(2.4G,连接外网,作STA)和wlan1(双频,连接内网,作AP)进行IP转发操作,其实也很简单,只需要执行如下命令即可:
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
其中第一条命令很重要,作用是打开IP转发功能,然后接下来三条命令是添加路由规则(后两条就够了)。
参照http://www.revsys.com/writings/quicktips/nat.html文章,上面的语句应改为:
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
网友评论