地址转换的配置.docx
《地址转换的配置.docx》由会员分享,可在线阅读,更多相关《地址转换的配置.docx(13页珍藏版)》请在冰豆网上搜索。
![地址转换的配置.docx](https://file1.bdocx.com/fileroot1/2023-4/18/a0c23c14-12fa-445b-95b4-31fa5ed3e3a0/a0c23c14-12fa-445b-95b4-31fa5ed3e3a01.gif)
地址转换的配置
2.7 地址转换配置
2.7.1 地址转换简介
地址转换NAT(NetworkAddressTranslation)又称地址代理,它实现了私有网络访问外部网络的功能。
1.私有网络地址和公有网络地址
私有地址是指内部网络或主机地址,公有地址是指在因特网上全球唯一的IP地址。
因特网地址分配组织规定将下列的IP地址被保留用作私有地址:
● 10.0.0.0 ~ 10.255.255.255
● 172.16.0.0 ~ 172.31.255.255
● 192.168.0.0 ~ 192.168.255.255
也就是说,这三个范围内的地址不会在因特网上被分配,它们仅在一个单位或公司内部使用。
各企业根据在预见未来内部主机和网络的数量后,选择合适的内部网络地址。
不同企业的内部网络地址可以相同。
若一个公司选择上述三个范围之外的其它网段作为内部网络地址,则有可能会造成混乱。
2.什么情况下要进行地址转换
如下图所示:
当内部网络的主机访问因特网或与外部网络的主机通信时,需要进行地址转换。
图2-11地址转换示意图
内部网络的地址是10.0.0.0网段,而对外的正式IP地址是203.196.3.23。
内部的主机10.1.1.48以www方式访问网外的服务器202.18.245.251。
主机10.1.1.48发出一个数据报文,选择一个源端口6084,目的端口为80。
在通过代理服务器后,该报文的源地址和端口可能改为203.196.3.23:
32814,目的地址与端口不做改变。
在代理服务器中维护着一张地址端口对应表。
当外部网络的WWW服务器返回结果时,代理服务器会将结果数据报文中的目的IP地址及端口转化为10.1.1.48:
6084。
这样,内部主机10.1.1.48就可以访问外部的服务器了。
3.地址转换可以完成什么任务
在因特网的发展过程中,地址转换的提出是为了解决因特网地址短缺所面临的问题。
如下图所示:
PC1与PC2通过地址转换后可通过Modem访问到Internet上的资源。
图2-12通过地址转换后的主机访问因特网
4.地址转换机制
地址转换的机制将网内主机的IP地址和端口号替换为外部网络地址和端口号,实现<私有地址+端口号>与<公有地址+端口号>之间的一个转换过程。
5.地址转换的特征
● 对用户透明的地址分配(对外部地址的分配)。
● 可以达到一种“透明路由”的效果。
这里的路由是指转发IP报文的能力,而不是一种交换路由信息的技术。
6.地址转换的优缺点
(1) 地址转换的优点在于:
● 内部网络的主机可以通过该功能访问网外资源。
● 为内部主机提供了“隐私”(Privacy)保护。
(2) 地址转换的缺点如下:
● 由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。
在应用协议中,不能使用加密的FTP连接。
否则FTP的port命令不能被正确转换。
● 网络调试变得更加困难。
如某一台内部网络的主机试图攻击其它网络,则很难指出究竟是哪一台机器是恶意的,因为主机的IP地址被屏蔽了。
7.多对多地址转换简介
多对多地址转换是指通过将访问控制列表与地址池关联,将符合访问控制列表条件的地址才进行转换的一种方式。
从地址转换的示意图可见:
当内部网络访问外部网络时,地址转换将会选择一个合适的外部地址,替代内部网络数据报文的源地址。
即在上面的示意图中选择proxy服务器的IP地址。
这样所有内部网络的主机访问外部网络时,只能拥有一个外部的IP地址,当内部网络的主机非常多时,地址转换可能就会显得有些吃力。
当一个企业拥有不止一个外部地址时,为充分而有效地利用外部地址,可利用地址池来实现多对多地址转换。
(1) 地址池
地址池,顾名思义就是一些地址的集合。
在地址转换中,应该是一些合法IP地址(公有网络IP地址的集合)。
用户可根据自己拥有的合法IP地址的多少、内部网络主机的多少、以及实际应用情况,配置合适的IP地址池。
地址转换的过程中,将会从地址池中挑选一个地址做为转换的源地址。
(2) 利用访问控制列表控制地址转换
在实际应用中,我们可能希望某些内部的主机具有访问Internet(外部网络)的权利,而某些主机不允许访问。
在地址转换中,我们可以利用访问控制列表(访问控制列表的详细说明与配置,请参照防火墙“配置访问控制列表”一节)限制地址转换。
也就是说,只有满足访问控制列表条件的数据报文才可以进行地址转换。
这样就能有效地控制地址转换的使用范围,使特定主机能够有权利访问Internet。
8.内部服务器
由于地址转换具有“屏蔽”内部主机的作用,但是在实际应用中,可能我们需要提供给外部一个访问内部主机的机会,如提供给外部一个WWW的服务器,或是一台FTP的服务器。
使用地址转换可灵活地添加内部服务器,如可使用202.110.10.10做为web服务器的外部地址,使用202.110.10.11做为FTP服务器的外部地址,甚至还可使用202.110.10.12:
8080这样的地址做为Web外部地址,还可为外部用户提供多台同样的服务器(如提供多台web服务器)。
2.7.2 地址转换的配置
地址转换的配置包括:
● 配置地址池
● 配置访问控制列表和地址池的关联
● 配置访问控制列表和接口的关联(EASYIP特性)
● 配置内部服务器
● 配置地址转换的有效时间
1.配置地址池
地址池是一些连续的IP地址集合,当内部数据包通过地址转换到达外部网络时,将会选择地址池中的某个地址作为转换后的源地址。
请在系统视图下进行下列配置。
表2-28配置地址池
操作
命令
定义一个地址池
nataddress-groupstart-addrend-addrpool-name
删除一个地址池
undonataddress-grouppool-name
每个地址池中的地址必须是连续的,每个地址池内最多可定义64个地址。
需要注意的是:
当某个地址池已经和某个访问控制列表关联进行地址转换,是不允许删除这个地址池的。
2.配置访问控制列表和地址池关联
将访问控制列表和地址池关联后,就可实现多对多地址转换。
访问控制列表是由rule命令生成的,它依据IP数据包报头及其承载的上层协议数据包头的格式定义了一定的规则,表示允许或是禁止具有某些特征的数据包。
对配置了NAT的数据包,将先通过地址转换,再转发报文;对未配置NAT的数据包,直接按照正常的转发流程进行。
“转换关联”就是将一个地址池和一个访问控制列表关联起来,这种关联指定了“具有某些特征的IP报文”才可以使用“这样的地址池中的地址”。
在地址转换时,是根据这样的对应进行地址转换的。
当内部网络有数据包要发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换的关联找到与之对应的地址池,这样就把源地址转换成这个地址池中的某一个地址,完成了地址转换。
在转换关联表中记录了转换对应的必要信息,包括,访问列表、地址池信息、以及对应这个地址池的端口号索引。
HASH表是系统的,HASH表中记录了私有地址和公有地址的对应关系。
地址转换时,根据转换关联表找到与数据包对应的地址池,利用地址池中的地址完成地址转换,并记录到HASH表中;地址还原时,根据目的地址可直接找到相应的HASH表,进行还原操作。
请在接口视图下进行下列配置。
表2-29配置访问控制列表和地址池关联
操作
命令
增加访问控制列表和地址池关联
natoutboundacl-numberaddress-group
pool-name
删除访问控制列表和地址池关联
undonatoutboundacl-numberaddress-group
pool-name
缺省情况下,访问控制列表不与任何地址池关联。
3.配置访问控制列表和接口关联(EASYIP特性)
配置访问控制列表和接口的关联又称EASYIP特性,它是指在地址转换的过程中直接使用接口的IP地址作为转换后的源地址,适用于两种情况:
在拨号方式下用户希望由协商方式得到的接口IP地址作为地址转换后的源地址;或者用户希望就使用接口本身的IP地址作为地址转换后的源地址。
请在接口视图下进行下列配置。
表2-30配置访问控制列表和接口关联(EASYIP特性)
操作
命令
增加访问控制列表和接口关联
natoutboundacl-numberinterface
删除访问控制列表和接口关联
undonatoutboundacl-numberinterface
缺省情况下,访问控制列表不与任何接口关联。
4.配置内部服务器
用户可将相应的外部地址及外部端口号等映射到内部服务器上,实现外部网络访问内部服务器的功能。
内部服务器与外部网络地址与端口号之间的映射表由natserver命令配置。
在进行地址还原时,将根据用户配置查找外部数据包的目的地址,若要访问的是内部服务器,则转换成相应内部服务器的目的地址和端口号,将报文送达内部服务器;在进行地址转换时,将查找报文的源地址,判断是否是从内部服务器发送的报文,若是的话,就将源地址转换为相应的公网地址。
用户需要配置的信息包括:
外部地址、外部端口、内部服务器地址、内部服务器端口以及协议的类型。
请在接口视图下进行下列配置。
表2-31配置内部服务器
操作
命令
增加一个内部服务器
natserverglobalglobal-addr{global-port|any|domain|
ftp|pop2|pop3|smtp|telnet|www}insideinside-addr
{inside-port|any|domain|ftp|pop2|pop3|smtp|
telnet|www}{protocol-number|ip|icmp|tcp|udp}
删除一个内部服务器
undonatserver{global|inside}address{port|any|
domain|ftp|pop2|pop3|smtp|telnet|www}
{protocol-number|ip|icmp|tcp|udp}
需要注意的是:
global-port和inside-port只要有一个定义了any,则另一个要么不定义,要么是any。
(1) inside-port是必须的,可为0或取值在1~65535之间的整数。
(2) 若未定义global-port,global-port的值就等于inside-port的值。
(3) 在删除某个内部服务器时,若使用global关键字,还需提供外部地址、端口、协议信息;若使用了inside关键字,只需提供内部地址、端口号就可以了。
(4) protocol目前可为TCP、UDP和ICMP。
5.配置地址转换的有效时间
由于地址转换所使用的HASH表不能永久存在,用户可为TCP、UDP、ICMP协议的地址转换以及非快速转发时分片队列分别设置有效时间。
若在设定时间内未使用该地址转换,系统就将把这个连接删除。
请在系统视图下进行下列配置。
表2-32配置地址转换的有效时间
操作
命令
配置地址转换的有效时间
nataging-time{tcp|udp|icmp|fragbuffer|
fragqueue}seconds
恢复地址转换有效时间的缺省值
nataging-timedefault
缺省情况下,TCP地址转换的有效时间为240秒;UDP地址转换的有效时间为40秒;ICMP地址转换的有效时间为20秒,分片缓存的有效时间为30秒。
分片队列的有效时间为30秒。
6.配置NAT分片缓存功能
请在系统视图下进行下列配置。
表2-33NAT分片缓存
操作
命令
启动NAT分片缓存功能
natfragbufferenable
禁止NAT分片缓存功能
undonatfragbufferenable
配置NAT分片缓存最多存储的分片个数
natfragbufferlengthmaxlength
恢复NAT分片缓存最多存储的分片个数的缺省值
undonatfragbufferlength
2.7.3 地址转换的显示和调试
表2-34NAT的显示和调试
操作
命令
查看地址转换的配置信息
displaynat
查看地址转换的状况
displaynat[translations[global
ip-address|insideip-address]]
查看NAT分片HASH表内容
displaynatfragqueue
显示NAT分片缓存HASH表内容。
displaynatfragbuffer
显示NAT日志开关状态.。
displayuserlognat
清除地址转换映射表(接口视图下)
natreset
打开地址转换的调试信息开关
debuggingnat{event|packet|frag}
打开NAT日志开关
userlognat[flow-begin][aclalcnum]
关闭NAT日志开关
undouserlognat
2.7.4 地址转换典型配置举例
1.公司内部服务器通过地址转换后访问Internet
(1) 组网需求
一个公司通过路由器的地址转换后连接到广域网。
要求该公司能够通过路由器的串口S0访问Internet,公司内部对外提供WWW、FTP和SMTP服务,而且提供两台WWW服务器。
公司内部网址为10.110.0.0/16。
公司有202.38.160.101~202.38.160.103三个合法的公网IP地址。
内部FTP服务器地址为10.110.10.1,使用202.38.160.101的公网地址,内部WWW服务器1地址为10.110.10.2;内部WWW服务器2的地址为10.110.10.3,采用8080端口,两台WWW服务器都使用202.38.160.102的公网地址。
内部SMTP服务器地址为10.110.10.4,并希望可对外提供统一的服务器的IP地址,使用202.38.160.103的公网地址。
公网地址内部10.110.10.0/24网段的PC机可访问Internet,其它网段的PC机则不能访问Internet。
外部PC机可以访问内部的服务器。
(2) 组网图
图2-13地址转换配置组网图1
(3) 配置步骤
#配置地址池和地址列表
[Router]nataddress-group202.38.160.101202.38.160.103pool1
[Router]acl1
[Router-acl-1]rulepermitsource10.110.10.00.0.0.255
#允许10.110.10.0/24的网段进行地址转换
[Router-Serial0]natoutbound1address-grouppool
#设置内部FTP服务器
[Router-Serial0]natserverglobal202.38.160.101inside10.110.10.1ftptcp
#设置内部WWW服务器1
[Router-Serial0]natserverglobal202.38.160.102inside10.110.10.2wwwtcp
#设置内部WWW服务器2
[Router-Serial0]natserverglobal202.38.160.1028080inside10.110.10.3wwwtcp
#设置内部SMTP服务器
[Router-Serial0]natserverglobal202.38.160.103inside10.110.10.4smtpudp
2.内部局域网通过地址转换后拨号访问Internet
(1) 组网需求
一个公司的内部局域网能通过路由器的地址转换后,经串口S0拨号访问Internet。
(2) 组网图
图2-14地址转换配置组网图2
(3) 配置步骤
#配置地址访问控制列表和dialer-list
[Router]acl1
[Router-acl-1]rulepermitsource10.110.10.00.0.0.255
[Router]dialerlisten-rule1ip10.110.10.0255.255.255.0
#配置接口拨号属性
[Router-Serial0]physical-modeasync
[Router-Serial0]link-protocolppp
[Router-Serial0]ipaddressppp-negotiate
[Router-Serial0]ppppaplocal-user169passwordsimple169
[Router-Serial0]modem
[Router-Serial0]dialerenable-circular
[Router-Serial0]dialer-group1
[Router-Serial0]dialernumber169
#将地址转换列表与接口关联
[Router-Serial0]natoutbound1interface
#配置一条到Serial0的缺省路由
[Router]iproute-static0.0.0.00.0.0.0serial0
2.7.5 地址转换常见故障的诊断与排除
故障之一:
地址转换不正常
故障排除:
打开debuggingnat命令。
根据路由器上打印的Debug信息,初步定位错误,再用其它命令作进一步的判断。
调试时,注意观察转换后的源地址,要保证这个地址是希望转换的地址,否则可能会是地址池配置错误。
要注意你想访问的网络必须要有回到地址池中地址段的路由。
注意防火墙以及地址转换本身的地址列表对地址转换造成的影响,同时注意路由的配置。
故障之二:
内部服务器工作不正常
故障排除:
若外部主机不能正常访问内部服务器,请检查是否是内部服务器主机的配置有错或路由器上对内部服务器的配置有错,如对内部服务器的IP地址指定错误等等。
同时也有可能是防火墙禁止了外部主机对内部网络的访问,可以用displayacl命令来查看访问控制列表的信息。