NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。
 
地址转换配置步骤:
 
  1在全局设置模式下,定义内部合地址池
ip nat pool 地址池名字 起始IP地址 终止IP地址 子网掩码
 
  2.在全局设置模式下,定义一个标准的access-list规则以允许哪些内部本地地址可以进行动态地址转换。
  access-list 标号 permit 源地址 通配符
其中标号为199之间的整数。
 
  3.在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。
 ip nat inside source list 访问列表标号 pool 内部合法地址池名字 overload
 
  4.在端口设置状态下,指定与内部网络相连的内部端口
  ip nat inside
 
  5.在端口设置状态下,指定与外部网络相连的外部端口
  ip nat outside
 

  1.静态地址转换
  静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需要指定和哪个合法地址进行转换。如果内部网络有WWW服务器或FTP服务器等可以为外部用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。
A.
ip nat pool nat-pool 218.27.84.252 218.27.84.254 netmask 255.255.255.248
  ip nat inside source list 1 pool nat-pool overload

  ip nat inside source static 192.168.2.254 218.27.84.249 假如发布WEB时需要静态映射发布
ip route 0.0.0.0 0.0.0.0 Serial0/0
access-list 1 permit 192.168.2.0 0.0.0.255
 
interface Ethernet0/1
  ip address 192.168.2.254 255.255.255.0
ip nat inside
 
B…
静态源地址翻译
1)      定义外部接口和外部接口
Router (config)#interface fa X/X
Router(config-if)#ip nat (inside | outside )
2)      定义源地址转换
Router (config)#ip nat ( inside | outside ) source static source_add translate_add
 
Eg..
Router (config)#ip nat inside source static 10.1.1.10 202.100.192.68
Router (config)#ip nat outside source static 202.100.192.68 10.1.1.10
 
 
2.动态地址转换
  动态地址转换也是将内部本地地址与内部合法地址一对一地转换,但是动态地址转换是从内部合法地址池中动态地选择一个未使用的地址来对内部本地地址进行转换的。
 
Router(config)#ip nat pool < name ><start_ip><end_ip>{netmask <netmask >| prefix <prefix_length>}
 
Name:地址池名;netmask :地址掩码; prefix-langth:掩码前缀长度
 
EG…
Router (config)#ip nat pool <pool-name> <S-ip><E-ip> prefix 24

  3.复用动态地址转换
  复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。对只申请到少量IP地址但却经常同时有多个用户上外部网络的情况,这种转换极为有用。Overload 叫过载配置。。。就是符合条件数据的源地址(N个,例如局域网的各个私有IP)都被转换为一个合法IP,或者多个合法IP,这样叫过载配置。
 
4.检查NAT运行情况
Show ip nat translation  查看地址翻译表
Show ip nat statistics    地址翻译的统计信息
Debug ip nat
 
 
PAT(Port Address Translation)也称为NAPT就是将多个内部地址映射为一个公网地址,但以不同的协议端口号与不同的内部地址相对应。这种方式常用于拨号上Internet网。
 
如果使用PAT技术,也应当使用NAT+PAT,这样才不至于功能受限。
 
CCNA实验–NATPAT的配置
下面是实验拓扑图:
 
 
 
相关说明:NAT用于提供几乎无限的地址空间并掩藏内部网络寻址方案,地址管理更加容易,它允许严格控制进入和离开网络的流量;但是静态或动态NAT都存在一个问题,它只能提供一对一的地址转换。使用端口地址转换PAT可以实现地址复用的功能,使用PAT后,所有通过地址转换设备的机器都拥有了分配给它们相同IP地址,因此源端口号用来区分不同的连接。
需要牢记:(config)#ip nat inside source list 100 interface s1/0 overload
实验过程:
 
实验过程:
I:配置各路由器的IP地址,确保直连接口能Ping通。
II:KC-R1模拟企业网关路由器。
KC-R1(config)#ip route 0.0.0.0 0.0.0.0 173.16.1.128 #指向外网的静态路由
IV:配置NAT。
方法一:静态NAT
KC-R1(config)#int f0/0
KC-R1(config-if)#ip nat inside #将f0/0设置为内网口
*Mar 1 00:05:49.875: %LINEPROTO-5-UPDOWN: Line protocol on Interface NVI0, changed state to up
KC-R1(config-if)#exit
KC-R1(config)#int s1/0
KC-R1(config-if)#ip nat outside #将s1/0设置为外网口
KC-R1(config-if)#exit
KC-R1(config)#ip nat inside source static 10.1.1.1 173.16.1.56 #静态NAT
KC-R1(config)#exit
Ping测试:
PC-1#ping 202.101.1.149 #测试证明能通
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.101.1.149, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 120/122/132 ms
此时PC-1能通,PC-2不能通。
KC-R2#debug ip packet #查看数据包
*Mar 1 00:09:59.487: IP: tableid=0, s=10.1.1.2 (Serial1/0), d=173.16.1.128 (Serial1/0), routed via RIB
*Mar 1 00:09:59.491: IP: s=10.1.1.2 (Serial1/0), d=173.16.1.128 (Serial1/0), len 100, rcvd 3
*Mar 1 00:09:59.495: IP: s=173.16.1.128 (local), d=10.1.1.2, len 100, unroutable
………………….
*Mar 1 00:23:51.243: IP: s=202.101.1.149 (local), d=173.16.1.56 (Serial1/0), len 100, sending
*Mar 1 00:23:51.447: IP: tableid=0, s=173.16.1.56 (Serial1/0), d=202.101.1.149 (Loopback0), routed via RIB
方法二:动态NAT
KC-R1(config)# ip nat pool kachy 173.16.1.58 173.16.1.126 netmask 255.255.255.0 #创建地址池
KC-R1(config)#access-list 1 permit 10.1.1.0 0.0.0.255 #创建ACL
KC-R1(config)#ip nat inside source list 1 pool kachy #二者关联
KC-R1(config)#exit
Ping测试
PC-1#ping 202.101.1.149 #测试证明能通
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.101.1.149, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 96/125/148 ms
PC-1#telnet 202.101.1.149 #测试证明能远程连接
Trying 202.101.1.149 … Open
Password required, but none set
[Connection to 202.101.1.149 closed by foreign host]
此时PC-2也可以ping通,telnet上。
查看当前KC-R1的NAT表。
KC-R1#sh ip nat translations #查看NAT表
Pro Inside global Inside local Outside local Outside global
— 173.16.1.58 10.1.1.1 — —
— 173.16.1.59 10.1.1.2 — —
KC-R1#
方法三:配置PAT
KC-R1(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 any #创建访问列表
KC-R1(config)#ip nat inside source list 100 interface s1/0 overload #二者关联,地址重载 转换复用在端口上!
KC-R1(config)#exit
测试
PC-1#ping 202.101.1.149
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.101.1.149, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 84/97/116 ms
PC-1#
PC-1#telnet 202.101.1.149
Trying 202.101.1.149 … Open
Password required, but none set
[Connection to 202.101.1.149 closed by foreign host]
同样,PC-2也能到达。
在路由器KC-R1上
KC-R1#debug ip nat #查看翻译过程
*Mar 1 00:19:32.843: NAT*: s=10.1.1.1->173.16.1.56, d=202.101.1.149 [46610]
*Mar 1 00:19:32.847: NAT*: s=10.1.1.1->173.16.1.56, d=202.101.1.149 [46611]
*Mar 1 00:19:33.083: NAT*: s=202.101.1.149, d=173.16.1.56->10.1.1.1 [31823]
在路由器KC-R2上
KC-R2#debug ip packet
*Mar 1 00:23:34.931: IP: tableid=0, s=173.16.1.56 (Serial1/0), d=202.101.1.149 (Loopback0), routed via RIB
*Mar 1 00:23:34.935: IP: s=173.16.1.56 (Serial1/0), d=202.101.1.149, len 100, rcvd 4
*Mar 1 00:23:34.939: IP: tableid=0, s=202.101.1.149 (local), d=173.16.1.56 (Serial1/0), routed via FIB