计算机网络IPV6过渡.docx
《计算机网络IPV6过渡.docx》由会员分享,可在线阅读,更多相关《计算机网络IPV6过渡.docx(16页珍藏版)》请在冰豆网上搜索。
![计算机网络IPV6过渡.docx](https://file1.bdocx.com/fileroot1/2022-11/28/5ab19009-c4a9-4923-af5b-2c673cb4863c/5ab19009-c4a9-4923-af5b-2c673cb4863c1.gif)
计算机网络IPV6过渡
linux下NAT配置详解
Linux下NAT配置详解
一,配置前的准备:
1,Linux版本:
我的是(企业版,至于红帽9已经不能得到升级和技术支持,所以现在都用企业版。
):
[root@tpwb/]#uname-r
2.6.9-34.EL(版本内核)
2,IPTABLES版本:
[root@tpwb~]#iptables-v
iptablesv1.2.11:
nocommandspecified
Try`iptables-h'or'iptables--help'formoreinformation.
如果没有安装,安装一下,在次我不讲如何安装IPTABLS,
3,远程软件
SecureCRT5,去XX搜索一下多的事。
也可以从我网吧的网页下载。
4,命令术语的了解:
要用到的命令:
iptables,vi,route,cat,echo,reboot,ntsysv.
5,相关术语:
什么是NAT,及工作原理.linux下IPTABLES防火墙的基本了解,配置.
二,开始配置
配置NAT采用双网卡(也可用单网卡,但不推荐),如何配置网卡ip,看我的另一篇文章:
下面看一下我的网卡IP配置情况
[root@tpwbnetwork-scripts]# catifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=211.101.46.255
HWADDR=4C:
00:
10:
59:
6B:
20
IPADDR=211.101.46.251
NETMASK=255.255.255.0
NETWORK=211.101.46.0
ONBOOT=yes
TYPE=Ethernet
[root@tpwbnetwork-scripts]#catifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
HWADDR=4C:
00:
10:
10:
03:
55
我才用的是固定IP,
外网IP:
211.101.46.251
内网IP是:
192.168.1.1
在来看一下DNS和网关
[root@tpwb~]#cat/etc/resolv.conf
nameserver192.168.1.1 内网DNS地址
nameserver202.106.0.20 外网DNS地址
[root@tpwb/]#vi/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=tpwb
GATEWAY=211.101.46.1 你的网关(211.101.46.251的网关)
[root@tpwbsysconfig]#route
KernelIProutingtable
Destination Gateway Genmask FlagsMetricRef UseIface
211.101.46.0 * 255.255.255.0 U 0 0 0eth0
192.168.1.0 * 255.255.255.0 U 0 0 0eth1
169.254.0.0 * 255.255.0.0 U 0 0 0eth1
default 211.101.46.1 0.0.0.0 UG 0 0 0eth0
保证default是211.101.46.1
下面我们要确定一下DNS是否安装,为要DNS呢?
其实也可以不要,但这里有个问题,有人在设置DNS时,
设置成192.168.1.1IPTABLES配置没有问题,其他也没有问题,就是上不了网!
!
其实就是因为DNS配置成192.168.1.1了,你该成202.106.0.20就好了,就不能该成192.168.1.1了吗!
当然不是你只要安装DNS,并且把它开启就可以了!
!
!
也有人说要配置caching-onlydns,但经过我实验,不配置也可以!
[root@tpwb~]#servicenamedrestart
停止named:
启动named:
[ 确定 ]
好到现在前期准备工作差不多了!
我的是固定IP地址,所以输入
[root@tpwb~]#iptables-tnat-APOSTROUTING-s192.168.1.0/24-oeth0-jSNAT--to211.101.46.251
你对照着写就行了不同之处可能会在,eth0(外网接口)看是否和你一样,还有IP地址,私网IP(192.168.1.0/24)和公网IP地址(211.101.46.251)
工作原理我就不说了,自己去找资料看看吧!
!
现在在客户端配置好ip地址和网关,dns
如:
ip地址:
192.168.1.2
子网掩码:
255.255.255.0
网关:
192.168.1.1
DNS:
192.168.1.1
然后ping一下192.168.1.1看能否ping通.
在ping211.101.46.1看能否ping通不能对吧!
还要打开ip转发功能.
[root@tpwb~]#echo1>/proc/sys/net/ipv4/ip_forward
在ping一次,ok了
看看能不能上网,不能,还差一点!
就是IPTABLES设置
[root@tpwb~]#iptables-AOUTPUT-ptcp--dport53-jACCEPT
[root@tpwb~]#iptables-AOUTPUT-pudp--dport53-jACCEPT
允许DNS服务端口的tcp,udp数据包流出
在试一次,好了吧!
如果想让所有的配置重起后依然起作用呢,好继续
1,要把IPTABLES的配置保存.
[root@tpwb~]#/etc/rc.d/init.d/iptablessave
2, [root@tpwbrc.d]#vi/etc/rc.d/rc.local
#!
/bin/sh
#
#Thisscriptwillbeexecuted*after*alltheotherinitscripts.
#Youcanputyourowninitializationstuffinhereifyoudon't
#wanttodothefullSysVstyleinitstuff.
touch/var/lock/subsys/local
echo1>/proc/sys/net/ipv4/ip_forward 看这一行,是添加的!
~
~
保存,退出.
3,
[root@tpwb~]#ntsysv
ntsysv1.3.13.3-(C)2000-2001RedHat,Inc.
lqqqqqqqqqqqqu服务tqqqqqqqqqqqqk
x x
x您想自动启动哪些服务?
x
x x
x []FreeWnn # x
x []NetworkManager a x
x [*]acpid a x
x []amanda a x
x []amandaidx a x
x []amd a x
x []amidxtape a x
x [*]anacron a x
x x
x lqqqqqqk lqqqqqqk x
x x确定x x取消x x
x mqqqqqqj mqqqqqqj x
x x
x x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
按可获取关于某项服务的详情。
在named,iptables的[]里点空格见出现*号后,确定,表示开机自动加载!
重起
[root@tpwbrc.d]#reboot
Linux下IPv6配置
Linux在内核版本2.2.0以后就支持IPv6了,可查看/proc/net/if_inet6文件是否存在以确定你的系统是否支持IPv6,如果没有,可尝试如下命令加载IPv6模组:
#modprobeipv6
成功加载后就可以使用IPv6环境了
附:
常用IPv6相关的命令
#/sbin/ifconfigeth0inet6add3ffe:
ffff:
0:
f101:
:
2/64/*添加固定IPv6地址*/
#route-Ainet6add:
:
/0gw3ffe:
ffff:
0:
f101:
:
1/*添加路由*/
#ping6
如果你是从隧道接入,则进行下面步骤
/sbin/iptunneladdsit1modesitttl128remote202.112.26.253local211.80.xx.xx/*建立隧道*/
/sbin/iplinksetsit1up
/sbin/ip-6addradd2001:
250:
6000:
10:
:
15c/64devsit1/*设定你的v6的ip地址*/
/sbin/ip-6routeadd2000:
:
/3via2001:
250:
6000:
10:
:
15d/*设置路由转发到服务器端*/
更详细的命令请参考Linux-IPv6-HOWTO(中文)
同时请务必将DNS设置成202.194.15.180,以支持IPv6地址查询
Linux下移动IPv6实现指南系列之一
(1)
移动IP的概念
每个移动节点总是由其家乡地址识别,而于其当前接入Internet位置无关。
当离开家乡链路时,移动节点也与一个转交地址相关联,该转交地址包含了移动节点当前位置的信息。
寻址到移动节点家乡地址的IPv6报文分组经过其家乡代理(HA)被透明的路由到其转交地址。
该协议使IPv6节点能够缓存移动节点家乡地址和其转交地址的绑定,然后在直接发送目的为移动节点的所有报文分组到该转交地址。
为何使用移动IP?
若在IPv6中没有对移动性的特定支持,因为路由是根据报文分组目的IP地址中的子网前缀进行路由,则当移动节点离开其家乡链路(其家乡IPv6子网前缀使用的链路)时,发送给移动节点(主机或路由器)的报文分组不能够到达。
为保证移动情况下的持续通信,移动节点在每次移动到一个新链路时都能改变其IP地址,但移动节点在改变位置时就无法保持传输层和更高层的连接。
因为移动计算机在IPv6部署期间可能占Internet上通信设备的大多数或起码是可观比例,所以IPv6移动性支持尤为重要。
图1:
移动IP
1、移动节点(MN)到达外地网络并得到一个新转交地址。
2、MN执行与其家乡代理(HA)的绑定更新(新转交地址在HA那里注册)。
HA发送一条绑定确认给MN。
3、通信对端(CR)要联系MN。
HA截获目的是MN的报文分组。
4、然后HA使用MN的转交地址从CR通过隧道发送所有报文分组到MN。
5、当MN应答CR时,它可以使用其当前的转交地址(执行与CR的绑定)并与CR直接通信(优化路由)或者通过隧道经过HA传输所有报文分组。
解释如图1所示意。
IPv6
IP版本6(IPv6)是一个新版本的Internet协议,作为IP版本4(IPv4)[RFC-791]的后续版本而设计。
IPv6与IPv4相比主要有以下变化:
扩展的寻址功能
首部格式简化
对扩展与选项的改善支持
流标签功能
认证与保密功能
为充分理解MIPv6的工作原理,您应当对IPv6无状态自动配置有基本了解。
您可对RFC2462中的IPv6无状态地址自动配置进行研究。
通常需了解IPv6更多信息,请访问IPv6工作组(IETF)网站-见链接的资源部分。
Linux下的MIPv6实现
目前有两个可用的Linux下移动IPv6实现的版本。
英国的兰开夏大学有最早的实现(http:
//www.c8-ipv6.lancs.ac.uk/MobileIP/)所支持的最新内核版本为2.1.90,与IETF移动IPv6草案第五版(目前是第24版)相兼容。
代码与站点从1998开始就一直未更新,因此它被认为是过时的。
另外一个不断更新的实现由HUT(赫尔辛基技术大学)开发。
所支持的最新内核版本是2.6.8.1。
需要文档与软件请访问
给内核打补丁
HUTMIPv6需要内核补丁。
该实现对IPv6内核栈作了修改,因此需要重新编译内核。
实现软件包中有很好的安装过程帮助文档,但我会给出一个简要的指南。
请注意!
MN和HA不再需要两个不同的内核。
只需对一个内核进行编译以提供对MN与HA的支持。
不可能同时作为MN和HA运行;而是根据所加载的模块来进行选择。
从http:
//www.mobile-ipv6.org下载最新的LinuxMIPv6源代码。
目前最新发布的版本是:
mipv6-2.0-rc2-linux-2.6.8.1。
考虑到稳定性问题,我们使用mipv6-1.1-v2.4.26。
最后4个数字对应于应使用补丁的Linux内核版本。
#cd/usr/local/src
#wgethttp:
//www.mobile-ipv6.org
/download/mipv6-1.1-v2.4.26.tar.gz
#tarzxfvmipv6-1.1-v2.4.26.tar.gz
从ftp.kernel.org下载并解压对应的Linux内核版本:
#cd/usr/src
#wgetftp:
//ftp.kernel.org/pub
/linux/kernel/v2.4/linux-2.4.26.tar.bz2
#tarjxvflinux-2.4.26.tar.bz2
#ln-slinux-2.4.26linux
#cdlinux
应用MIPv6补丁:
#patch-p1--dry-run<
/usr/local/src/mipv6-1.1-v2.4.26
/mipv6-1.1-v2.4.26.patch
dry-run检查补丁能否正确应用。
若返回任何错误结果,则不应继续进行。
若一切正常,则
#patch-p1
/mipv6-1.0-v2.4.22/mipv6-1.1-v2.4.26.patch
删除源代码中残留的.o文件以及其它从属文件。
#makemrproper
现在开始对内核树进行配置。
运行makemenuconfig。
MIPv6选项在“NetworkingOptions”内。
以下选项应当出现。
CONFIG_EXPERIMENTAL=y
CONFIG_SYSCTL=y
CONFIG_PROC_FS=y
CONFIG_MODULES=y
CONFIG_NET=y
CONFIG_NETFILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IPV6=m
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_IPV6_TUNNEL=m
CONFIG_IPV6_MOBILITY=m
CONFIG_IPV6_MOBILITY_MN=m
CONFIG_IPV6_MOBILITY_HA=m
因为MIPL开发工作还在进行中,所以您可能设置:
CONFIG_IPV6_MOBILITY_DEBUG=y
使用调试信息,更易于发现问题所在。
调试信息也非常有助于报告bug。
为确保开启了所有正确选项,您可运行包含在MIPL中的一个小的shell脚本:
chkconf_kernel.sh
接下来您应当编译并安装内核。
提示:
为更容易的将该内核与其它内核相区分,您可以改变/usr/src/linux/Makefile中的"EXTRAVERSION"变量,比如"-MIPv6-1"。
#makedep
#makebzImage
#makeclean
#makemodules
#makemodules_install
//生成了/lib/modules/2.4.26
把bzImage复制到boot目录并在/boot下生成initrdimg文件:
#cp/usr/src/linux/arch/i386/boot/bzImage/boot
#cd/boot
#mkinitrdinitrd-2.4.26.img2.4.26
修改grub设置:
#vi/etc/grub.conf
添加以下几行:
titleRedHatLinux(test)
root(hd0,2)
kernel/boot/bzImageroroot=/dev/hda3
(根据实际情况)
initrd/boot/initrd-2.4.26.img
用户空间工具
用户空间工具mipdiag,配置文件和初始化脚本必须作为模块安装才能正确运行:
#cd/usr/local/src/mipv6-1.1-v2.4.26
#./configure
#make&&makeinstall
MIPv6设备节点
MIPv6模块也需要一个新的设备节点表项。
执行命令:
#mknod/dev/mipv6_devc0xf90
自动启动
RedHat:
所有初始化脚本都位于/etc/init.d/,它们符号链接到正确的运行级(/etc/rcX.d/),您可执行命令:
#chkconfig--addmobile-ip6
以使MIPv6随系统启动,或
#chkconfig--delmobile-ip6
使MIPv6不随系统启动。
Linux下IPV4和IPV6的互操作
作为向下一代互联网络协议过渡的重要步骤,国际的IPv6试验网--6bone在1996年成立了。
现在,6bone已经扩展到全球50多个国家和地区,成为IPv6研究者、开发者和实践者的主要平台。
CERNET国家网络中心于1998年6月加入6bone,同年11月成为其骨干网成员。
电子科大作为教育网的西南主节点,在得到Nokia的IPv6路由器之后,积极参与IPv6技术研究,我们先查阅研究了大多数与IPv6有关的RFC文档和相关技术资料,并且在此基础上进行了很多网络实验。
该文先简单阐述了IPV6的必要性和IPV4到IPV6升级转换的机制,然后详细阐明了在Linux操作系统下进行的IPv6网络实验及其结论,并附有相关参考文献书目。
一、使用IPv6的必要性
现在运行的因特网协议IPv4存在其固有的局限性,一是地址问题,IPv4的地址只有32位,这意味着总的地址数大约是40亿,并且还有许多地址是不可用的。
按照目前网络的发展趋势,到2005和2015年之间IPv4的地址就会耗尽,必须用另一种地址方案来替代它,二是IPv4