【问题标题】:Obtaining IPv6 configuration state获取 IPv6 配置状态
【发布时间】:2012-04-26 11:38:37
【问题描述】:

我正在编写一些代码来返回我的 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

谢谢。

【问题讨论】:

    标签: linux networking ipv6


    【解决方案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 中找到类似的信息。

    【讨论】:

    • /etc/sysconfig/network 在我的系统上无处可见。
    • 也许我的意思是 /etc/network/interfaces?那是三年前的事了。无论如何,Ubuntu 现在有一些关于 IPv6 的好文档可能更有用:wiki.ubuntu.com/IPv6
    猜你喜欢
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多