DreamCat 发表于 2007-4-2 10:27:58

【发布】ARP 简单管理工具--新版本

增加了对链路设备的 noarp 标志的控制。
即:

ip link set dev eth0 arp on

ip link set dev eth0 arp off


使用时需要注意:
[*]操作时会短时间关闭设备。路由器重新启动时也是如此。[*]一定要先添加永久的ARP 条目。[*]客户端必须使用静态(永久)的arp(注意客户机重新启动后静态的也会丢失)。功能是:设置为 off 时,路由器不会再获得、回应arp报文!使用时切记!

[ 本帖最后由 DreamCat 于 2007-4-6 10:56 编辑 ]

DreamCat 发表于 2007-4-2 11:49:18

试验了下 BFW 2.28,发现这个插件无法使用。BFW2.28使用的仍是编译在BusyBox里的的 ip utility。

BusyBox v1.00 (2005.07.29-01:38+0000) multi-call binary Usage: ip [ OPTIONS ] { address | link | route | tunnel } { COMMAND | help } BusyBox v1.00 (2005.07.29-01:38+0000) multi-call binary Usage: ip [ OPTIONS ] { address | link | route | tunnel } { COMMAND | help } BusyBox v1.00 (2005.07.29-01:38+0000) multi-call binary Usage: ip [ OPTIONS ] { address | link | route | tunnel } { COMMAND | help }

keylon 发表于 2007-4-4 01:37:40

这个绑定好像没有效果啊 我先在BFW上绑定我这个管理机的IPMAC 保存配置重载后 将我管理机的MAC地址随便改了一个 结果照样可以访问BFW ARP并没有起作用 而且路由器的ARP表里也随之更新为我改过之后的MAC了 所以说并没有静态绑定啊

DreamCat 发表于 2007-4-4 11:49:45

我已经说过了,这个插件不是限制访问,只是在路由器上保存静态ARP条目,以防止ARP攻击。
如果你要做限制,可以用“简单防火墙”里的IP、MAC接合,不过这个接合(绑定)对某些ARP攻击没有用。
完全的防范就是关闭ARP。这次的修改就是简单的增加了这个功能。

DreamCat 发表于 2007-4-6 10:55:45

实在是很抱歉,这个新版本发错了文件。:L
曾经注意到 /etc/coyote/coyote.conf 这个文件可能不包含对接口的变量名定义。
结果无法从 /etc/coyote/coyote.conf 获取IF_LOCAL。
编辑 arpadmin.cgi,在 . /etc/coyote/coyote.conf 之后添加一行:
IF_LOCAL="eth0"
备份一下,然后重新启动就可以了。
这里也提供了新的文件。
很是奇怪,怎么没人发现这个问题呢?

DreamCat 发表于 2007-4-10 13:05:45

补充一下,关闭 arp 也可以用 ifconfig 完成,不过 iproute2 出现之后就已经不希望客户再使用这些比较老的工具了。
还有就是二者的同时使用会导致部分设置冲突。
不清楚如何使 linux 只对arp请求报文做应答,希望对此熟悉的朋友能够给予解答。
一个疑问:
我在某篇文章中看到的操作,一直不太明白:
关闭设备:

ip link set dev eth0 down
ip link set dev eth0 arp off

开启设备:

ip link set dev eth0 up
ip link set dev eth0 arp on

为什么要在开启/关闭设备之后要对arp标志进行修改呢?尤其是在关闭设备之后。

DreamCat 发表于 2007-4-13 13:05:30

arp 的控制有几个内核参数,不过始终不工作,还不清楚什么原因。
可以让内核只对已存在的arp条目中的地址发起的请求报文做应答。这个应该与routeros 的 reply-only 是一样的。

DreamCat 发表于 2007-4-13 14:14:54

仔细看了 Ip-sysctl,试验了几个参数。
可以不需要关闭、启动网卡了(稍后我会增加一个action。或者干脆取消 noarp 标志的设置。)。
不过还是没弄明白为什么arp_ignore的某些值会不起作用。


arp_ignore
       INTEGER
       Define different modes for sending replies in response to received ARP requests that resolve local target IP addresses:
       0
            (default): reply for any local target IP address, configured on any interface
       1
             reply only if the target IP address is local address configured on the incoming interface
       2
             reply only if the target IP address is local address configured on the incoming interface and both with the sender's IP address are part from same subnet on this interface
       3
             do not reply for local addresses configured with scope host, only resolutions for global and link addresses are replied
      4-7
             reserved
      8do not reply for all local addresses The max value from conf/{all,interface}/arp_ignore is used when ARP request is received on the {interface}


[ 本帖最后由 DreamCat 于 2007-4-13 14:17 编辑 ]

DreamCat 发表于 2007-4-25 16:34:18

新的计划:使用其他软件做,比如ipguard,这样老版本也可以用了。

tinma 发表于 2007-4-26 13:33:30

我发现我真的看不懂了,向楼主虚心学习!

DreamCat 发表于 2007-4-26 19:56:12

最近找了下相关的工具,发现了好多ARP防御的工具,除了上面说的ipguard 之外还有 arpalert, arpalert 很不错,有IP-MAC黑白名单,发现到非法的连接可以调用其他工具进行相应的处理。IPCOP用的就是 ipguard。
再次补充下,这只是路由器上的防御,客户机上也需要防御,而且不仅仅是防御,还要控制客户机不能发送假的ARP报文。不过目前似乎还没有这样的软件,多数都是检查、发送正确的ARP报文来解决问题。这是不正确的(ipguard采用的也是这种方法)。
利用交换机控制MAC是个办法,但是也变得麻烦了。还有个问题就是,交换机的缓存很小,LINUX下有软件可以进行ARP FLOOD。可以想象交换机被攻击会是什么样子。
页: [1]
查看完整版本: 【发布】ARP 简单管理工具--新版本