二、 NAT工作过程
假设某公司申请DDN专线时,电信提供的合法地址为61.138.0.93/30,61.128.0.94/30,公司内部网络地址为192.168.0.0/24,路由器局域口地址192.168.0.254/24,广域口地址61.138.0.93/30,
当192.168.0.1/24这台计算机向INTERNET上的服务器202.98.0.66发出请求,则相应的操作过程如下:
⑴内部主机192.168.0.1/24的用户发出到INTERNET上主机202.98.0.66的连接请求;
⑵边界路由器从内部主机接到第一个数据包时会检查其NAT映射表,如果还没有为该地址建立地址转换映射,路由器便决定为该地址进行地址转换,路由器为该内部地址192.168.0.1到合法IP地址61.138.0.93的映射,同时附加端口信息,以区别与内部其他主机的映射。
⑶边界路由器用合法IP地址61.138.0.93及某端口号来替换内部IP地址192.168.0.1和对应的端口号,并转发该数据包。
⑷INTERNET服务器202.98.0.66接到该数据包,并以该包的地址(61.138.0.93)来对内部主机192.168.0.1作出应答。
⑸当边界路由器接受到目的地址为61.138.0.93的数据包时路由器将使用该IP地址、端口号从NAT的映射表中查找出对应的内部地址和端口号,然后将数据包的目的地址转化为内部地址192.168.0.1,并将数据包发送到该主机。对于每一个请求路由器都重复2-5的步骤。
三、路由器NAT功能配置
以上面的假设为例,分别说明在CISCO、3COM路由器下配置NAT功能
一CISCO路由器
以CISCO2501为例,要求其IOS为11.2版本以上
cisco2501#conf t
cisco2501(config)# int e0
cisco2501(config-if)# ip address 192.168.0.254 255.255.255.0
cisco2501(config-if)# ip nat inside
(指定e0口为与内部网相连的内部端口)
cisco2501(config-if)#int s0
cisco2501(config-if)#encapsulation ppp
(指定封装方式为PPP)
cisco2501(config-if)#ip address 61.138.0.93 255.255.255.252
cisco2501(config-if)# ip nat outside
(指定s0为与外部网络相连的外部端口)
cisco2501(config-if)#exit
cisco2501(config)# bandwidth 128
(指定网络带宽128k)
cisco2501(config)# ip route 0.0.0.0 0.0.0.0 Serial0
(指定缺省路由)
cisco2501(config)# ip nat pool a 61.138.0.93 61.138.0.93 netmask 255.255.255.252
(指定内部合法地址池,起始地址,结束地址为合法IP 61.138.0.93)
cisco2501(config)# access-list 1 permit 192.168.0.0 0.0.0.255
(定义一个标准的access-list规则,以允许哪些内部地址可以进行地址转换)
cisco2501(config)# ip nat inside source list 1 pool a overload
(设置内部地址与合法IP地址间建立地址转换)
cisco2501(config)#end
cisco2501#wr
二3COM路由器
以3COM OCBN8832为例,要求其SOFTWARE VERSION为11.0版本以上
以root注册,进行如下配置:
⑴配置局域网端口
[1] EnterpriseOS #setdefault !1 -ip netaddress=192.168.0.254 255.255.255.0
[2] EnterpriseOS #setdefault !! -path control =enable (激活路由器局域口PATH)
[3] EnterpriseOS #setdefault !1 -port control=enable (激活路由器局域口PORT)
⑵配置广域网串行端口
[4] EnterpriseOS #setdefault !3 -path linetype=leased (指明该端口使用的通信线路类型)
[5] EnterpriseOS #setdefault !4 -port owner=ppp (指明该端口的使用者)
[6] EnterpriseOS #setdefault !4 -ip netaddress=61.138.0.93 255.255.255.252
[7] EnterpriseOS #setdefault !4 -nat addressmap 192.168.0.0/24 61.138.0.93 outbound
(指定将192.168.0.0/24内部主机使用的IP地址转换成61.138.0.93)
[8] EnterpriseOS #setdault !4 -nat control=enable (启用NAT服务)
[9] EnterpriseOS #setdault !3 -path control=enable
[10]EnterpriseOS #setdault !4 -port control=enalbe
⑶配置缺省路由
[11]EnterpriseOS #setdault -ip control=router (激活路由器的路由功能)
[12]EnterpriseOS #add -ip route 0.0.0.0 0.0.0.0 !4