无法使用 dhcp 获取 ipv6 地址

无法使用 dhcp 获取 ipv6 地址

我可以使用 dhcp 获取 ipv4 地址,但无法获取 ipv6 地址。

dhcp服务器也支持ipv6服务。
ifconfig eth0

eth0      Link encap:Ethernet  HWaddr: 00:21:85:d3:a3:36  
          inet addr:10.16.31.183  broadcast:10.16.31.255  netmask:255.255.255.0
          inet6 addr: fe80::221:85ff:fed3:a336/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

有关ipv6的其他配置:

$ cd /proc/sys/net/ipv6/conf/all
$ grep "" disable_ipv6 forwarding autoconf 
disable_ipv6:0
forwarding:1
autoconf:1

有没有什么办法可以解决这个问题呢?

答案1

从 ifconfig 的输出来看,该接口上似乎未启用 IPv6。

有两种方法可以自动获取网络上的 IPv6 地址:

  • 自动配置(常见,几乎所有 IPv6 兼容设备都支持)&
  • DHCPv6(较少见,Mac OS X 不支持,仅在 Natty 中得到简单支持,在 Natty 之前需要配置文件)

自动配置将自动从运行守护程序(例如 radvd)的网络上运行的路由器获取地址。我假设 autoconf=1 启用了它。但是,您无法在具有自动配置地址的接口上进行 IP 转发。因此 forwarding=1 可能会关闭通过自动配置获取地址的功能。

答案2

IPv6 地址不通过 DHCP 分配。但您可以安装 radvd,它可以分配 IPv6 地址,并在需要时处理路由。通过 radvd 安装后,apt-get install radvd您可以在以下位置找到示例配置文件/usr/share/doc/radvd/examples/

另请阅读/usr/share/doc/radvd/README.Debian

相关内容