静态NAT、动态NAT、PAT(端口多路复用)的配置
经验总结:
静态转换(static translation)将内部网络的私有IP地址转换为公有合法IP地址。IP地址的对应关系是一对一的,而且是不变的。
动态转换(dynamic translation)指将内部私有IP转换为公网IP地址时,IP的对应关系是不确定的。也就是说只要指定哪些内部地址可以进行NAT转换,以及哪些可以的合法的IP地址可以作为外部地址,就可以进行动态转换了。也可以使用多个合法地址集。
端口多路复用(port address translation,)PAT
改变外出数据包的源IP地址和源端口并进行端口转换,即端口地址转换采用端口多路复用的方式。内部网络的所有主机均可共享一个合法外部IP地址实现互联网的访问。最大程度上节约IP地址资源。
端口多路复用使用的是端口号的转换,也是不确定的,所以不能和动态转换同时使用,这个问题可以通过实施静态NAT映射来避免。
NAT端口映射关系:是将TCP或UDP协议中的内部局部地址需要转换的端口号转换成为内部全局地址的端口号。
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和 端口多路复用OverLoad。
静态转换 (Static Nat) 是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换 (Dynamic Nat) 是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,而是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(port address translation,)PAT,端口多路复用(OverLoad)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
网络拓扑图:
文章图片
路由器R1:f0/0 10.1.1.1/24f0/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.220.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
【静态NAT、动态NAT、PAT(端口多路复用)之间的区别】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
https://www.cnblogs.com/oxspirt/p/6496344.html
推荐阅读
- 计算机网络|计算机网络——DHCP协议详解
- Linux|Linux--网络基础
- 网络|一文彻底搞懂前端监控
- 网络夺命连环问系列|网络夺命连环问5--HTTP怎么传输大文件()
- 网络|网络编程释疑(TCP连接拔掉网线后会发生什么)
- 网络|简单聊聊压缩网络
- Java|图解四大IO模型与原理
- 卷积|吃透空洞卷积(Dilated Convolutions)
- 计算机网络|网桥与交换机
- Karpenter : 新一代 Kubernetes auto scaling 工具