0

我正在编写一些代码来返回我的 IPv6 配置的状态。是否有我可以调用的 linux 系统脚本(或 C/C++ 函数)来返回我的 IPv6 的状态。例如,自动、手动或 DHCPv6 之类的东西将是 3 种可能的状态。必须有一些标志来确定这一点。我一直在看

ip -f inet6 addr show eth0 scope global | grep inet6

尽管范围表示动态,但这是可能响应更改 ipv6 conf 的标志而更改。它输出

inet6 <ipv6 addr> scope global deprecated dynamic

谢谢。

4

1 回答 1

1

如果您的目标是确定接口是手动配置、使用自动配置还是使用 DHCP……您将无法从接口获取该信息。通常,接口不知道它是如何配置的;该信息被编码在系统的网络配置中。

例如,使用 DHCP 的系统从 DHCP 服务器获取租约,然后调用ifconfigip配置接口。这与手动配置接口没有区别

在 RedHat-ish 系统下,您可以查看/etc/sysconfig/network-scripts该信息。ifcfg-*包含一系列定义配置的 shell 变量的文件。例如,/etc/sysconfig/network-scripts/ifcfg-em1在我的系统上包含:

IPV6INIT=yes
IPV6_AUTOCONF=yes

在 Debian-ish 系统下,您可以在/etc/network/interfaces.

于 2012-04-26T13:42:49.177 回答