NAT技术
一、NAT概述
1、 概念
- NAT(Network Address Translation)地址转换技术,它可以将IP数据报文头中的IP地址转换为另一个IP地址,并通过转换端口号达到地址复用的目的。
- 简单理解为,我们在现实的网络通信中NAT技术 将我们发送的信息 的私网IP在路由器中转换为公网IP,使得我们可以不限区域通信。
2、作用
-
现阶段由于IPV4的公网地址资源已经枯竭,无法做到给每一个设备都分配一个公网地址。但我们设备间需要通信,在同一个区域里,我们可以通过配置私网IP使用局域网通信,但我们想访问不同区域的网络资源,比如百度、腾讯等,这时我们需要使用NAT技术,将一个区域的私网IP转换为一个或多个公网IP在公网上进行通信。
-
有效避免来自外网的攻击,可以很大程度上提高网络安全性。
-
控制内网主机访问外网,同时也可以控制外网主机访问内网,解决了内网和外网不能互通的问题。
-
宽带分享:这是NAT主机的最大功能。
-
优点: 节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
-
缺点: 延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)
3、NAT的工作原理
- NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通 信
- NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的 一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发
二、静态NAT
- 静态 NAT 实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。
- 静态 NAT不能节约公网地址,但可以起到隐藏内部网络的作用。 内部网络向外部网络发送报文时,静态 NAT 将报文的源IP地址替换为对应的公网地址:外部网络向内部网 络发送响应报文时,静态NAT 将报文的目的地址替换为相应的私网地址
配置
sys
nat static global 10.0.0.10 inside 192.168.1.10 netmask 255.255.255.255
int g0/0/1 #外网口
nat static enable
删除
int g0/0/1
undo nat static enable
q
undo nat static global 10.0.0.10 inside 192.168.1.10 netmask 255.255.255.255
第一种:
全局模式下设置静态 NAT
[R1]nat static global 122.1.2.100 inside 192.168.1.1
[R1]int g0/0/1 # 外网口
[Rl-GigabitEthernet0/0/1]nat static enable
# 在网口上启动nat static enable]
第二种:直接在接口上声明nat static
[R1]int g0/0/1 # 外网口
[R1-GigabitEthernet0/0/1]nat static global 122.1.2.100 inside 192.168.1.1
[R1]dis nat static
三、动态NAT
1、概念
-
动态 NAT :多个私网IP地址对应多个公网IP地址,基于地址池一对一映射
-
静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。
-
为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
# 创建名为1的地址池 且指定地址池的范围
nat address-group 1 200.0.0.80 200.0.0.90
# 查看地址池
dis nat address-group
# 添加acl
acl 2000
rule permit source 192.168.1.10 0.0.0.255
q
int g0/0/1 # 外网口
nat outbound 2000 address-group 1 no-pat
#查看outbound信息
q
dis nat outbound
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池
[R1]nat address-group 1 212.0.0.100 212.0.0.200
###新建一个名为1的nat地址池
3、定义访问控制列表
[R1]acl 2000
##创建ACI,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[R1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[R1-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255
4、在外网口接上设置动态IP地址转换
[R1-acl-basic-2000] int g0/0/1 ###外网口
[R1-Gigabi tEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
#将ACL2000匹配的数据转换为改接口的IP地址作为源地址(nopat不做端C1转换,只做IP地址转换,
默认为pat)
四、 PAT端口多路复用
1、概念
- PAT又称为NAPT (Network Address Port Translation) ,它实现一个公网地址和多个私网地址之间的映 射,因此可以节约公网地址。 PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同 端口号,因而仍然能够共享同一地址。
2、NAPT 的作用
- 改变数据包的ip地址和端口号
- 能够大量节约公网IP地址
- NAPT 的类型有以下
- 动态 PAT,包括 NAPT 和 Easy IP
- 静态 PAT,包括 NAT Server
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
- NAPT:多个私网 IP 地址:对应固定外网 IP 地址(比如200.1.1.10),配置方法与动态 NAT 类似
nat address-group 1 200.0.0.80 200.0.0.90
acl 2000
rule permit source 192.168.1.10 0.0.0.255
nat outbound 2000 address-group 1
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池
[R1]nat address-group 1 200.1.1.10 200.1.1.10 ###使用一个固定IP
3、定义访问控制列表
[R1]acl 2000
五、EasyIP
- EasyIP: 多个私网IP地址对应外网口公网IP地址(比如12.0.0.1)
acl 3000
rule permit ip source 192.168.30.0 0.0.0.255
int g0/0/2
nat outbound 3000
display nat session all测试
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池 由于直接实验外网口IP地址所以不用再定义IP地址池
3、定义访问控制列表
[R1]acl 3000 ###允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-3000]rule permit ip source 192.168.30.0 0.0.0.255
4、在外网口,上设置IP地址转换
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000
##当ac13000匹配的源IP数据到达此接口时,转换为该接口的IP地址:做为源地址
[R1]display nat session all ###查看NAT的流表信息