如何从Linux禁用IPv4堆栈?我想动态地这样做,也就是说,有时我希望启用它,有时我只想要IPv6堆栈。有什么便携的方法吗?如果你知道如何在任何发行中这样做,这也会对我有很大的帮助。
发布于 2011-04-07 13:11:04
在IRC上聊了一会儿之后,人们的普遍看法是,linux内核在ipv4和ipv6之间共享一些代码,这可能使完全禁用ipv4完全不可能。您可以尝试在不使用ipv4部件的情况下编译内核,但是在这种情况下,ipv6可能不会编译(但是没有什么可以阻止您尝试!)
您可以从接口AFAIK中删除ipv4地址,但我认为此时不可能完全禁用ipv4。
编辑:在对内核2.6.36上的make menuconfig进行快速检查之后,我找不到一种在不禁用整个TCP/IP堆栈(例如ipv6)的情况下禁用ipv4的方法。
发布于 2013-12-19 11:43:05
如果这是针对开发人员的,那么可以使用“库插入”,LD_PRELOAD --一些带有存根函数的被修改的库--返回错误(或者根据一周中的某一天或其他一些外部条件调用真正的错误)。
发布于 2018-11-12 13:21:21
我不认为完全禁用IPv4是不可能的,但是根据您的目标,使用iptables减少所有IPv4流量可能就足够了,不是吗?
像这样的东西应该管用。我还没有在任何机器上测试它,因为我是通过IPv4访问它们的。
sudo iptables -I INPUT -j DROP
sudo iptables -O OUTPUT -j DROPhttps://serverfault.com/questions/256811
复制相似问题