NAT转发之——NAPT(同时转换地址和端口)
网络地址端口转换NAPT
网络地址端口转换NAPT(Network Address Port Translation)是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。
NAPT 工作原理
地址转换:当内部网络中的设备发起与外部网络的通信时,NAPT会将源IP地址(私有地址)转换为公网IP地址。
端口转换:同时,NAPT还会更改源端口号,确保每个内部设备的通信请求都具有唯一的源IP地址和端口号组合。
映射表:NAPT设备维护一个映射表,记录内部IP地址和端口号到公网IP地址和端口号的转换关系。
数据包处理:当从外部网络返回的数据包到达NAPT设备时,设备会根据映射表将目的公网IP地址和端口号转换回对应的内部IP地址和端口号,然后将数据包转发给内部网络中的相应设备。
NAPT 的优点
IP地址节约:通过允许多个私有IP网络共享一个公网IP地址,NAPT显著减少了公网IP地址的需求。
安全性增强:由于私有网络的细节对外隐藏,NAPT提供了一定程度的安全保护,使得外部攻击者难以直接访问内部网络。
灵活性:NAPT使得家庭和小型企业能够轻松地建立自己的局域网,而无需为每个设备分配公网IP地址。
NAPT 的限制
应用限制:某些网络应用(如某些文件共享和视频通话服务)可能不支持NAPT,因为它们可能需要直接从外部网络访问内部设备。
性能影响:NAPT设备需要处理所有进出的数据包,这可能会引入额外的延迟,特别是在高流量情况下。
复杂性增加:配置和管理NAPT设备可能比简单的路由器更复杂,需要更多的网络知识。
实验步骤
1. 创建实验环境
2. 接口IP地址配置及开启Ping功能
配置接口g1/0/0
配置接口g1/0/1
3. 配置安全区域分别将g1/0/1加入trust区域、g1/0/2加入untrust区域
将g1/0/1加入trust区域
将g1/0/2加入untrust区域
4. 配置默认路由访问公网
5. 配置安全策略
[FW1]security-policy
[FW1-policy-security]rule name to_internet //创建策略名为to_internet
[FW1-policy-security-rule-policy1]source-zone trust //设置源区域为trust
[FW1-policy-security-rule-policy1]destination-zone untrust //设置目标区域为untrust
[FW1-policy-security-rule-policy1]source-address 192.168.10.0 24
[FW1-policy-security-rule-policy1]action permit //安全规则的动作,这里表示允许该规则流量的通过
6. 创建NAT地址池
nat address-group nat-pool
[FW1-address-group-bdqn]mode pat //设置模式为pat,因为NAPT不包含server-map所以不用配置global
[FW1-address-group-bdqn]section 0 1.1.1.10 1.1.1.11 //地址池数量由1.1.1.10~1.1.1.11
[FW1-address-group-bdqn]route enable //开启NAT路由
7. 配置NAT策略
[USG6000V1]nat-policy
[USG6000V1-policy-nat]rule name to_internet
[USG6000V1-policy-nat-rule-to_internet]source-zone trust
[USG6000V1-policy-nat-rule-to_internet]destination-zone untrust
[USG6000V1-policy-nat-rule-to_internet]source-address 192.168.10.0 24
[USG6000V1-policy-nat-rule-to_internet]action source-nat address-group nat-pool
[USG6000V1-policy-nat-rule-to_internet]dis th
8. 配置server
9. 测试结果
配置PC的IP地址
在任意PC上ping服务器,查看防火墙会话表,可以看到,同时转换IP地址时也转换端口号
因为NAPT可以实现多个私网地址共用一个或多个公网地址的地址转换方式,所以即使地址池只有两个IP地址,在PC1和PC2不停地给服务器发送数据的同时,PC3也可以进行IP地址转换。