IPv6(Internet Protocol Version 6)协议是取代IPv4的下一代网络协议,它具有许多新的特性与功能。由IP地址危机产生和发展起来的IPv6作为下一代互联网协议已经得到了各方的公认,未来互联网的发展离不开IPv6的支持和应用。Ipv6协议和Ipv4协议不论在结构上还是系统工具的使用上都不大相同。Linux是所有操作系统中最先支持IPv6的,这里介绍一下Linux下的IPv6的地址、路由设定、防火墙配置、安全工具,使大家可以在Linux网络环境下从IPv4快速过渡到IPv6。
配置Ipv6协议
下面笔者以Mandrake 9.1 Linux为例部署Linux下的IPv6。
1、加载IPv6模块
和Windows系统相比Linux对Ipv6的支持更好,一般基于2.4内核的Linux发行版本都可以直接使用Ipv6,使用前要看系统IPv6模块是否被加载,如果没有的话可以使用命令手工加载,这需要超级用户的权限。然后使用命令检测,图1中第五行处显示IPv6地址(inet6 addr:fe80::200:e8ff:fea0:2586/64)证明IPv6已经加载。
# modprobe IPv6
#ifconfig -a
显示如下内容:
图1 显示IPv6地址已经加载
2、使用Ping命令检测网卡的IPv6地址是否有效
和IPv4不一样使用Ping6命令时必须指定一个网卡界面,否则系统将不知道将数据包发送到那个网络设备,I表示Interface、eth0 是第一个网卡、c表示回路,3表示Ping6操作三次。结果见图2:
#ping6 -I eth0 -c 1 fe80::200:e8ff:fea0:2586
3、使用IP命令
IP命令是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。如:ifconfig、route等。
(1)使用"ip"命令查看IPv6的路由表:
#/sbin/ip -6 route show dev eth0
(2)使用"IP"命令添加一个路由表:
#/sbin/route -A inet6 add 2000::/3 gw 3ffe:ffff:0:f101::1
(3)用IP命令设定IPv6的多点传播Neighbor Solicitation
IPv6的Neighbor Discovery继承了IPv4的ARP(Address Resolution Protocol地址解析协议),可以重新得到网络邻居的信息,并且可以编辑/删除它.使用IP命令可以知道网络邻居的设定(其中,00:01:24:45:67:89是网络设备的数据链路层的 MAC地址):
#ip -6 neigh show fe80::201:23ff:fe45:6789 dev eth0 ll addr 00:01:24:45:67:89
router nud reachable
Linux Ipv6版本网络环境的防火墙
安装:
基于Linux2.4内核的防火墙的关键是iptables。在2.2系列的时候它取代了ipchains和2.0系列之前的ipfwadm。如果你想使用任何形式的防火墙都需要安装iptables。
(1)下载Ipv6版本的iptables,下载链接:ftp://ftp.uni-bayreuth.de/pub/linux/arklinux/1.0-0.alpha8.2/i586/iptables-ipv6-1.2.7a-1ark.i586.rpm
(2) 安装防火墙:
#rpm -ivh iptables-ipv6-1.2.7a-1ark.i586.rpm
配置iptables
iptables 是与主流的 2.4.x 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器,则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。下面马上会详细讨论这些规则以及如何建立这些规则并将它们分组在链中。