NAT:园区网内的PC是私有地址,整个园区网共享一个公有IP,如果园区网内的PC不做NAT,那么在发数据包给外网的时候会出现传输问题
PAT:是NAT的升级,地址多路复用
内部本地地址(InsideLocal ):内部网络主机使用的IP地址
内部全局地址(InsideGlobal ):内部网络使用的公有IP地址
外部全局地址(OutsideGlobal):外部网络主机使用的IP地址
验证NAT:
show ip nat translations //查看生效的NAT设置 show ip nat statistics //查看NAT统计信息 debug ip nat //用于排错
静态NAT:将内部主机IP一对一的翻译成外部地址。
这种方法主要用在内部网络中有对外提供服务的服务器,如WEB、MAIL服务器时。该方法的缺点是需要独占宝贵的合法IP地址。即,如果某个合法IP地址已经被NAT静态地址转换定义,即使该地址当前没有被使用,也不能被用作其它的地址转换。
在内部主机连接到外部网络,当数据包到达NAT路由器时,路由器检查静态NAT表,然后将数据包的内部本部IP(源地址)更换成内部全局地址,再转发出去。外部主机接收到数据包后,用内部全局地址来响应,NAT接受到外部回来的数据包,再根据NAT表把地址翻译成内部本部IP。
此例中:
InsideLocal:10.1.1.1
InsideGlobal:20.1.1.222
OutsideGlobal:20.1.1.2
R1负责NAT转换,R0模拟为内网主机,R2为外网节点。要求通过静态NAT实现10.1.1.1到20.1.1.2(外网)的访问。
R1配置:
(config)#interface GigabitEthernet0/0 (config-if)#ip address 10.1.1.2 255.255.255.0 (config-if)#ip nat inside (config)#interface GigabitEthernet0/1 (config-if)#ip address 20.1.1.1 255.255.255.0 (config-if)#ip nat outside (config)#ip nat inside source static 10.1.1.1 20.1.1.222 //将10.1.1.1 映射为公网地址 20.1.1.222来访问外网 (config)#ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/1 //实现路由
R0配置:
(config)#no ip routing (config)#interface GigaitEthernet0/0 (config-if)#ip address 10.1.1.1 255.255.255.0 (config-if)#ip default-gateway 10.1.1.2
R2配置:
(config)#interface GigaitEthernet0/1 (config-if)#ip address 200.1.1.2 255.255.255.0
动态NAT:将私有IP地址随机映射到一组公网IP池中的一个
从内部全局地址池中动态地选择一个未使用的地址对内部本地地址进行转换。该地址是由未被使用的地址组成的地址池中在定义时排在最前面的一个。当数据传输完毕后,路由器将把使用完的内部全局地址放回到地址池中,以供其它内部本地地址进行转换。但是在该地址被使用时,不能用该地址再进行一次转换。
缺点:地址池内公网地址被耗尽后,余下的内网主机将无法被翻译,不能访问外网
R0配置:
(config)#interface GigabitEthernet0/0 (config-if)#ip address 10.1.1.1 255.255.255.0 (config-if)#ip nat inside (config)#interface GigabitEthernet0/1 (config-if)#ip address 220.150.123.23 255.255.255.0 (config-if)#ip nat outside (config)#access-list 1 permit 10.1.1.0 0.0.0.255 //定义10.1.1.0/24网段,即内网网段 (config)#ip nat pool test 220.150.123.50 220.150.123.60 netmask 255.255.255.0 //定义一个名为test的NAT地址池 (config)#ip nat inside source list 1 pool test //指定动态地址转换,由访问列表1定义的地址范围内的内网地址进行地址转换,转换后的地址是名为test的地址池中的公网IP地址
动态建立的映射的生存周期缺省为24小时
(config)#ip nattranslation timeout 60 //通过适当设置超时时间,可及时清除空闲连接,提供给有需要的内网主机
端口地址转换:PAT内部全局地址复用
也称"端口多路复用",使用地址和端口,将多个内部地址映射到比较少的外部地址,也是所谓的PAT(Port Address Translation)。和内部地址翻译一样,路由器同样也负责查表和翻译内部IP地址,唯一的区别就是由于使用了复用,路由器将复用同样的内部全局IP地址。
方法一:直接使用接口地址
R0配置:
(config)#interface GigabitEthernet0/0 (config-if)#ip address 10.1.1.1 255.255.255.0 (config-if)#ip nat inside (config)#interface GigabitEthernet0/1 (config-if)#ip address 220.150.123.23 255.255.255.0 (config-if)#ip nat outside (config)#access-list 1 permit 10.1.1.0 0.0.0.255 //定义10.1.1.0/24网段,即内网网段 (config)#ip nat inside source list 1 interface gigabitEthernet 0/1 overload //关键字overload,启用地址复用功能。由访问列表1定义的地址范围内的内网IP地址将被地址转换,转换后的地址是接口G0/1的IP地址,方式为动态转换.
方法二:使用InsideGlobal地址
R0配置
(config)#interface GigabitEthernet0/0 (config-if)#ip address 10.1.1.1 255.255.255.0 (config-if)#ip nat inside (config)#interface GigabitEthernet0/1 (config-if)#ip address 220.150.123.23 255.255.255.0 (config-if)#ip nat outside (config)#access-list 1 permit 10.1.1.0 0.0.0.255 (config)#ip nat pool test 220.150.123.25 220.150.123.25 netmask 255.255.255.0 //定义一个名为test的NAT地址池,开始和结束地址均为220.150.123.25 (InsideGlobal地址) (config)#ip nat inside source list 1 pool test overload //启用地址复用功能。由访问列表1定义的地址范围内的内网IP地址将被地址转换,转换后的地址是名为test的NAT地址池中的IP地址,方式为动态转换.