一、NAT概念
NAT(Network Address Translation)又称为网络地址转换,用于实现私有网络和公有网络之间的互访。公网地址是指在互联网上全球唯一的ip地址,私有地址是指内部网络的IP地址和主机的IP地址,一般在一个单位或公司内部使用。这样做是为了减少IP不足的问题,而这个私网地址转到公网的过程就需要使用NAT。
二、NAT工作原理
NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机相连。
NAT外部的主机无法跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发。
1.转发原理
a.数据包从内网发往外网时,NAT会将包源IP由私网地址转换成公网地址。
b.当响应的数据包要从外网发给内网时,NAT会将包目的IP由公网地址转换成私网地址。
三、NAT功能
NAT 不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
1.宽带分享
2.安全防护:NAT之内的PC联接到Internet上面时,他所显示的IP地址为NAT主机的公网IP地址, 所以Client端PC有一定的安全性,外界进行portscan(端口扫描)的时候,就侦测不到源Client端的pc主机。
四、NAT的优缺点
优点:节省公有合法IP地址,处理地址重叠,增强灵活性,安全性。
缺点:延迟增大,配置和维护的复杂性,不支持某些应用(如vpn)。
五、网络地址转换的分类
1.静态NAT:
私网IP和公网IP是一对一关系,并需一对一绑定。
2.动态NAT:
同样是一对一的关系,需定义公网地址池,私网转换时轮流询问地址池里的每一个IP地址。
路由器中有一个外网IP池,里面有多个未使用的IP地址。
当一个主机A通信时,经过该路由器,路由器会在外网IP池中,去出一个IP地址,替换数据IP报文的源IP地址,然后在转换表中建立,源IP地址和外网IP池使用的地址。其它主机来通信时,也会在外网IP池中,取出一个IP地址,进行替换,建立映射关系,直到使用完。
3.PAT端口多路复用:
PAT又称为NAPT(Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。
NAPT采用端口多路复用方式。使用IP+port来建立映射关系。因为IP+port是唯一的。当多台主机经过一个路由器对外通讯时,路由器的WAN口IP地址不变,只需要改变端口号就可以了
(1)动态PAT
分为NAPT和Easy iP。
NAPT:私网IP和公网IP是多对一关系,公网IP地址池中只定义一个公网IP,私网IP只对应一个自定义的公网IP。
Easy IP:与NAPT相比,私网IP对应的是路由器外网接口的公网IP。
(2)静态PAT
NAT Server:用于公网客户端主动访问位于私网的服务器
实现外网客户端通过公网IP访问,路由器通过NAT把报文的目的地址转换成私网IP,然后根据路由表转发位于私网的服务器。
五、在ensp中设置NAT
1.静态NAT
全局模式下设置静态NAT
[R1]nat static global 8.8.8.8 inside 192.168.1.1
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat static enable ###在网口上启动nat static enable 功能[R1]dis nat static ###查看NAT静态配置信息
直接在接口上设置nat static
<Huawei>sys
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1 #进入外网口
[Huawei-GigabitEthernet0/0/1]ip add 12.0.0.254 24
[Huawei-GigabitEthernet0/0/1]nat static global 8.8.8.8 inside 192.168.1.1
#设置私网IP 192.168.1.1 经过nat转换为公网IP 8.8.8.8
经过数据抓包,在g0/0/0上源IP地址仍为192.168.1.1
在g0/0/1上显示源IP地址为8.8.8.8
2. 动态NAT
[Huawei]nat address-group 1 8.8.8.8 8.8.8.18 #新建一个名为1的nat地址池
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source any #创建ACL 使所有源地址都能通过
[Huawei-acl-basic-2000]dis th
[V200R003C00]
#
acl number 2000
rule 5 permit
#
return
[Huawei-acl-basic-2000]int g0/0/1
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
#将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换,
只做IP地址转换,默认为pat
[Huawei-GigabitEthernet0/0/1]dis nat outbound #查看NAT Outbound的信息
3.NAPT
[R1]nat address-group 1 8.8.8.8 8.8.8.8 ###使用一个固定IP
[R1]acl 2000 ###允许源地址为192.168.1.0/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.1.0 0.0.0.255
[R1-acl-basic-2000]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
4.Easy ip
[R1]acl 3000 #允许源地址为192.168.1.0/24网段的数据通过
[R1-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255
在外网口上设置IP地址转换
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000
#当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1]display nat session all ##查看NAT的流表信息
5.NAPT Server
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat server protocol tcp global
9.9.9.9 www inside 192.168.10.100 www
#在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global
current-interface 8080 inside 10.1.1.1 80
#在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定(www可用端口80代替)
[R1-GigabitEthernet0/0/1]nat server protocol tcp global
current-interface 2121 inside 10.1.1.2 ftp
#端口为21可以直接使用关键字“ftp”代替