1、NAT 包括有静态 NAT、动态地址 NAT 和端口多路复用地址转换三种技术类型。静态 NAT 是把内部网络中的每个主机地址永久映射成外部网络中的某个合法地址;动态地址 NAT 是采用把外部网络中的一系列合法地址使用动态分配的方法映射到内部网络;端口多路复用地址转换是把内部地址映射到外部网络的一个 IP 地址的不同端口上。根据不同的需要,选择相应的 NAT 技术类型。一般我们实际工作中都使用复用 NAT,即复用断口 NAT,也叫 PNAT,所以掌握最后配置就可以了。静态 NAT 配置步骤:首先,配置各接口的 IP 地址。内网使用私有 IP.外网使用公网 IP.并指定其属于内外接口。其次,定义静
2、态建立 IP 地址之间的静态映射。最后,指定其默认路由。Routeren (进入特权模式)Router#config (进入全局配置模式)Configuring from terminal, memory, or network terminal?Enter configuration commands, one per line. End with CNTL/Z.Router(config)#ho R3 (命名为 R3)R3(config)#no ip domain-lo (关闭域名查询,在实验环境中,敲入错误的命令,它将进行域名查询,故关闭他)R3(config)#line c 0 (进入
3、线路 CONSOLE 接口 0 下)R3(config-line)#logg syn (启用光标跟随,防止日志信息冲断命令显示的位置)R3(config-line)#exec-t 0 0 (防止超时,0 0 为永不超时)R3(config-line)#exitR3(config)#int e0 (进入以太网接口下)R3(config-if)#ip add 192.168.1.1 255.255.255.0 (设置 IP 地址)R3(config-if)#ip nat inside (设置为内部接口)R3(config-if)#no shutR3(config-if)#exitR3(config
4、)#int ser1 (进入串口下)R3(config-if)#ip add 100.0.0.1 255.255.255.0R3(config-if)#no shutR3(config-if)#ip nat outside (设置为外部接口)R3(config-if)#exitR3(config)#ip nat inside source static 191.168.1.1 100.0.0.1 (设置静态转换,其中 ip nat inside source 为 NAT 转换关键字,这里是静态,故为 STATIC)R3(config)#ip classlessR3(config)#ip rou
5、te 0.0.0.0 0.0.0.0 s0(这里是出口或者下一跳地址)R3(config)#exit动态 NAT 配置步骤:首先,配置各需要转换的接口的 IP,设置内外网 IP 等。其次,定义动态地址转换池列表再次,配置 ACL 列表,需要转换的内网 IP 地址(或者网段)。最后,设置转换后的出口地址段及 MASK(多 IP 可以多分流,减轻转换后的负担)配置示例:(一):Router#configConfiguring from terminal, memory, or network terminal?Enter configuration commands, one per line.
6、End with CNTL/Z.Router(config)#ho R2R2(config)#no ip domain-loR2(config)#line c 0R2(config-line)#logg synR2(config-line)#exec-t 0 0R2(config-line)#exitR2(config)#int ser0R2(config-if)#ip add 100.0.0.1 255.255.255.0R2(config-if)#ip nat insideR2(config-if)#no shutR2(config-if)#clock rate 5600R2(config
7、-if)#ip access-group 1 outR2(config-if)#exitR2(config)#int e0R2(config-if)#ip ad 10.0.0.1 255.255.255.0R2(config-if)#no shutR2(config-if)#exit(二):R2(config)#ip nat inside source list 1 pool dongsheng(三):R2(config)#access-list 1 permit 10.0.0.1 0.0.0.0R2(config)#access-list 1 permit 10.0.0.2 0.0.0.0(
8、四):R2(config)#ip nat pool dongsheng 100.0.0.1 100.0.0.2 netmask 255.255.255.0R2(config)#exit动态 NAT 配置ip nat inside source list 1 pool dongshengaccess-list 1 permit 10.0.0.1 0.0.0.0(与下面的公网 IP 对应)access-list 1 permit 10.0.0.2 0.0.0.0ip nat pool dongsheng 192.16.1.1 192.16.1.2 netmask 255.255.255.0注:(一
9、段 IP 地址范围,动态 NAT 与静态 NAT 一样,都是一对一的关系,如果上面内网是 3 个 IP,则下面也需要 3 个公网 IP,如何设置 2 个出口呢?在 2 个串口上设置?)!interface Ethernet0ip address 10.1.1.1 255.255.255.0ip nat insideno shut!interface Serial0ip address 192.16.1.1 255.255.255.0ip nat outsideno shut!动态配置示例Router#configConfiguring from terminal, memory, or net
10、work terminal?Enter configuration commands, one per line. End with CNTL/Z.Router(config)#ho R2R2(config)#no ip domain-loR2(config)#line c 0R2(config-line)#logg synR2(config-line)#exec-t 0 0R2(config-line)#exitRouter(config)#int ser0Router(config-if)#ip add 100.1.1.1 255.255.255.0Router(config-if)#no
11、 shutRouter(config-if)#ip nat outsideRouter(config-if)#exiRouter(config)#int e0Router(config-if)#ip add 192.168.2.1 255.255.255.0Router(config-if)#ip nat insideRouter(config-if)#no shutRouter(config-if)#exitRouter(config)#ip nat inside source list 2 pool ds2 overload(跟前面一样,这里设置复用动态转换,跟动态一个区别就是这里多增加了
12、一个 OVERLOAD)Router(config)#access-list 2 permit 192.168.2.1 0.0.0.0Router(config)#access-list 2 permit 192.168.2.2 0.0.0.0Router(config)#ip nat pool ds2 100.1.1.1 100.1.1.2 net 255.255.255.0Router(config)#exiRouter#sh runPAT 配置示例RouterenRouter#configConfiguring from terminal, memory, or network term
13、inal?Enter configuration commands, one per line. End with CNTL/Z.Router(config)#int ser1Router(config-if)#exitRouter(config)#no ip domain-loRouter(config)#line c 0Router(config-line)#logg synRouter(config-line)#exec-t 0 0Router(config-line)#exitRouter(config)#int ser1Router(config-if)#ip add 100.0.0
14、.1 255.255.255.0Router(config-if)#ip nat outsideRouter(config-if)#ip access-group 1 outRouter(config-if)#no shutRouter(config-if)#exitRouter(config)#int e0Router(config-if)#ip add 192.168.1.1 255.255.255.0Router(config-if)#ip nat insideRouter(config-if)#no shutRouter(config-if)#exitRouter(config)#ip
15、 nat inside source list 1 pool ds1 overload (其中 ip nat inside source list X pool xx overload 为关键字)Router(config)#access-list 1 permit 192.168.0.1 255.255.0.0 (设置访问列表,允许内部的网络转换出去,网段自由设顶)Router(config)#ip nat pool ds1 100.0.0.1 100.0.0.2 netmask 255.255.255.0 (这里的 IP 为能在公网上使用的 IP,这里设置了 2 个 IP,可以为几个,如果后面设置为 10。0。0。5,那么这里就有 5 个公网 IP,一般 2 个就够了)Router(config)#exit