2010-07-29 80 views

回答

4

默认情况下,Linux内核不接受未经请求的ARP。由于请求是由用户空间应用程序发送的,而不是由内核发送的,内核将该回复视为“主动提供”。

您可以在/proc/sys/net/ipv4/conf/*/arp_accept(无论是基于设备还是所有设备)更改此默认设置。

+0

感谢您的快速回复!现在我明白了。但是,还有另一种方法可以改变/ proc/sys/net/ipv4/conf/*/arp_accept吗?通过ioctl? – Aitjcize 2010-07-29 06:26:02

+0

为什么你需要另一种方式?这种方式有什么问题?如果您不知道将其设置为何种界面,则可以使用“全部”而不是*。 – camh 2010-07-29 10:18:46

+0

@Aitjcize:'/ proc/sys /'是sysctl的接口,但它是Linux上的* preferred *接口。你可以用一个简单的'fopen();编程方式改变它。 fprintf中(); fclose();'序列。 – caf 2010-07-29 13:32:58