路由参考实验二.docx
《路由参考实验二.docx》由会员分享,可在线阅读,更多相关《路由参考实验二.docx(19页珍藏版)》请在冰豆网上搜索。
![路由参考实验二.docx](https://file1.bdocx.com/fileroot1/2023-6/17/08f80c15-6e28-4445-ab77-6d5f971bbf49/08f80c15-6e28-4445-ab77-6d5f971bbf491.gif)
路由参考实验二
参考实验二NAT的Inside转换
实验目的
学会使用配置NAT转换。
实验设备
1)DCR1720两台
2)MR-WIC-1T模块两块
3)CR-V35MT一根
4)CR-V35FC一根
5)PC两台
6)交叉双绞线两根
实验要求
配置NAT,使得局域网内的非法的IP地址转换为有效的IP地址访问对端的有效IP地址。
广域网的协议用PPP。
实验环境
实验步骤
1)根据拓扑图进行配置,广域网协议使用PPP。
2)在Router2上配置NAT转换,把Router2相连的局域网地址作为内部地址转换成外部地址:
10.1.1.2访问外部。
3)验证配置。
配置步骤
1、Router1的配置步骤
Router>enable
Router#config
Router_config#interfacefastethernet0/0
Router_config_f0/0#ipaddress100.1.1.1255.255.255.0
Router_config_f0/0#interfaceserial1/1
Router_config_s1/1#ipaddress10.1.1.1255.255.255.0
Router_config_s1/1#encapsulationppp
2、Router2的配置步骤(在此路由器上做NAT转换)
Router>enable
Router#config
Router_config#interfacefastethernet0/0
Router_config_f0/0#ipaddress200.1.1.1255.255.255.0
Router_config_f0/0#ipnatinside
Router_config_f0/0#interfaceserial1/0
Router_config_s1/0#ipaddress10.1.1.2255.255.255.0
Router_config_s1/0#encapsulationppp
Router_config_s1/0#ipnatoutside
Router_config_s1/0#exit
Router_config#ipaccess-liststandardlist2
Router_config_std_nacl#permitany
Router_config_std_nacl#exit
Router_config#ipnatinsidesourcelistlist2interfaceSerial1/0
思考题
1.NAT解决的问题?
2.NAT通常的应用,及其实现原理?
验证配置
从Router2上连接的局域网中的一台PC机ping外面的地址:
10.1.1.1和100.1.1.2可以ping通,而从100.1.1.2ping不通200.1.1.2。
同时可以通过debugipnatdetail来察看地址转换的过程。
相关配置命令详解
1.clearipnattranslation
为了从翻译表项中清除动态网络地址翻译(NAT),使用clearipnattranslation执行命令。
clearipnattranslation{*|[insidelocal-ipglobal-ip][outsidelocal-ipglobal-ip]}
clearipnattranslation{tcp|udp}insidelocal-iplocal-portglobal-ipglobal-port[outsidelocal-ipglobal-ip]
参数:
*
清除所有的动态翻译条目
Inside
清除包含指定全局IP地址和本地IP地址的内部翻译。
global-ip
指定全局IP地址
local-ip
指定本地IP地址
outside
清除包含指定全局IP地址和本地IP地址的外部翻译。
tcp|udp
协议
global-port
指定相应协议的全局端口。
local-port
指定相应协议的本地端口。
命令模式:
管理态
使用说明:
使用本命令可以在动态翻译条目超时之前清除他们
示例:
下面的例子先显示NAT翻译条目,然后将UDP翻译条目清除:
Router#showipnattranslation
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
udp171.69.233.209:
1220192.168.1.95:
1220171.69.2.132:
53171.69.2.132:
53
tcp171.69.233.209:
11012192.168.1.89:
11012171.69.1.220:
23171.69.1.220:
23
tcp171.69.233.209:
1067192.168.1.95:
1067171.69.1.161:
23171.69.1.161:
23
Router#clearipnattranslationudpinside171.69.233.2091220192.168.1.951220
171.69.2.13253171.69.2.13253
Router#showipnattranslation
ProInsideglobal Insidelocal Outsidelocal Outsideglobal
tcp171.69.233.209:
11012192.168.1.89:
11012171.69.1.220:
23 171.69.1.220:
23
tcp171.69.233.209:
1067192.168.1.95:
1067171.69.1.161:
23 171.69.1.161:
23
2.debugipnatdetial
为了调试网络地址翻译(NAT),使用debugipnatdetial执行命令。
debugipnatdetial
nodebugipnatdetial
参数:
无
命令模式:
管理态
使用说明:
使用本命令可以输出翻译过程中的细节,包括报文的源、目的IP地址,协议、端口号,以及没有成功的翻译的原因等等。
示例:
Router#debugipnatdetail
Ethernet1/1recvICMPSrc194.4.4.89Dst10.10.10.102nolinkfound
Ethernet1/0sendTCPSrc194.4.4.102:
2000Dst192.2.2.1:
21nomatchedrule
表描述了显示中的域。
域
描述
Ethernet0/0
接口的类型、号。
send/recv
发送/接收。
ICMP/TCP/UDP
ICMP/TCP/UDP协议
Src194.4.4.102:
2000
源IP地址和端口号。
Dst192.2.2.1:
21
目的IP地址和端口号。
nolinkfound 没有匹配到NAT连接。
nomatchedrule 没有匹配到NAT规则。
第1条:
从Ethernet1/1接口接收到的ICMP报文(源地址是194.4.4.89,目的地址是10.10.10.102;ICMP),没有找到相应的NAT连接(已经找到匹配的NAT规则)。
第2条:
从Ethernet1/0接口发送出去的TCP报文(源地址是194.4.4.102,目的地址是192.2.2.1;源端口是2000,目的端口是21),没有找到匹配的NAT规则。
3.ipnat
使用IPNAT接口配置命令来指定来自接口的或发往接口的通信量服从NAT(网络地址翻译)。
如果想禁止接口的翻译功能,使用这个命令的NO形式。
ipnat{inside|outside}
noipnat{inside|outside}
参数:
inside
表明接口连接到内部网络(网络服从NAT翻译)
outside
表明接口连接到外部网络(网络服从NAT翻译)
缺省:
离开或到达这个接口的通信量不服从NAT。
命令模式:
接口配置态
使用说明:
只有那些在“内部”和“外部”接口之间传送的报文才可以被翻译。
必须为每个想使用NAT的边界路由器至少指定一个内部接口和一个外部接口。
示例:
下面的例子把来自192.168.1.0或192.168.2.0网络编址的内部主机间进行通信的IP地址翻译为171.69.233.208/28网络中全局唯一的IP地址。
ipnatpoolnet-208171.69.233.208171.69.233.223255.255.255.240
ipnatinsidesourcelista1poolnet-208
!
interfaceethernet0
ipaddress171.69.232.182255.255.255.240
ipnatoutside
!
interfaceethernet1
ipaddress192.168.1.94255.255.255.0
ipnatinside
!
ipaccess-liststandarda1
permit192.168.1.0255.255.255.0
.permit192.168.2.0255.255.255.0
!
4.ipnatinsidedestination
用ipnatinsidedestination全局配置命令,开启内部目的地址的NAT用这个命令的NO形式,删除和地址池的动态关联。
ipnatinsidedestinationlistaccess-list-namepoolname
noipnatinsidedestinationlistaccess-list-name
参数:
listname
标准IP访问列表的名字。
用来自被指定的池中的全局地址对带有目的地址的报文进行翻译,这些包用来发送访问列表。
poolname
地址池的名字,在动态翻译的过程中,从这个池中分配内部本地的IP地址。
缺省:
内部目的地址不被翻译
命令模式:
全局配置态
使用说明:
这个命令用访问列表的格式来建立动态地址翻译。
来自和标准访问列表相匹配的地址的报文,将用指定的地址池中分配的全局地址来进行地址翻译,这个地址池是用ipnatpool命令所指定的。
示例:
下面的例子把发往171.69.233.208网络通信的报文翻译为目的地址位于192.168.2.208网段的内部主机地址。
ipnatpoolnet-208192.168.2.208192.168.2.223255.255.255.240
ipnatinsidedestinationlista1poolnet-208
!
interfaceethernet0
ipaddress171.69.232.182255.255.255.240
ipnatoutside
!
interfaceethernet1
ipaddress192.168.1.94255.255.255.0
ipnatinside
!
ipaccess-liststandara1
permit171.69.233.208255.255.255.240
!
5.ipnatinsidesource
使用ipnatinsidesource全局配置命令,开启内部源地址的NAT。
用这个命令的NO形式可以删除静态翻译或删除和池的动态关联。
ipnatinsidesource{listaccess-list-namepoolname[overload]|staticlocal-ipglobal-ip}
noipnatinsidesource{listaccess-list-namepoolname[overload]|staticlocal-ipglobal-ip}
参数:
Listaccess-list-name
标准IP访问列表的名字。
源地址符合访问列表的报文将被用地址池中的全局地址来翻译。
poolname
地址池的名字,从这个池中动态地分配全局IP地址。
overload
(可选)使路由器对多个本地地址使用一个全局的地址。
当OVERLOAD被设置后,同一个内部主机的多个会话将用TCP或UDP端口号来区分。
staticlocal-ip
建立一条独立的静态地址翻译;这个参数为内部网上的主机建立一个被分配给的本地IP地址。
这个地址可以自由的选择,或从RFC1918中分配。
global-ip
建立一条独立的静态地址翻译;这个参数为内部主机建立一个外部的网络可以唯一访问的IP地址。
缺省:
任何内部源地址的NAT都不存在
命令模式:
全局配置态
使用说明:
这个命令有两种形式:
动态的和静态的地址翻译。
带有访问列表的格式建立动态翻译。
来自和标准访问列表相匹配的地址的报文,将用指定的池中分配的全局地址来进行地址翻译,这个池是用ipnatpool命令所指定的。
可以作为替代方法,带有关键字STATIC的语法格式创建一条独立的静态地址翻译。
示例:
下面的例子把来自192.168.1.0或192.168.2.0网络的内部主机间进行通信的IP地址翻译为171.69.233.208/28网络中全局唯一的IP地址。
ipnatpoolnet-208171.69.233.208171.69.233.223255.255.255.240
ipnatinsidesourcelista1poolnet-208
!
interfaceethernet0
ipaddress171.69.232.182255.255.255.240
ipnatoutside
!
interfaceethernet1
ipaddress192.168.1.94255.255.255.0
ipnatinside
!
ipaccess-liststandarda1
permit192.168.1.0255.255.255.0
permit192.168.2.0255.255.255.0
!
6.ipnatoutsidesource
使用ipnatoutsidesource全局配置命令,开启外部源地址的NAT。
用这个命令的NO形式,可以删除静态条目或动态关联。
ipnatoutsidesource{listaccess-list-name poolname|staticglobal-iplocal-ip}
noipnatoutsidesource{listaccess-list-namepoolname|staticglobal-iplocal-ip}
参数:
Listaccess-list-name
标准IP访问列表的名字。
目的地址符合访问列表的报文将被用地址池中的全局地址来翻译。
。
poolname
池的名字,从这个池重动态地分配全局IP地址。
Staticglobal-ip
建立一条独立的静态地址翻译;这个参数为外部网络上的主机建立一个它所拥有的本地IP地址。
这个地址可以从全局可路由的网络地址空间中分配。
local-ip
建立一条独立的静态地址翻译;这个参数为内部主机建立一个内部网络可以唯一访问的外部主机的本地IP地址。
这个地址可以从内部网络可路由的地址空间中分配。
(多遵从RFC1918)
缺省:
不存在来自外部网络的源地址到内部网络地址的翻译
命令模式:
全局配置态
使用说明:
可能你用了不是合法的、正式分配得到的IP地址。
可能你选择了已经被正式分配给其他网络的IP地址。
这种IP地址既被合法的使用了(外部网)又被非法的使用着(内部网络)的情况叫做“地址重叠”(overlapping)。
你可以用NAT来翻译和外部地址重叠的内部地址。
如果你的单连接网络中的IP地址碰巧和分配给其他网络的合法IP地址相同,并且你需要和这些主机或路由器通信,那么你可以用这个功能。
这个命令有两种形式:
动态的和静态的地址翻译。
带有访问列表的格式建立动态地址翻译。
来自和标准访问列表相匹配的地址的报文,将用指定的地址池中分配的本地地址来进行地址翻译,这个地址池是用ipnatpool命令所指定的。
作为可以替代的方法,带有关键字STATIC的语法格式创建一条单独的静态翻译。
示例:
下面的例子把来自9.114.11.0网络的内部主机间进行通信的IP地址翻译为171.69.233.208/28网络中全局唯一的IP地址。
更进一步地,来自9.114.11.0网络(真实存在的9.114.11.0网络)编址的外部主机的报文,被翻译为以来自10.0.1.0/24网络的面目出现。
ipnatpoolnet-208171.69.233.208171.69.233.223255.255.255.240
ipnatpoolnet-1010.0.1.010.0.1.255255.255.255.0
ipnatinsidesourcelista1poolnet-208
ipnatoutsidesourcelista1poolnet-10
!
interfaceethernet0
ipaddress171.69.232.182255.255.255.240
ipnatoutside
!
interfaceethernet1
ipaddress9.114.11.39255.255.255.0
ipnatinside
!
ipaccess-liststandarda1
permit9.114.11.0255.255.255.0
!
7.ipnatpool
用ipnatpool全局配置命令,定义一个用于NAT的IP地址池。
用这个命令的NO形式,可以从IP地址池中删除一个或多个地址。
ipnatpoolnamestart-ipend-ipnetmask
noipnatpoolnamestart-ipend-ipnetmask
参数:
name
池的名字
start-ip
定义IP地址池的范围:
起始地址。
end-ip
定义IP地址池的范围:
结束地址。
netmask
子网掩码。
子网掩码表明地址中的那些位是属于网络和子网部分,而哪些位属于主机部分。
指定IP池中地址所属的网络的子网掩码。
缺省:
没有定义IP池
命令模式:
全局配置态
使用说明:
这个命令用起始地址,结束地址以及子网掩码来定义一个地址池。
所定义的池可以是一个内部全局池,或一个外部本地池。
示例:
下面的例子把来自192.168.1.0或192.168.2.0网络的内部主机间进行通信的IP地址翻译为171.69.233.208/28网络中全局唯一的IP地址。
ipnatpoolnet-208171.69.233.208171.69.233.223255.255.255.240
ipnatinsidesourcelista1poolnet-208
!
interfaceethernet0
ipaddress171.69.232.182255.255.255.240
ipnatoutside
!
interfaceethernet1
ipaddress192.168.1.94255.255.255.0
ipnatinside
!
ipaccess-liststandarda1
permit192.168.1.0255.255.255.0
permit192.168.2.0255.255.255.0
8.ipnattranslation
用ipnattranslation全局配置命令,来改变NAT翻译超时的时间值。
用这个命令的NO形式,可以关闭超时。
ipnattranslation{timeout|udp-timeout|dns-timeout|tcp-timeout|finrst-timeout}seconds
noipnattranslation{timeout|udp-timeout|dns-timeout|tcp-timeout|finrst-timeout}
参数:
timeout
指定用于除OVERLOAD翻译之外的动态翻译的超时值。
缺省值是3600秒(1小时)
udp-timeout
指定用于UDP端口的超时值。
缺省值是300秒(5分钟)
dns-timeout
指定用于连到DNS的超时值。
缺省值是60秒。
tcp-timeout
指定用于TCP端口的超时值。
缺省值是3600秒(1小时)
finrst-timeout
指定用于FinishandResetTCP报文的超时值,这个值用于终止一个连接。
缺省值使60秒。
seconds
指定端口翻译的超时值。
缺省值是在缺省部分所罗列出来的值。
缺省:
timeoutis3600seconds(1hours)
udp-timeoutis300seconds(5minutes)
dns-timeoutis60seconds(1minute)
tcp-timeoutis3600seconds(1hours)
finrst-timeoutis60seconds(1minute)
命令模式:
全局配置态
使用说明:
当配置了端口翻译之后,因为每个翻译条目包含了有关正在使用它的通信量更多的上下文信息,因此可以对翻译条目进行更好的控制。
非域名系统(DNS)的UDP翻译在5分钟后超时,而域名系统的UDP翻译在1分钟后超时。
如果数据流中没有RST或FIN,TCP翻译在1个小时后超时;而在有RST或FIN的情况下,将在1分钟后超时。
示例:
下面的例子在10分钟之后使UDP端口翻译条目超时。
ipnattranslationudp-timeout600
9.showipnatstatistics
用showipnatstatistics命令,显示NAT统计表
showipnatstatistics
参数:
这个命令没有参数或关键字
命令模式:
管理态
示例:
下面是使用showipnatstatistics命令的例子的输出结果
Router#showipnatstatistics
Total