gan2752 发表于 2008-7-14 20:45:39

DD-WRT 的ARP MAC绑定方法

最近网络里总有家伙在用网管软件捣乱,网络极不稳定。因为都是共享上网的,也不好说他。
查看一下DD-wrt无线路里并没有防ARP欺骗功能设置。既然DD-WRT是基于linux的,自已动手用iptables搞定。
telnet到DD-WRT无线路由器(192.168.10.1)进行如下设定:
首先telnet进去后输入ifconfig 查看一下你的路由的内个接口的表示.
我这台WAN接口的表示为:vlan1
1、绑定网关IP的mac地址。共享路由器的IP是192.168.1.1
arp -s 192.168.1.1 00:0A:EB:C2:E1:70
2、设定防火墙规则
iptables -A INPUT -s ! 192.168.1.1 -i vlan1 -j DROP
iptables -A FORWARD -s ! 192.168.1.1 -i vlan1 -j DROP
本来想用iptables 的 -m mac进行限制,但好象DD-wrt里没有相应的模块。
并将TTL设了一下,防止ISP通过TTL检测做坏事。
iptables -t mangle -A FORWARD -j TTL -ttl-inc 1
经测试稳定,效果不错!于是将其放到启动脚本和防火墙脚本中以便每次重启路由都能应用。再在宽带共享路由器(192.168.1.1)上指定我这DD-wrt无线路由的IP&Mac地址对应那就完美了。

最后写成这样,放到DD-WRT的诊断那里,分两项


ifconfig vlan1 -arp(我的这个为WAN接口)
ifconfig teh1 -arp(我的teh1为LAN接口)
ifconfig teh0 -arp(我的这个为无线接口)(关闭这三个接口的ARP回应后)
arp -s 192.168.1.1 00:0A:EB:C2:E1:70(绑定WAN口对上一级的MAC)
arp -s 10.0.0.3 00:0A:1B:C2:E2:95(绑定我用于设置和上网使用的机子的IP和MAC,不然会把自己锁在外面.)

把以上保存为启动命令
iptables -A INPUT -s ! 192.168.1.1 -i vlan1 -j DROP
iptables -A FORWARD -s ! 192.168.1.1 -i vlan1 -j DROP
iptables -t mangle -A FORWARD -j TTL -ttl-inc 1
把以上保存为防火墙命令

arp -s 192.168.1.1 00:0A:EB:C2:E1:70
放到命令行运行一下.OK

imsea 发表于 2008-8-5 00:08:13

好贴啊!

lucklyday 发表于 2009-11-9 10:27:22

iptables -A INPUT -s ! 192.168.1.1 -i vlan1 -j DROP
iptables -A FORWARD -s ! 192.168.1.1 -i vlan1 -j DROP
iptables -t mangle -A FORWARD -j TTL -ttl-inc 1
这个看不懂
页: [1]
查看完整版本: DD-WRT 的ARP MAC绑定方法