我想使用C以编程方式在Linux中启用/禁用IPv4 / IPv6。这可能吗?如果是,请告诉我如何做到这一点,任何对示例程序的参考也会非常有帮助。
答案 0 :(得分:2)
见这里:https://unix.stackexchange.com/questions/66574/how-can-i-disable-ipv6-in-custom-built-embedded-setup
不幸的是,不推荐使用_sysctl(2)
系统调用API,因此您可以直接在/proc/
中写入文件(从C语言来看很简单,只是有点搞笑):
重要的一点似乎是将1
(text,而不是int)的文本值写入这两个文件中的至少第一个,并且可能两者都是:
/proc/sys/net/ipv6/conf/all/disable_ipv6
/proc/sys/net/ipv6/conf/default/disable_ipv6
对于IPv4,我不太清楚。你真的需要在保持IPv6运行的同时禁用IPv4吗?