服务器 频道

为主流服务器操作系统配置Ipv6(上)

二、在 Linux操作系统下IPv6配置:

    (1)加载ipv6模块

    Linux在内核版本2.2.0以后就支持IPv6了,可查看命令test -f /proc/net/if_inet6&&‘running ipv6’文件是否存在以确定你的系统是否支持IPv6
如果没有,可尝试如下命令加载IPv6模组:
# modprobe ipv6
使用命令,见图1:
Lsmod | grep -i ‘ipv6’
 

图1 查看内核是否加载ipv6模块


    如果出现图1界面表示内核加载ipv6模块。成功加载后就可以使用IPv6环境了。Lsmod指令,会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。

    (2)常用IPv6相关的命令:

  • 添加固定IPv6地址:
    # /sbin/ifconfig eth0 inet6 add 3ffe:ffff:0:f101::2/64    /* */
  • 显示现有路由表:
    #/sbin/ip -6 route show dev eth0
  • 添加路由:
    # route -A inet6 add 2000::/3 gw 3ffe:ffff:0:f101::1 /* */
  • ICMP探测:
    ping6 用来测试简单传输发送 ICMPv6 响应请求并等待ICMPv6 响应包,  ping6必需有适当的root权限才能使用。使用Ping命令检测网卡的IPv6地址是否有效,和IPv4不一样使用Ping6命令时必须指定一个网卡界面,否则系统经不知道将数据包发送到那个网络设备,I表示Interface、eth0 是第一个网卡、c表示回路,7表示Ping6操作七次。
    # ping6 -I eth0 -c 7 fe80::2e0:18ff:fe90:9205
  • traceroute6通过向目标发送不同IP生存时间(TTL)值的会应的数据报,确定目标所采用的路由。
    #traceroute6 fe80::2e0:18ff:fe90:9205
  • racepath6用来追踪最大传输单元(MTU)的路径:
    #tracepath6 fe80::2e0:18ff:fe90:9205

    (3)让系统自动加载ipv6模块(redhat linux)

    修改 /etc/sysconfig/network文件,加入下列配置文本
NETWORKING_IPV6=yes
然后,运行命令 service network restart
用命令ifconfig –eth0查看ipv6地址信息:
 

图2查看ipv6地址


    注意图中第四行处显示IPv6地址(inet6 addr:fe80::20c:29ff:feb3:9726/64)证明IPv6已经加载。也可以在配置文件:
/etc/modules.conf中加入一行:
alias net?pf?10 ipv6 # automatically load IPv6 module on demand
可以在图形界面下运行命令:“redhat-config-network”在“为此界面启用ipv6配置”打勾。
 

图3 图形界面下让系统自动加载ipv6模块


    其他Linux发行版本:首先确认linux内核已编译进了ipv6选项,如果ipv6协议作为模块方式编译,可运行modprobe ipv6装入协议栈,并根据需要安装iproute软件包。可阅读Linux IPv6 HOWTO和相关产品文档获得更详细的信息。

    (4)使用ipv6地址访问Apache web服务器

    Apache服务器2.0系列在所有能够由Apache Portable Runtime库提供IPv6支持的系统上, Apache默认获得IPv6侦听套接字。访问Apache服务器时应当使用如下格式:http://[ipv6 -address]:port/ 结果见图4(只要浏览器也要支持ipv6)。
 

图4 使用ipv6地址访问web服务器


    另外再配置虚拟主机时IPv6的地址必须放入方括号中指定,否则作为可选项的端口号将无法确定。一个IPv6的示例如下:
<VirtualHost [fe80::a00:20ff:fea7:ccea]>
ServerAdmin webmaster@host.foo.com
DocumentRoot /www/docs/host.foo.com
ServerName host.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
</VirtualHost>

    每个虚拟主机必须对应不同的IP地址、端口号或是不同的主机名。在第一种情况下,服务器所在物理机器必须配置为可以为多个地址接受IP包。(在机器没有多个网络硬件界面的情况下,如果您的操作系统支持,您可以使用ifconfig alias命令来达到这个目的)。

0
相关文章