静态NAT、动态NAT、PAT(端口多路复用)的配置
静态NAT、动态NAT、PAT(端口多路复用)的配置
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和 端口多路复用OverLoad。
静态转换 (Static Nat) 是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换 (Dynamic Nat) 是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,而是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(OverLoad)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
网络拓扑图:
![](http://up.2cto.com/2013/0704/20130704083412506.jpg)
路由器R1:f0/0 10.1.1.1/24 f0/1 20.1.2.0/24
内网:10.1.1.0/24
服务器 SVR1 10.1.1.2 开启HTTP服务
终端机 PC1 10.1.1.3
外网:20.1.2.0/24 未配置网关
服务器 SVR2 20.1.2.2 开启HTTP服务
终端机 PC2 20.1.2.3
一、静态NAT
配置步骤:
首先,配置各接口的IP地址。内网使用私有IP。外网使用公网IP。并指定其属于内外接口。
其次,定义静态建立IP地址之间的静态映射。
最后,指定其默认路由。
配置示例:
将服务器SRV1的内网IP转换为外网地址,即10.1.1.2 ——> 20.1.2.5,实现外部网络能访问内部网络中的服务器
Router>en (进入特权模式)
Router#config t(进入全局配置模式)
Router(config)#ho R1 (命名为R1)
R1(config)#no ip domain-lo
(关闭域名查询,在实验环境中,敲入错误的命令,它将进行域名查询,故关闭他)
R1(config)#line c 0 (进入线路CONSOLE接口0下)
R1(config-line)#logg syn (启用光标跟随,防止日志信息冲断命令显示的位置)
R1(config-line)#exec-t 0 0 (防止超时,0 0 为永不超时)
R1(config-line)#exit
R1(config)#int f 0/0 (进入以太网接口0下)
R1(config-if)#ip add 10.1.1.1 255.255.255.0(设置IP地址)
R1(config-if)#ip nat inside (设置为内部接口)
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f 0/1 (进入以太网接口1下)
R1(config-if)#ip add 20.1.2.4 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip nat outside (设置为外部接口)
R1(config-if)#exit
R1(config)#ip nat inside source static 10.1.1.2 20.1.2.5
(设置静态转换,其中ip nat inside source 为NAT转换关键字,这里是静态,故为STATIC)
R1(config)#ip classless
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/1(这里是出口或者下一跳地址)
R1(config)#exit
结果:
在外网PC2浏览器中访问http://20.1.2.5,但内网中的PC1不能访问SRV2。
二、动态NAT
配置步骤:
首先,配置各需要转换的接口的IP,设置内外网IP等。
其次,定义动态地址转换池列表
再次,配置ACL列表,需要转换的内网IP地址(或者网段)。
最后,设置转换后的出口地址段及MASK(多IP可以多分流,减轻转换后的负担)
配置示例:
实现内部网络能访问外部网络中的服务器
R1#config t
R1(config)#int f 0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f 0/1
R1(config-if)#ip add 20.1.2.4 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#ip nat inside source list 1 pool ds (动态地址池)
R1(config)#access-list 1 permit 10.1.1.2 0.0.0.0
(ACL列表,设置访问列表,允许内部的网络转换出去,网段自由设顶)
R1(config)#access-list 1 permit 10.1.1.3 0.0.0.0
R1(config)#ip nat pool ds 20.1.2.5 20.1.2.6 net 255.255.255.0(转换出口地址段)
(这里的IP为能在公网上使用的IP,这里设置了2个IP,可以为几个,如果后面设置为20.1.2.9,那么这里就有5个公网IP,一般2个就够了)
R1(config)#exit
三、PAT配置
R1#config t
R1(config)#int f 0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f 0/1
R1(config-if)#ip add 20.1.2.4 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#ip nat inside source list 1 pool ds
(其中ip nat inside source list X pool xx overload为关键字)
R1(config)#access-list 1 permit 10.1.1.1 255.255.255.0
R1(config)#ip nat pool ds 20.1.2.5 20.1.2.7 net 255.255.255.0
R1(config)#exit