我是 Linux 编程新手,我想根据一些配置参数以编程方式禁用和启用 Linux 系统上的 IPv4。解决方案的伪代码如下:
if(is_ipv4_enabled)
{
// enable IPv4 and IPv6
}
else
{
// disable IPv4 and enable IPv6
}
因此,在两种情况下都将启用 IPv6,但唯一的操作是禁用/启用 IPv4。
任何帮助都将不胜感激。提前致谢!
答案1
您可以使用默认的 ip 工具删除已配置的 ipv4 地址。
就像是:
ip address delete ip.ad.dr.ess dev ethx
或者启用它:
ip address add ip.ad.dr.ess dev ethx
当然,您应该知道该地址是什么以及它被分配到哪个接口,但这留给 OP 做练习。
答案2
与您选择的操作系统兼容的网络配置方案集成。
理想情况下,需要有一个定义良好的 API 来执行禁用 IPv4 的任务。例如,NetworkManager 有很多方法来设置ipv4.方法禁用。有些甚至是用户友好的。
部署配置文件也是一种选择。这往往需要 root 权限。当模板化整个界面文件时,切换单个设置并不容易,但不能触及其他任何东西。