我正在编写一些代码来返回我的IPv6配置状态。是否有一个Linux系统脚本(或C / C ++函数),我可以调用它来返回我的IPv6状态。例如,Auto,Manual或DHCPv6之类的东西可能是3种状态。必须有一些标志来确定这一点。我一直在看
ip -f inet6 addr show eth0 scope global | grep inet6
虽然范围表示动态,但这是可能因更改ipv6 conf而改变的标志。它输出
inet6 <ipv6 addr> scope global deprecated dynamic
感谢。
答案 0 :(得分:1)
如果您的目标是确定界面是手动配置,使用自动配置还是使用DHCP ......您将无法从界面获取该信息。通常,接口不知道如何配置;该信息在您系统的网络配置中进行编码。
例如,使用DHCP的系统从DHCP服务器获取租约,然后调用ifconfig
或ip
来配置接口。这与手动配置界面无法区分。
在RedHat-ish系统下,您可以查看/etc/sysconfig/network-scripts
以获取该信息。 ifcfg-*
文件包含一系列定义配置的shell变量。例如,我系统上的/etc/sysconfig/network-scripts/ifcfg-em1
包含:
IPV6INIT=yes
IPV6_AUTOCONF=yes
在Debian-ish系统下,您可以在/etc/network/interfaces
中找到类似的信息。