2

我想使用 C 以编程方式在 Linux 中启用/禁用 IPv4/IPv6。这可能吗?如果是,请让我知道如何执行此操作,并且对示例程序的任何参考也将非常有帮助。

4

1 回答 1

2

见这里:https ://unix.stackexchange.com/questions/66574/how-can-i-disable-ipv6-in-custom-built-embedded-setup

不幸的是,_sysctl(2)系统调用 API 已被弃用,因此您只能直接写入文件/proc/(这在 C 中很容易,只是有点奇怪的味道):

重要的部分似乎是将1(text, not int) 的文本值至少写入这两个文件中的第一个,并且可能同时写入:

/proc/sys/net/ipv6/conf/all/disable_ipv6
/proc/sys/net/ipv6/conf/default/disable_ipv6

至于 IPv4,我不太清楚。在保持 IPv6 运行的同时,您真的需要禁用 IPv4 吗?

于 2013-10-10T12:38:29.073 回答