NAT包括有静态NAT、动态地址NAT和端口多路复用地址转换三种技术类型。静态 NAT是把内部网络中的每个主机地址永久映射成外部网络中的某个合法地址;动态地址NAT是采用把外部网络中的一系列合法地址使用动态分配的方法映射到内部网络;端口多路复用地址转换是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,选择相应的NAT技术类型。
一般我们实际工作中都使用复用NAT,即复用断口NAT,也叫PNAT,所以掌握最后配置就可以了。 静态NAT配置步骤:
首先,配置各接口的IP地址。内网使用私有IP.外网使用公网IP.并指定其属于内外接口。其次,定义静态建立IP地址之间的静态映射。最后,指定其默认路由。
Router>en (进入特权模式)
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 (进入线路CONSOLE接口0下)
R3(config-line)#logg syn (启用光标跟随,防止日志信息冲断命令显示的位置)
R3(config-line)#exec-t 0 0 (防止超时,0 0 为永不超时)
R3(config-line)#exit
R3(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 shut
R3(config-if)#exit
R3(config)#int ser1 (进入串口下)
R3(config-if)#ip add 100.0.0.1 255.255.255.0
R3(config-if)#no shut
R3(config-if)#ip nat outside (设置为外部接口)
R3(config-if)#exit
R3(config)#ip nat inside source static 191.168.1.1 100.0.0.1
(设置静态转换,其中ip nat inside source 为NAT转换关键字,这里是静态,故为STATIC) R3(config)#ip classless
R3(config)#ip route 0.0.0.0 0.0.0.0 s0(这里是出口或者下一跳地址)
R3(config)#exit
动态NAT配置步骤:
首先,配置各需要转换的接口的IP,设置内外网IP等。
其次,定义动态地址转换池列表
再次,配置ACL列表,需要转换的内网IP地址(或者网段)。
最后,设置转换后的出口地址段及MASK(多IP可以多分流,减轻转换后的负担)
配置示例:
(一):
Router#config
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ho R2
R2(config)#no ip domain-lo
R2(config)#line c 0
R2(config-line)#logg syn
R2(config-line)#exec-t 0 0
R2(config-line)#exit
R2(config)#int ser0
R2(config-if)#ip add 100.0.0.1 255.255.255.0
R2(config-if)#ip nat inside
R2(config-if)#no shut
R2(config-if)#clock rate 5600
R2(config-if)#ip access-group 1 out
R2(config-if)#exit
R2(config)#int e0
R2(config-if)#ip ad 10.0.0.1 255.255.255.0
R2(config-if)#no shut
R2(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.0
R2(config)#access-list 1 permit 10.0.0.2 0.0.0.0
(四):
R2(config)#ip nat pool dongsheng 100.0.0.1 100.0.0.2 netmask 255.255.255.0
R2(config)#exit
动态NAT配置
ip nat inside source list 1 pool dongsheng
access-list 1 permit 10.0.0.1 0.0.0.0(与下面的公网IP对应)
access-list 1 permit 10.0.0.2 0.0.0.0
ip nat pool dongsheng 192.16.1.1 192.16.1.2 netmask 255.255.255.0
注:(一段IP地址范围,动态NAT与静态NAT一样,都是一对一的关系,
如果上面内网是3个IP,则下面也需要3个公网IP,如何设置2个出口呢?在2个串口上设置?)
!
interface Ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
no shut
!
interface Serial0
ip address 192.16.1.1 255.255.255.0
ip nat outside
no shut
!
动态配置示例
Router#config
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ho R2
R2(config)#no ip domain-lo
R2(config)#line c 0
R2(config-line)#logg syn
R2(config-line)#exec-t 0 0
R2(config-line)#exit
Router(config)#int ser0
Router(config-if)#ip add 100.1.1.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#ip nat outside
Router(config-if)#exi
Router(config)#int e0
Router(config-if)#ip add 192.168.2.1 255.255.255.0
Router(config-if)#ip nat inside
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#ip nat inside source list 2 pool ds2 overload
(跟前面一样,这里设置复用动态转换,跟动态一个区别就是这里多增加了一个OVERLOAD)
Router(config)#access-list 2 permit 192.168.2.1 0.0.0.0
Router(config)#access-list 2 permit 192.168.2.2 0.0.0.0
Router(config)#ip nat pool ds2 100.1.1.1 100.1.1.2 net 255.255.255.0
Router(config)#exi
Router#sh run
PAT配置示例
Router>en
Router#config
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int ser1
Router(config-if)#exit
Router(config)#no ip domain-lo
Router(config)#line c 0
Router(config-line)#logg syn
Router(config-line)#exec-t 0 0
Router(config-line)#exit
Router(config)#int ser1
Router(config-if)#ip add 100.0.0.1 255.255.255.0
Router(config-if)#ip nat outside
Router(config-if)#ip access-group 1 out
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int e0
Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#ip nat inside
Router(config-if)#no shut
Router(config-if)#exit000000000
Router(config)#ip 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