- 论坛徽章:
- 0
|
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)中。下面马上会详细讨论这些规则以及如何建立这些规则并将它们分组在链中。
-F :清除所有的已订定的规则;
-X :杀掉所有使用者建立的表(table)。
-Z :将所有的链(chain) 的计数与流量统计都归零。
(2)建立政策
#ip6tables [-t tables] [-P] [INPUT,OUTPUT,FORWARD, PREROUTING,OUTPUT,POSTROUTING] [ACCEPT,DROP] [-p
TCP
,
UDP
] [-s IP/network] [--sport ports] [-d IP/network] [--dport ports] -j
参数说明:
-t :定义表( table)。
tables :table表的名称,
-P :定义政策( Policy )。
INPUT :数据包为输入主机的方向;
OUTPUT :数据包为输出主机的方向;
FORWARD :数据包为不进入主机而向外再传输出去的方向;
PREROUTING :在进入路由之前进行的工作;
OUTPUT :数据包为输出主机的方向;
POSTROUTING :在进入路由之后进行的工作。
TCP
:
TCP
协议
的数据包。
UDP
:
UDP
协议
的数据包;
-s :来源数据包的 IP 或者是网络。
--sport :来源数据包的端口( port)号。
-d :目标主机的 IP 或者是网络。
--dport :目标主机端口的(port)号。
ACCEPT :接受该数据包。
DROP :丢弃数据包。
(3) 范例:
1、允许ICMPv6数据包进入主机(即允许Ping主机Ipv6地址):
#/sbin/ip6tables -A INPUT -i sit+ -p icmpv6 -j ACCEPT
2、允许ICMPv6数据包从主机输出:
# ip6tables -A OUTPUT -o sit+ -p icmpv6 -j ACCEPT
3、允许使用IP地址是3ffe:ffff:100::1/128数据使用SSH
# ip6tables -A INPUT -i sit+ -p tcp -s 3ffe:ffff:100::1/128 --sport 512:65535
? --dport 22 -j ACCEPT
SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间服务器”这种攻击方式就不可能实现了,而且也能够防止
DNS
和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个
安全
的“通道”。SSH绑定在端口22上,其连接采用协商方式使用RSA加密。身份鉴别完成之后,后面的所有流量都使用IDEA进行加密。SSH(Secure Shell)程序可以通过网络登录到远程主机并执行命令。SSH的加密隧道保护的只是中间传输的
安全
性,使得任何通常的嗅探工具软件无法获取发送的内容。
IPv6
网络的
安全
工具
Nmap是在免费软件基金会的GNU General Public License (GPL)下发布的,由Fyodor进行开发和维护,可从www.insecure.org/nmap 站点上免费下载。nmap是一款运行在单一主机和大型网络情况下的优秀端口扫描工具,具有高速、秘密、可以绕过防火墙等特点。它支持多种
协议
,如
TCP
、
UDP
、ICMP等。nmap也具有很多高性能和可靠性的特点,如动态延时计算、包超时重发、并行端口扫描、通过并行ping6探测主机是否当掉。它从3.10版本开始支持
IPv6
。下载链接:http://gd.tuwien.ac.at/infosys/security/nmap/nmap-3.48.tgz
nmap 安装编译过程如下:
#tar zxvf nmap-3.48.tgz
#cd nmap-3.48
# ./configure;# make;#make install
语法相当简单:nmap的不同选项和-s标志组成了不同的扫描类型,Ipv6版本的nmap支持两种扫描方式:
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35801/showart_343203.html |
|