NAT(网络地址转换协议)
NAT 网络地址转换
NAT概述:NAT(Network AddressTranslation)又称为网络地址转换,用于实现私有网络和公有网络之间的互访,应为在网路数据传输中目标地址为私网IP地址的数据会被路由黑洞吃掉,所以需要用到NTA来将私网IP转换为公网IP才能在互联网上实现数据传输。
NAT的功能和优缺点:
- NAT的功能:NAT不仅解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
- 带宽分享:这是NAT主机的最大功能
- 安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以client端的pc就具有一定程度的安全了,外界在进行portscan(端口扫描)的时候,就 侦测不到源Client端的PC
- NAT的优势:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性。
- NAT的缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)
NAT的工作原理
- NAT用来将内网地址和端口号转换成合法的公网地址和端口号,与公网主机进行通信。
- NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发。
工作过程:
数据包从内网发往外网时 NAT 会 变更源IP地址,由私网变为公网地址
数据包从外网回复内网时 NAT 会 变更目标IP地址,由公网地址变为私有地址
在网络传输中以私网地址为目标地址的数据会被丢弃
NAT类型
使用场景:私网主机主动访问外网服务器时使用
-
静态NAT:私网IP和公网IP是一对一的关系,并且需要一对一的绑定
-
动态NAT:私网IP和公网IP是一对一的关系,需要定义公网地址池。私网会轮询(一个个使用)地址池中的每个公网IP
-
静态PAT(NAPT、Easy_IP)
1.NAPT:私网IP 和公网IP是多对一的关系,公网IP地址池中只定义一个公网IP,私网IP只对应一个自定义的公网IP
2.Easy_IP:私网IP和公网IP是多对一的关系,直接使用路由器外网接口的IP,私网IP只对应路由器外网接口的公网IP
使用场景:公网客户端主动访问位于私网的服务器时
-
动态PAT(Net_server):<公网IP>:<外网端口>和<私网IP>:<私网端口> (12.0.0.254:8888 --> 192.168.1.3:80)是一对一的关系,一个公网IP和不同的端口可以对应不同的私网IP和端口
1.Net_server:实现外网客户端通过公网IP访问路由器通过NAT把报文的目的地址转换成私网地址,然后根据路由表转发给位于私网的服务器
配置方法
1.静态NAT的配置方法
在华为系统中没有路由黑洞这个说法所以私网地址也可以和公网地址通信,我们先用 PC2 ping 一下 PC1 然后抓包看一下
我们对路由器的两个端口都进行抓包
GE 0/0/1
GE 0/0/0
g0/0/0和g0/0/1端口的源地址和目标地址,都是PC1和PC2 的IP地址。
然后我们设置一下静态NAT让他进来的时候源地址是PC1的私网地址,出去的时候让它源地址变成公网地址。
静态NAT有两种配置方法
第一种全局模式下设置静态NAT
[Huawei]nat static global 8.8.8.8 inside 192.168.1.1 ##设置一个静态NAT将收到数据源IP地址
为192.168.1.1的数据在转发时转换为源地址为8.8.8.8的公网地址,在接收到目的地址为8.8.8.8的数据时将它
变为目标地址为192.168.1.1 的数据继续传输。
[Huawei]int g0/0/0 ##进入pc1的外网接口
[Huawei-GigabitEthernet0/0/0]nat static enable ##在网口上启用NAT功能
现在在让我们来用PC2ping一下PC1,看看路由器的两个端口的抓包情况
GE 0/0/1
路由器的进口还很正常源IP地址和目的IP地址就是PC1和PC2的IP地址
GE 0/0/0
到了路由器出口这里数据的源地址就变成我们刚刚在静态NAT中给PC1设置的公网地址了,目标地址没变还是PC1的IP地址。
另一种方法是直接进入端口设置NAT
[Huawei]int g0/0/0 ##直接进入接口
[Huawei-GigabitEthernet0/0/0]nat static global 8.8.8.8 inside 192.168.10.10 ##直接将NAT设置到端口上
查看静态NAT配置
[Huawei]dis nat static ##查看静态NAT配置
2.动态NAT配置
(1)静态PAT(NAPT)的配置方法
[Huawei]nat address-group 1 212.0.0.100 212.0.0.200 ##创建一个名为1的地址池范围是 212.0.0.100--212.0.0.200
[Huawei]acl 2000 ##创建acl 2000
[Huawei-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 ##给ACL 2000 添加一条允许192.168.1.0网段IP地址通过的规则
[Huawei-acl-basic-2000]q ##退出当前模式
[Huawei]int g0/0/0 ##进入外网接口
[Huawei-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 ##设置IP转换规则,调用ACL 2000的规则来筛选允许进行地址转换的IP
我们先用PC2ping一下PC1看看路由器两个端口的抓包情况。
PC1满足我们设置的ACL规则所以在经过路由器的时候进行了IP转换。
然后我们看一下用PC6pingPC1抓包是什么情况。
PC6pingPC1 的 源和目标IP 地址在路由器的进出口都没发生变化,应为我们设置的NAT 加入了ACL规则只允许192.168.1.0网段的IP在经过端口时可以进行IP地址转换。
(2)静态PAT(Easy IP)的配置方法
Easy IP 可以让多台内网计算机使用同一个外网接口的IP地址当做外网IP使用
[Huawei]acl 3000 ##创建高级ACL 3000
[Huawei-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255 ##添加一个规则允许所有192.168.1.0网段的IP通过
[Huawei-acl-adv-3000]int g0/0/0 ##进入外网接口
[Huawei-GigabitEthernet0/0/0]nat outbound 3000 ##在这个端口设置NAT并调用ACL 3000 的规则来筛选哪些IP地址可以进行转换
我们用192.168.1.0网段中的PC2ping一下PC1抓包看看
入口没有变化
出口的源IP地址变成了GE 0/0/0端口的IP地址。
(3)动态PAT(NAT server)的配置方法
使用场景:公网客户端主动访问位于私网的服务器时
NAT server在公网客户端主动访问位于私网的服务器时不仅可以转换IP地址还可以转换端口号
[Huawei]int g0/0/0 ##我们直接进入接口
[Huawei-GigabitEthernet0/0/0]nat server protocol tcp global current-interface 8888 inside 192.168.1.4 www
##然后在接口设置NAT 将私网IP地址192.168.1.4 映射到外网端口的IP地址上,将端口 www 映射成 8888
我们来试验一下
然后用公网内的客户端访问一下看看
这里我们访问的是公网IP地址12.0.0.254,端口号是8888,却能连接到私网内的服务器,是应为数据到达12.0.0.254的时候会进行NAT地址转换,转换成它们映射的私网地址和端口号,我们设置的这个公网IP映射的私网地址是192.168.1.4,8888端口映射的是80端口,公网内的客户端就是这样访问私网内的服务器的。
今天的内容就到这里结束啦,下次见喽。