网络地址转换(NAT)
NAT概述
- 地址转换出现的背景
- NAT的工作原理
- Network Address Translation,网络地址转换
- NAT实现方式
- 静态转换(Static Translation)
- 动态转换(Dynamic Translation)
- 端口多路复用(Port Address Translation,PAT)
- NAT包含4类地址
NAT的转换条目
- 简单转换条目
- 扩展转换条目
NAT的概念与实现方式
-
NAT包含4类地址
-
数据包从内网发往外网时,NAT会将数据包的源IP由私网地址转换成公网地址
-
当响应的数据包要从变网返回到私网时,NAT会将数据包的目的IP由公网地址转换成私网地址
-
NAT的工作原理:
- NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
- NAT外部的主机无法主动跟位于NA?内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发
- NAT功能:NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
- 宽带分享:这是NAT主机的最大功能。
- 安全防护:NAT之内的Pc联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以ciient端的Pc就具有一定程度的安全了,外界在进行portscan(端日扫描)的时候,就侦测不到源client端的PC。
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)
NAT的术语与转换表
NAT实现方法的工作过程
NAT的特性
NAT的配置
R1配置
- SYS R1
- undo info-center enable
- int g0/0/0
ip address 192.168.10.1 24 - undo shutdown
- int g0/0/1
ip address 12.0.0.1 24 - undo shutdown
全局配置
- nat static global 8.8.8.8 inside 192.168.10.10
- int g0/0/1
- nat static enable
- acl 2000
- rule permit source 192.168.10.10
- rule deny source 192.168.10.0 0.0.0.255
- nat outbound 2000 address-group 2
EasyIp:
多个私网IP地址对应路由器外网接口的公网IP地址(比如12.0.0.1)
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池由于直接实验外网口IP地址所以不用再定义P地址池
-
SYS R1
-
undo info-center enable
-
int g0/0/0
ip address 192.168.10.1 24 -
undo shutdown
-
int g0/0/1
ip address 12.0.0.1 24 -
undo shutdown
-
acl 2000
-
rule permit source 192.168.10.0 0.0.0.255
-
int g0/0/1
nat outbound 2000 -
拓扑图
详细步骤
NAT使用场景与配置:
-
1)内网客户端主动访问外网服务器
静态NAT:私网IP和公网IP是一对一的关系,并且需要预先做好一对一的映射绑定
nat static global <自定义公网IP> inside <私网IP>
动态NAT:私网IP和公网IP是一对一的关系,需要先自定义一个公网IP地址池,私网IP在地址转换时会轮询地址池中的每个公网IP
NATP:私网IP和公网IP是多对一的关系,公网IP地址池只自定义一个公网IP,所有私网IP在地址转换时只会转换为一个自定义的公网IP
easyip:私网IP和公网IP是多对一的关系,直接使用NAT设备的外网接口的公网IP,所有私网IP在地址转换时只会转换为NAT设备的外网接口的公网IP -
2)外网客户端访问位于内网的服务器
Nat Server:私网IP和公网IP是多对一的关系,一个公网IP和不同的端口可以转换成的私网IP和端口
先修改从公网发送到内网的数据包的目的IP地址,Nat Server会将数据包的目的IP由公网地址转换成私网地址
再修改从内网返回到外网的响应数据包的源IP地址,Nat Server会将数据包的源IP由私网地址转换成公网地址
nat server protocol tcp global <自定义公网IP> <外网端口> inside <私网IP> <内网端口> #比如访问 9.9.9.9:8080 --> 192.168.10.100:80
nat server protocol tcp global current-interface <外网端口> inside <私网IP> <内网端口> #比如访问 接口IP:8080 --> 192.168.10.100:80
ACL 访问控制列表
作用:过滤经过接口的数据包,根据规则要么允许/放通 数据包,要么拒绝/丢弃 数据包
ACL的工作原则:
可以在一个路由器接口的一个方向配置一个ACL;
一个ACL可以配置多条规则;
规则匹配时是从上往下依次匹配,匹配到即停止,华为设备默认的规则为放通所有数据包
ping 12.0.0.120 -S 192.168.100.100
规则一:放通 源地址为 192.168.10.0/24 网段的地址
规则二:拒绝 目的地址为 12.0.0.0/24 网段的地址
规则三:拒绝 源地址为 10.0.0.0/8 网段的地址
默认放通所有
华为ACL的类型:
基本ACL(ID范围为2000~2999):只匹配源IP
高级ACL(ID范围为3000~3999):可以根据 协议类型 源IP 目的IP 源端口 目的端口 匹配
二层ACL(ID范围为4000~4999):可以根据 源MAC 目的MAC 二层协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现