网络地址转换(NAT,Network Address Translation)被广泛应用于各种类型Internet接入方式和备种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和 端口多路复用OverLoad。
端口多路复用是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port AddressTranslation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
一、实验配置拓扑图
图一 私有网段192.168.1.0/24通过Company路由器的PAT技术接入互连网
二、路由器的基本配置
路由器ISP的配置
ISP#sh startup-config
Using 582 bytes
!
version 12.4
service password-encryption
!
hostname ISP
!
!
enable secret 5 $1$mERr$Q1EnFeXJ8Ibdhx2QffKaQ.
enable password 7 083249401018
!
!
!
!
ip ssh version 1
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
ip address 223.1.1.1 255.255.255.0
duplex auto
speed auto
!
interface Serial0/3/0
ip address 221.1.1.1 255.255.255.0
clock rate 56000
!
interface Serial0/3/1
no ip address
shutdown
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
!
!
!
!
no cdp run
!
line con 0
line vty 0 4
login
!
!
end
路由器Company的配置
Company#sh startup-config
Using 643 bytes
!
version 12.4
service password-encryption
!
hostname Company
!
!
enable password 7 083249401018
!
!
!
!
ip ssh version 1
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
ip nat inside
duplex auto
speed auto
!
interface Serial0/3/0
ip address 221.1.1.2 255.255.255.0
ip nat outside
!
interface Vlan1
no ip address
shutdown
!
ip nat inside source list 1 interface Serial0/3/0 overload
ip classless
ip route 0.0.0.0 0.0.0.0 221.1.1.1
!
!
access-list 1 permit 192.168.1.0 0.0.0.255
!
!
!
no cdp run
!
line con 0
line vty 0 4
login
!
!
end
在路由器Company上配置PAT的命令
Company(config)#ip route 0.0.0.0 0.0.0.0 221.1.1.1 \\配置默认路由
Company(config)#access-list 1 permit 192.168.1.0 0.0.0.255 \\配置一个标准访问控制列表
Company(config)#ip nat inside source list 1 interface Serial0/3/0 overload \\启用PAT私有IP地址的来源来自于ACL 1,使用serial0/3/0上的公共IP地址进行转换,overload表示使用端口号进行转换
Company(config)#int fa0/1
Company(config-if)#ip nat inside
Company(config-if)#int serial0/3/0
Company(config-if)#ip nat outside
三、校验、查看PAT的配置及运行状况
测试,又在实验拓扑图中添加了一台服务器。
图三
Company#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 221.1.1.2:23 192.168.1.3:23 223.1.1.2:23 223.1.1.2:23
icmp 221.1.1.2:24 192.168.1.3:24 223.1.1.2:24 223.1.1.2:24
icmp 221.1.1.2:25 192.168.1.3:25 223.1.1.2:25 223.1.1.2:25
icmp 221.1.1.2:26 192.168.1.3:26 223.1.1.2:26 223.1.1.2:26
icmp 221.1.1.2:27 192.168.1.3:27 223.1.1.2:27 223.1.1.2:27
icmp 221.1.1.2:28 192.168.1.3:28 223.1.1.2:28 223.1.1.2:28
tcp 221.1.1.2:1025 192.168.1.3:1025 223.1.1.3:80 223.1.1.3:80
tcp 221.1.1.2:1026 192.168.1.3:1026 223.1.1.3:80 223.1.1.3:80
tcp 221.1.1.2:1027 192.168.1.3:1027 223.1.1.3:80 223.1.1.3:80
tcp 221.1.1.2:1028 192.168.1.3:1028 223.1.1.3:80 223.1.1.3:80
tcp 221.1.1.2:1029 192.168.1.3:1029 223.1.1.3:80 223.1.1.3:80
Company#sh ip nat statistics
Total translations: 11 (0 static, 11 dynamic, 11 extended)
Outside Interfaces: Serial0/3/0
Inside Interfaces: FastEthernet0/1
Hits: 77 Misses: 11
Expired translations: 0
Dynamic mappings:
IP NAT debugging is on
Company#
NAT: s=192.168.1.2->221.1.1.2, d=223.1.1.1[12]
NAT*: s=223.1.1.1, d=221.1.1.2->192.168.1.2[12]
NAT: s=192.168.1.2->221.1.1.2, d=223.1.1.1[13]
NAT*: s=223.1.1.1, d=221.1.1.2->192.168.1.2[13]
NAT: s=192.168.1.2->221.1.1.2, d=223.1.1.1[14]
NAT*: s=223.1.1.1, d=221.1.1.2->192.168.1.2[14]
NAT: s=192.168.1.2->221.1.1.2, d=223.1.1.1[15]
NAT*: s=223.1.1.1, d=221.1.1.2->192.168.1.2[15]
Company#no debug ip nat
IP NAT debugging is off
Company#