满天星 发表于 2010-8-17 23:01:37

Linux下如何配置IPv6地址

Linux在内核版本2.2.0以后就支持IPv6了,可查看/proc/net/if_inet6文件是否存在以确定你的系统是否支持IPv6。

  如果没有,可尝试如下命令加载IPv6模组:
  # modprobe ipv6

  成功加载后就可以使用IPv6环境了,系统会自动获得IPv6地址。

  IPv6相关命令:

  # ifconfig eth0 inet6 add 2001:da8:2004:1000:202:116:160:41/64(手工添加配置固定IPv6地址)
  # route -A inet6 add default gw 2001:da8:2004:1000::1(添加默认路由)

  # ping6 ipv6.scau.edu.cn
  PING ipv6.scau.edu.cn(2001:da8:2004:1000:202:116:160:48) 56 data bytes
  64 bytes from 2001:da8:2004:1000:202:116:160:48: icmp_seq=0 ttl=64 time=0.020 ms
  64 bytes from 2001:da8:2004:1000:202:116:160:48: icmp_seq=1 ttl=64 time=0.019 ms
  64 bytes from 2001:da8:2004:1000:202:116:160:48: icmp_seq=2 ttl=64 time=0.014 ms

  看到这样的显示则表明IPv6已配置成功。

sure_2011 发表于 2011-10-27 11:38:38

我的环境: A 和B ,同一个局域网,A上安装radvd模拟IPV6的路由,最后看B上应该分配ipv6的地址。
1、A、B环境
128923-slot6:/proc/net # uname -a
Linux 128923-slot6 2.6.16.60-0.21-smp #1 SMP Tue May 6 12:41:02 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux

2、在A上安装radvd,并配置ip,
# ip a a 2002:9ba:b4e:6::1/64 dev eth2
# ip r a 2002:9ba:b4e:6::/64 dev eth2
128923-slot6:/proc/net # ifconfig eth2
eth2      Link encap:EthernetHWaddr 00:25:9E:36:29:F4
          inet addr:172.12.1.31Bcast:172.12.1.255Mask:255.255.255.0
          inet6 addr: 2002:9ba:b4e:6::1/64 Scope:Global
          inet6 addr: fe80::225:9eff:fe36:29f4/64 Scope:Link
修改/etc/radvd.conf

3、在A和B上都有if_inet6
128923-slot6:/proc/net # ll
-r--r--r-- 1 root root 0 Oct 28 03:07 if_inet6

结果:B上没有分配ipv6的地址,只有链路地址,如下图。我在B上抓包能够看到有接收到A的路由通告。不知道为什么没有生成ipv6的地址?难道需要在B上安装什么?
12892120-slot3:/proc/net # ifconfig eth2
eth2      Link encap:EthernetHWaddr 00:18:82:FA:2A:CC
          inet addr:172.12.1.23Bcast:172.12.1.255Mask:255.255.255.0
          inet6 addr: fe80::218:82ff:fefa:2acc/64 Scope:Link

满天星 发表于 2011-10-27 21:09:52

Linux上的RA地址自动配置貌似是需要开启才行吧,每一种发行版可能不一样!
比如centos安装时会提示配置ipv6相关参数,可以选择是ra方式获取地址还是dhcpv6方式获取地址。如果不配置的话可能没有开启,我对linux的使用也比较少,不确定你的系统是否开启相关进程,每一种linux的功能貌似都是通过相应的进程来执行的么!
页: [1]
查看完整版本: Linux下如何配置IPv6地址