在Fedora系统上设置和取消IPv6地址使用的方法详解

一般命令行操作方法:

1、列出当前的IPv6地址
使用 "ip"
使用方法:

# /sbin/ip -6 addr show dev <interface>

例子:一个静态的主机地址


# /sbin/ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_ fast qlen 100

inet6 fe80::210:a4ff:fee3:9566/10 scope link
inet6 3ffe:ffff:0:f101::1/64 scope global
inet6 fec0:0:0:f101::1/64 scope site
自动设定的地址和它的存活时间:


# /sbin/ip -6 addr show dev eth0 
3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100

inet6 2002:d950:f5f8:f101:2e0:18ff:fe90:9205/64 scope global dynamic
  valid_lft 16sec preferred_lft 6sec
inet6 3ffe:400:100:f101:2e0:18ff:fe90:9205/64 scope global dynamic
  valid_lft 2591997sec preferred_lft 604797sec inet6 fe80::2e0:18ff:fe90:9205/10 scope link
使用 "ifconfig"
使用方法:


# /sbin/ifconfig <interface>

例子, 它只列出IPv6地址:


# /sbin/ifconfig eth0 |grep "inet6 addr:"

inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link
inet6 addr: 3ffe:ffff:0:f101::1/64 Scope:Global
inet6 addr: fec0:0:0:f101::1/64 Scope:Site
2、增加一个IPv6地址
其原理同IPv4的"IP ALIAS"(IP别名)相同

使用 "ip"
使用方法:


# /sbin/ip -6 addr add <ipv6address>/<prefixlength> dev <interface> 

例子:


# /sbin/ip -6 addr add 3ffe:ffff:0:f101::1/64 dev eth0 

使用 "ifconfig"
使用方法:


# /sbin/ifconfig <interface> inet6 add <ipv6address>/<prefixlength>

例子:


# /sbin/ifconfig eth0 inet6 add 3ffe:ffff:0:f101::1/64

3、移除IPv6地址
这个不常用, 不要用它移除不存在的地址,一些早期的核心会因为受不了而挂掉。

使用 "ip"
使用方法:


# /sbin/ip -6 addr del <ipv6address>/<prefixlength> dev <interface> 

例子:


# /sbin/ip -6 addr del 3ffe:ffff:0:f101::1/64 dev eth0 

使用 "ifconfig"
使用方法:


# /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>

例子:


# /sbin/ifconfig eth0 inet6 del 3ffe:ffff:0:f101::1/64

下面再来介绍简单的文件修改方法,适用于GUI下的操作:

模块加载:
/etc/module.conf中增加下列行:

alias net-pf-10 ipv6

配置ipv6:
/etc/sysconfig/network中增加下列行:
[/code]NETWORKING_IPV6=yes

其它选项(摘自linux下/etc/sysconfig/network-scripts/init.ipv6-global脚本):
# Uses following information from /etc/sysconfig/network:
# NETWORKING_IPV6=yes|no: controls global IPv6 initialization (default: no)
# IPV6FORWARDING=yes|no: controls global IPv6 forwarding (default: no)
# IPV6_AUTOCONF=yes|no: controls global automatic IPv6 configuration
# (default: yes if IPV6FORWARDING=no, no if IPV6FORWARDING=yes)
# IPV6_AUTOTUNNEL=yes|no: controls automatic IPv6 tunneling (default: no)
# IPV6_DEFAULTGW= [optional]
# IPV6_DEFAULTDEV= [optional]
配置静态ipv6地址:
/etc/sysconfig/network-scripts/ifcfg-eth* 中增加下列行:
[code]IPV6INIT=yes
IPV6ADDR=2002::2002/48(你的ipv6地址)

运行/etc/init.d/network restart检验你的工作成果。
显示结果中有如下行:
inet6 addr: 2002::2002/48 Scope:Global