一、内容介绍
最近在做路由器相关的内容,需要做限制访客wifi访问路由器设置页面的功能。
二、解决思路
利用iptables和ebtables对相关的端口进行过滤。
三、iptables与ebtables框架
四、所遇问题
一、开始没有把上图理解清楚,在ebtables的output中加过滤规则,这样会导致经过iptables中的forward的数据也会被限制,影响访客用户正常上网。
解决方法:规则在iptables中加入。
二、在iptables中加入规则时遇到一个新问题,需要对wifi的接口进行限制,但iptables中数据都是在br0中,并没有wlan接口。直接过滤br0中的数据也会影响访客用户正常上网。通过hook测试后发现,在ebtables中有wlan的接口,因此可以在ebtables部分给经过wlan的数据打mark,然后再iptables中过滤。
解决方法:在ebtables的input中打mark,在iptables的input中通过mark和端口规则对访客数据进行过滤。
总结:上述问题可以直接在iptables和ebtables中加入规则完成,也可以通过hook对PF_BRIDGE和NFPROTO_IPV4下的local_in中的数据包进行处理,有问题可以留言讨论。



