NAT技术
因为ipv4地址枯竭,ipv6还没有大量用于市场,目前大部分的网络设备和网络应用都是基于ipv4的,所以诞生了NAT技术
网络地址转换NAT主要用于实现于内部网络的主机访问外部网络的功能。当前局域网
内网访问外网转换源ip转换
外网访问内部转换目标ip转换
NAT优点
- 节省公有合法ip地址
- 处理地址重叠
- 增强灵活性
- 安全性
NAT缺点
延迟增大
配置和维护的复杂性
不支持某些应用,可以通过静态NAT映射来避
NAT 应用场景
企业或家庭所使用的网络为私有网络,使用的是私有地址;运营商维护的网络为公共网络,使用的是公有地址。私有地址不能在公网中路由。
NAT一般部署在连接内网和外网的网关设备上。
NAT配置
静态NAT
- 静态ip实现了私有地址和公有地址一对一映射
- 一个公网ip只会分配给唯一且固定的内网主机
- 静态NAT实现了私有地址和公有地址的一对一映射。如果希望一台主机优先使用某个关联地址,或者想要外部网络使用一个指定的公网地址访问内部服务器时,可以使用静态NAT。但是在大型网络中,这种一对一的IP地址映射无法缓解公用地址短缺的问题。
global参数用于配置外部公网地址。
inside参数用于配置内部私有地址。
动态NAT
-
动态NAT基于地址池实现私有地址和公有地址的转换
-
动态NAT地址池中的地址用尽以后,只能等待被占用的公用IP被释放后,其他主机才能使用它来访问公网。
ip复用NAPT
网络地址端口转换NAPT允许多个内部地址映射到同一公有地址的不同端口
Easy IP
- Easy IP允许将多个内部地址映射到网关出接口地址上不同端口
- Easy IP适用于小规模局域网中的主机访问Internet的场景。小规模局域网通常部署在小型的网吧或者办公室中,这些地方内部主机不多,出接口可以通过拨号方式获取一个临时公网IP地址。Easy IP可以实现内部主机使用这个临时公网IP地址访问Internet。
- 本示例说明了Easy IP的实现过程。RTA收到一个主机A访问公网的请求报文,报文的源IP地址是192.168.1.1,源端口号是1025。RTA会建立Easy IP表项,这些表项指定了源IP地址和端口号与出接口的公网IP地址和端口号的映射关系。之后,根据匹配的Easy IP表项,将报文的源IP地址和端口号转换成出接口的IP地址和端口号,并转发报文到公网。报文的源IP地址转换成200.10.10.10/24,相应的端口号是284
- 路由器收到回复报文后,会根据报文的目的IP地址和端口号,查询Easy IP表项。路由器根据匹配的Easy IP表项,将报文的目的IP地址和端口号转换成私网主机的IP地址和端口号,并转发报文到主机。
NAT服务器
- 通过配置NAT服务器,可以使外网访问内网服务器
- NAT在使内网用户访问公网的同时,也屏蔽了公网用户访问私网主机的需求。当一个私网需要向公网用户提供Web和SFTP服务时,私网中的服务器必须随时可供公网用户访问。
- NAT服务器可以实现这个需求,但是需要配置服务器私网IP地址和端口号转换为公网IP地址和端口号并发布出去。路由器在收到一个公网主机的请求报文后,根据报文的目的IP地址和端口号查询地址转换表项。路由器根据匹配的地址转换表项,将报文的目的IP地址和端口号转换成私网IP地址和端口号,并转发报文到私网中的服务器。
NAT六种实现方式:
- 静态NAT:一个私网地址需要一个公网地址对应,不能节约IP
- 动态NAT:多个私网地址需要多个公网地址对应,不能节约IP
- 动态PAT的IP复用:一个公网地址可以提供多个私网地址一起上网,能节约IP(额外公网地址)最少会用到两个公网IP
- Easy IP配置:和动态PAT的IP复用类似,不过使用的是公司出口路由器IP地址映射,只会用到一个公网IP //最常用
- 静态PAT/NAT server:将一个公网地址的某个端口,对应到N个私网地址的某端口 //企业常用于在公网的客户端访问公司内部私网服务器
- NAT server外网接口IP复用:
静态NAT:
[Huawei-GigabitEthernet0/0/1]nat static global 61.139.2.5 inside 192.168.10.10
[Huawei]display nat static //查看配置的静态NAT条目
运营商路由器通过debug验证公司出口路由器是否进行了NAT转换:
<Huawei>debug ip icmp //开启icmp数据的debug信息显示
<Huawei>terminal debugging //将debug信息输出到终端显示
[Huawei]info-center enable //开启终端消息显示。
[Huawei]display nat session all //公司出口路由器查看nat转换条目,模拟器bug会卡住,且信息可能无法显示,需要长时间等待
[Huawei]reset nat session all //清除条目
动态NAT:
[Huawei]nat address-group 1 172.16.1.100 172.16.1.200 //配置公网IP地址范围
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat //表示一个内网地址对应一个外网地址,不进行端口
在模拟器中,是每一个数据包一个IP地址,如果地址池定义范围只有两个,那么一次ping包为五个,
就只有前两个包能通,后面三个由于没有更多的IP地址转换,因此无法与外网通信。
NAPT 动态NAT的IP复用:
[Huawei]nat address-group 1 172.16.1.100 172.16.1.100
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 //进行端口复用,相当于是动态PAT
会话表 查询:
[Huawei]display nat session all
修改、查询NAT表的老化时间:
[Huawei]firewall-nat session icmp aging-time 3600 //范围0-65535秒
[Huawei]dis firewall-nat session aging-time
---------------------------------------------
tcp protocol timeout : 600 (s)
tcp-proxy timeout : 10 (s)
udp protocol timeout : 120 (s)
icmp protocol timeout : 20 (s)
dns protocol timeout : 120 (s)
http protocol timeout : 120 (s)
ftp protocol timeout : 120 (s)
ftp-data protocol timeout : 120 (s)
rtsp protocol timeout : 60 (s)
rtsp-media protocol timeout : 120 (s)
sip protocol timeout : 1800 (s)
sip-media protocol timeout : 120 (s)
---------------------------------------------
Easy IP配置******:
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 //直接使用公网接口进行NAT转换,最大程度节约公网IP地址
NAT server/静态PAT:
一般用于公司员工在外网中访问公司内部服务器。
只需要以下命令即可:
[Huawei-GigabitEthernet0/0/1]nat server protocol tcp global 3.3.3.3 8080 inside 192.168.10.10 80
将当前接口设置为公网映射IP地址,将此地址映射到内网192.168.10.10:80中
[Huawei]dis nat server //查看PAT转换条目
NAT server外网接口IP复用:
[Huawei-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 192.168.10.10 80
awei]dis nat server //查看PAT转换条目
NAT server外网接口IP复用:
[Huawei-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 192.168.10.10 80