随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求。
1)在R1上将192.168.0.10转换为201.1.1.2,192.168.0.20转换为201.1.1.3,实现访问200.1.1.10
借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP地址空间的枯竭。而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
实现此案例需要按照如下步骤进行。
步骤一:通用配置
1 配置R1端口IP地址,以及默认路由
tarena-R1(config)#interface f0/0
tarena-R1(config-if)#ip address 192.168.0.1 255.255.255.0
tarena-R1(config-if)#no shutdown
tarena-R1(config-if)#interface f0/1
tarena-R1(config-if)#ip address 201.1.1.1 255.255.255.0
tarena-R1(config-if)#no shutdown
tarena-R1(config-if)#exit
tarena-R1(config)#ip route 0.0.0.0 0.0.0.0 201.1.1.254
2 配置R2端口IP地址
不需要在R2上配置到企业内网的静态路由,因为NAT的存在,企业内部的地址都将被转换、隐藏。
tarena-R2(config)#interface f0/0
tarena-R2(config-if)#ip address 201.1.1.254 255.255.255.0
tarena-R2(config-if)#no shutdown
tarena-R2(config-if)#interface f0/1
tarena-R2(config-if)#ip address 200.1.1.1 255.255.255.0
tarena-R2(config-if)#no shutdown
步骤二:静态NAT配置
1 在R1上将192.168.0.10映射到201.1.1.2,将192.168.0.20映射到201.1.1.3
静态映射有唯一对应的关系,这也提供了外网到内网主机的访问途径,即如果外网主机想访问内网的192.168.0.10,只要访问201.1.1.2即可。
通过静态NAT,可以把内网服务器发布到外网。
tarena-R1(config)#ip nat inside source static 192.168.0.10 201.1.1.2
tarena-R1(config)#ip nat inside source static 192.168.0.20 201.1.1.3
2 在R1上配置NAT内、外端口
tarena-R1(config)#interface f0/0
tarena-R1(config-if)#ip nat inside
tarena-R1(config-if)#interface f0/1
tarena-R1(config-if)#ip nat outside
3 分别在两台PC机上测试到外网主机的通信
PC1测试如下所示:
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
IP Address......................: 192.168.0.10
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.0.1
PC>ping 200.1.1.10
Pinging 200.1.1.10 with 32 bytes of data:
Request timed out.
Request timed out.
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Ping statistics for 200.1.1.10:
Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>
PC2的测试如下所示:
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
IP Address......................: 192.168.0.20
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.0.1
PC>ping 200.1.1.10
Pinging 200.1.1.10 with 32 bytes of data:
Request timed out.
Request timed out.
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Ping statistics for 200.1.1.10:
Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>
4 在R1上查看NAT转换表
tarena-R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 201.1.1.3:17 192.168.0.20:17 200.1.1.10:17 200.1.1.10:17
icmp 201.1.1.3:18 192.168.0.20:18 200.1.1.10:18 200.1.1.10:18
icmp 201.1.1.3:19 192.168.0.20:19 200.1.1.10:19 200.1.1.10:19
icmp 201.1.1.3:20 192.168.0.20:20 200.1.1.10:20 200.1.1.10:20
--- 201.1.1.2 192.168.0.10 --- ---
--- 201.1.1.3 192.168.0.20 --- ---
在R1通过动态NAT实现企业内网192.168.0.0/24转换为公网地址201.1.1.2-201.1.1.5,访问200.1.1.10
实现此案例需要按照如下步骤进行。
步骤一:动态NAT配置
1 删除静态NAT配置
tarena-R1(config)#no ip nat inside source static 192.168.0.10 201.1.1.2
tarena-R1(config)#no ip nat inside source static 192.168.0.20 201.1.1.3
2 在R1上配置包括内网所有IP地址的ACL
tarena-R1(config)#access-list 1 permit 192.168.0.0 0.0.0.255
3 在R1上配置合法的IP地址池
地址池是向ISP(Internet服务提供商,如电信、联通)申请得到的,内网主机(上一步ACL中所包含的IP地址)到外网的访问,内网地址将被动态的、随机的转换为这些合法地址。
tarena-R1(config)#ip nat pool natpool 201.1.1.2 201.1.1.5 netmask 255.255.255.0
4 关联ACL和合法的IP地址池
tarena-R1(config)#ip nat inside source list 1 pool natpool
5 在R1上配置NAT内、外端口
tarena-R1(config)#interface f0/0
tarena-R1(config-if)#ip nat inside
tarena-R1(config-if)#interface f0/1
tarena-R1(config-if)#ip nat outside
6 分别在两台PC机上测试到外网主机的通信
PC1测试如下所示:
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
IP Address......................: 192.168.0.10
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.0.1
PC>ping 200.1.1.10
Pinging 200.1.1.10 with 32 bytes of data:
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Ping statistics for 200.1.1.10:
Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>
PC2测试如下所示:
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
IP Address......................: 192.168.0.20
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.0.1
PC>ping 200.1.1.10
Pinging 200.1.1.10 with 32 bytes of data:
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
Ping statistics for 200.1.1.10:
Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>
7 在R1上查看NAT转换表
转换表中的对应关系是动态的,如192.168.0.10被转换为201.1.1.2,但是下一次对外网的访问很有可能被转换为其他地址。
tarena-R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 201.1.1.2:21 192.168.0.10:21 200.1.1.10:21 200.1.1.10:21
icmp 201.1.1.2:22 192.168.0.10:22 200.1.1.10:22 200.1.1.10:22
icmp 201.1.1.2:23 192.168.0.10:23 200.1.1.10:23 200.1.1.10:23
icmp 201.1.1.2:24 192.168.0.10:24 200.1.1.10:24 200.1.1.10:24
icmp 201.1.1.3:21 192.168.0.20:21 200.1.1.10:21 200.1.1.10:21
icmp 201.1.1.3:22 192.168.0.20:22 200.1.1.10:22 200.1.1.10:22
icmp 201.1.1.3:23 192.168.0.20:23 200.1.1.10:23 200.1.1.10:23
icmp 201.1.1.3:24 192.168.0.20:24 200.1.1.10:24 200.1.1.10:24