IPv6最终全面取待IPv6是不可逆的潮流。本文则讲一下在Linux下如何配置IPv6地址。当然本文假设你使用静态IP(不必是公共IPv6地址或公共IPv4地址,可以是私有IPv4地址)。本文不适用使用DHCP获取地址的情况。
首先,你要确保你使用的Linux的内核已经支持IPv6。当前比较新的Linux都已经内建IPv6了。
用root用户登录,运行:
# lsmod | grep ipv6
看看系统有没有已经加载了IPv6模块。如果没有,尝试用以下命令加载:
# /sbin/modprobe ipv6
第二,你需要有你的静态IP地址。
IPv4地址如何转成IPv6地址呢?如果你的IP是一个IPv4地址,那么可以换算得到IPv6的地址形式。比较简单的作法可以去到 http://grox.net/utils/ipv6.php。在左边的下拉列表中选择: IPv4 to 6to4 Address,在右边的编辑框中填上你的IPv4地址。点击: Calculate 则得到了你的IPv4地址的IPv6转化格式。
配置IPv6地址
一般的Linux发行版用 /etc/network/interfaces 文件配置网卡。如果没有这个文件,那么请注意 /etc/network 目录下其它文件或者目录。
假如要配置的Linux的静态IPv4地址是 192.168.1.10,这个IPv4地址转换成对应的IPv6地址则是 2002:c0a8:10a:: 。再提醒一下,上文提到过如何把IPv4地址转成IPv6地址。
网关的IPv4地址是 192.168.1.1,这个IPv4地址转成对应的IPv6的地址是:2002:c0a8:0101:: 。
那么 /etc/network/interfaces 文件应该配置成如下:
#IPV6 static configuration(我是注释)
iface eth0 inet6 static
pre-up modprobe ipv6
address 2002:c0a8:10a::
netmask 64
gateway 2002:c0a8:0101::
注意 "pre-up" 命令。这一行保证系统在启动的时候加载支持ipv6的模块。
最后重新启发动网络,如下:
# /etc/init.d/networking restart
你现在可以使用你的IPv6地址了。
测试IPv6地址:
检测路由:
# ip -6 route show
如果IPv6工作正常的话,应该会有如下的提示。
2002:c0a8:0100/64 dev eth0 proto kernel scope link src 2002:c0a8:10a
你也可以用IPv6版本的ping工具测试。首先想到的最好的IPv6地址当然是google的,使用如下命令:
ping6 ipv6.google.com
如果ipv6不工作,你会得到错误信息:Network is unreachable
If IPv6 is working you will see the standard ping results in your terminal window.
如果IPv6工作正常,那么你可以看到标准的ping命令的输出。
后记:IPv6是下一代互联网的工业标准。如果你是一位IP从业人员,即时跟进IPv6技术是必须的。如果只是普通的民众,则可以不必理会,大多数情况下你感觉不到IPv6和IPv4的区别,你就平滑过渡到IPv6的时代了。
copyright ykyi.net