2018.01.11
如果双频信号都开启无线隔离,可以如下设置firewall
# This file is interpreted as shell script. # Put your custom iptables rules here, they will # be executed with each firewall (re-)start. # Internal uci firewall chains are flushed and recreated on reload, so # put custom rules into the root chains e.g. INPUT or FORWARD or into the # special user chains, e.g. input_wan_rule or postrouting_lan_rule. ########################################################## GATEWAY_IP=192.168.6.1 GATEWAY_MAC=aa:bb:cc:dd:ee:fe SUBNET=192.168.6.0/24 INTERFACE=wlan0 #5G信号,数据量大 INTERFACE1=wlan1-1 #2.4G信号,数据量小 ########################################################## ebtables -t filter -F FORWARD ebtables -t filter -F INPUT ebtables -t filter -F OUTPUT ######################################################### ebtables -t filter -A FORWARD -i $INTERFACE -p IPV4 --ip-protocol udp --ip-destination $GATEWAY_IP --ip-destination-port 53 -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE -p IPV4 --ip-destination $GATEWAY_IP -j DROP ebtables -t filter -A FORWARD -i $INTERFACE -d $GATEWAY_MAC -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE1 -p IPV4 --ip-protocol udp --ip-destination $GATEWAY_IP --ip-destination-port 53 -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE1 -p IPV4 --ip-destination $GATEWAY_IP -j DROP ebtables -t filter -A FORWARD -i $INTERFACE1 -d $GATEWAY_MAC -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE -p IPV4 --ip-destination $SUBNET -j DROP ebtables -t filter -A FORWARD -i $INTERFACE1 -p IPV4 --ip-destination $SUBNET -j DROP ebtables -t filter -A FORWARD -o $INTERFACE -s ! $GATEWAY_MAC -j DROP ebtables -t filter -A FORWARD -o $INTERFACE1 -s ! $GATEWAY_MAC -j DROP ######################################################### ebtables -t filter -A OUTPUT -o $INTERFACE -p ARP -j DROP ebtables -t filter -A OUTPUT -o $INTERFACE -p IPV4 -j DROP ebtables -t filter -A OUTPUT -o $INTERFACE1 -p ARP -j DROP ebtables -t filter -A OUTPUT -o $INTERFACE1 -p IPV4 -j DROP ######################################################### ebtables -t filter -A INPUT -i $INTERFACE -p IPV4 -j DROP ebtables -t filter -A INPUT -i $INTERFACE1 -p IPV4 -j DROP
2017.10.10
家里的无线网络连接的客户端比较多,经常有亲戚邻居的手机连接,而他们的手机上还经常会有“万能钥匙”这些软件。
被蹭网倒是其次,关键是连接wifi的手机经常使用支付宝、微信、网银等。为了安全给访客网络开启无线隔离,也就是连接访客网络的客户端间网络是不通的,访客网络和其它网络间也是不通的,只能访问外网。
而openwrt在作为ap时,官方没有可以无线隔离的方法,我用ebtables工具通过防火墙开启无线隔离。
接上次更新,防火墙custom rules支持shell,就设置了几个变量,方便修改,如下:
########################################################## GATEWAY_IP=192.168.6.1 GATEWAY_MAC=aa:bb:cc:dd:ee:fe SUBNET=192.168.6.0/24 INTERFACE=wlan0-1 ########################################################## ebtables -t filter -F FORWARD ebtables -t filter -F INPUT ebtables -t filter -F OUTPUT ######################################################### ebtables -t filter -A FORWARD -i $INTERFACE -p IPV4 --ip-protocol udp --ip-destination $GATEWAY_IP --ip-destination-port 53 -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE -p IPV4 --ip-destination $GATEWAY_IP -j DROP ebtables -t filter -A FORWARD -i $INTERFACE -d $GATEWAY_MAC -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE -p IPV4 --ip-destination $SUBNET -j DROP ebtables -t filter -A FORWARD -o $INTERFACE -s ! $GATEWAY_MAC -j DROP ######################################################### ebtables -t filter -A OUTPUT -o $INTERFACE -p ARP -j DROP ebtables -t filter -A OUTPUT -o $INTERFACE -p IPV4 -j DROP ######################################################### ebtables -t filter -A INPUT -i $INTERFACE -p IPV4 -j DROP =============================================================
2017.09.02
1。LEDE无线路由器修改LAN ip为和网关同一网段,LAN用网线连接网关。禁用无线路由器LAN的DHCP服务器。
无线隔离方法是使用ebtables配置防火墙,过滤br-lan桥上的数据包。ebtables与iptables不同处是专门过滤网桥的数据包。
先安装ebtables-utils,kmod-ebtables-ipv4,在线安装就可以。
2。Network -> Wireless -> Add添加新的无线网络,无线网络配置不再详说,Mode选AP,Network选LAN,重点记住配置页面上的
Wireless Network: Master "xxxx" (wlan0-1)括号里的网卡名称,也可以用iwinfo查看。
不新建无线网络也可以用原来的。
3。找到网关(如192.168.1.1),网关MAC(如aa:bb:cc:dd:ee:ff)
Network -> Firewall -> Custom Rules,添加如下规则
########################################################## ebtables -t filter -F FORWARD ebtables -t filter -F INPUT ebtables -t filter -F OUTPUT ######################################################### ebtables -t filter -A FORWARD -i wlan0-1 -p IPV4 --ip-protocol udp --ip-destination 192.168.1.1 --ip-destination-port 53 -j ACCEPT ebtables -t filter -A FORWARD -i wlan0-1 -p IPV4 --ip-destination 192.168.1.1 -j DROP ebtables -t filter -A FORWARD -i wlan0-1 -d aa:bb:cc:dd:ee:ff -j ACCEPT ebtables -t filter -A FORWARD -i wlan0-1 -p IPV4 --ip-destination 192.168.1.0/24 -j DROP ebtables -t filter -A FORWARD -o wlan0-1 -s ! aa:bb:cc:dd:ee:ff -j DROP ######################################################### ebtables -t filter -A OUTPUT -o wlan0-1 -p ARP -j DROP ebtables -t filter -A OUTPUT -o wlan0-1 -p IPV4 -j DROP ######################################################### ebtables -t filter -A INPUT -i wlan0-1 -p IPV4 -j DROP
4。保存,重启。
5。说明:
我的AP没启用IPV6,关闭IPV6方法是在/etc/sysctl.conf添加如下一行
net.ipv6.conf.all.disable_ipv6=1
这个隔离方法是从石像鬼的无线隔离启发得来的,试了今天一天才弄好,有什么可以改进的地方,坛友们提出来,大家共同进步
官方QQ群号码:922069959(空)、1093596563(空)