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已配置成功。
Linux设置isatap隧道配置IPv6
Linux 设置如下: ip tunnel add sit1 mode sit remote 192.168.253.49 local a.b.c.d ifconfig sit1 up ifconfig sit1 add 2001:da8:2004:2301:0:5efe:a.b.c.d route -A inet6 add ::/0 fe80::5efe:192.168.253.49 注意: 上面的 a.b.c.d 请使用你的真实IPv4地址代替
配置好之后 ifconfig后应该看到一个2001:da8:2004:2301 为前缀的v6地址,hostid为5efe:a.b.c.d,其中a.b.c.d为你的真实的IPV4地址。
以下补充内容:
Debian
vi /etc/network/interfaces # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface # automatically added when upgrading auto lo iface lo inet loopback auto eth0 iface eth0 inet6 static address 2001:da8:2:10d::2 netmask 64 up route -A inet6 add default gw 2001:da8:2:10d::1 dev $IFACE iface eth0 inet static address 58.1.4.74 netmask 255.255.255.0 up route add default gw 58.1.4.1 dev $IFACE
Redhat CentOS Fedora
[root@server4 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet DEVICE=eth0 BOOTPROTO=none HWADDR= 00:09 :3D:22:E1:40 IPADDR=202.120.1.1 NETMASK=255.255.255.240 ONBOOT=yes GATEWAY=202.120.1.254 TYPE=Ethernet USERCTL=no IPV6INIT=yes PEERDNS=yes IPV6ADDR=2001:da8:8003:801:202:120:1:1
静态默认网关设置
[root@server4 ~]# vi /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=server4 GATEWAY=202.120.1.254 IPV6_DEFAULTGW=2001:da8:8003:801::1%eth0
=============================================================
本本上Fedora 6的IPv6地址突然不见了,使用ifconfig怎么配也配不上.
#ifconfig eth0 inet6 add fe80::32ff:2abe:fe63:3eba/64 --无法加载 #ifconfig eth0 inet6 add 3ffe::1/64 --无法加载 使用lsmod,ipv6模块也被加载了,怎么回事情不知道.
后来,使用ip -6命令可以把ipv6地址加载上,包括Scope Link和Scope Global地址.
使用以下命令:
# /sbin/ip -6 addr add <ipv6address>/<prefixlength> dev <interface>
以下是全文:比较有用.
使用 "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
其原理同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
这个不常用, 不要用它移除不存在的地址, 一些早期的核心会因为受不了而挂掉.
使用 "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
|