NAT及其配置

产生背景

随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4的,因此IPv6广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户
可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。

NAT应用场景

在这里插入图片描述
①企业或家庭所使用的网络为私有网络,使用的是私有地址;运营商维护
的网络为公共网络,使用的是公有地址。私有地址不能在公网中路由。(进行NAT的原因)
②NAT一般部署在连接内网和外网的网关设备上。

一、静态NAT

在这里插入图片描述
在这种情况下,一个内网地址对应一个公网地址,是比较奢侈(浪费 )的。类似于交换机的MAC地址表,记录了对应关系。这里是记录了私网与公网的对应关系。
①静态NAT实现了私有地址和公有地址的一对一映射。
②一个公网IP只会分配给唯一且固定的内网主机。

二、动态NAT

该文件为“普通文本型”。 以下是思科路由器中 **NAT网络地址转换)命令的配置大全及其详解**,适用于中小型网络环境,常见于 Packet Tracer、GNS3 或真实设备配置。 --- ## 🌐 NAT 类型概述 NAT 主要分为三种类型: | 类型 | 说明 | |------|------| | 静态 NAT(Static NAT) | 一对一固定映射,用于发布内网服务器 | | 动态 NAT(Dynamic NAT) | 多对多地址池映射,临时但不节约公网IP | | PAT / NAPT(端口地址转换) | 多对一,最常用,通过端口号区分会话 | --- ## ✅ 一、基础接口标记命令 在所有 NAT 配置前必须先定义内外网络接口。 ```bash interface fa0/0 ip nat inside ! 标记为内网接口(连接私有网络) ! interface fa0/1 ip nat outside ! 标记为外网接口(连接公网或另一子网) ``` > ⚠️ 若未设置 `inside` 和 `outside`,NAT 将无法工作! --- ## ✅ 二、静态 NAT 配置(一对一) ### 🔹 命令格式: ```bash ip nat inside source static <私有IP> <公网IP> ``` ### 🔍 功能: 实现一个内部本地地址到一个全局地址的永久一对一映射。 ### 💡 应用场景: 让外网用户能访问内网中的 Web、FTP 等服务器。 ### 📌 示例: 将内网 $192.168.1.100$ 映射为公网 $203.0.113.5$ ```bash R1(config)# ip nat inside source static 192.168.1.100 203.0.113.5 ``` 现在外部用户访问 $203.0.113.5$ 即可到达该服务器。 --- ## ✅ 三、静态端口映射(Port Forwarding) ### 🔹 命令格式(TCP/UDP): ```bash ip nat inside source static tcp <内网IP> <内网端口> <公网IP> <公网端口> ip nat inside source static udp <内网IP> <内网端口> <公网IP> <公网端口> ``` ### 🔍 功能: 允许外部通过特定端口访问内网服务,提升安全性并节省公网IP。 ### 📌 示例:发布 Web 和远程桌面服务 ```bash ! 发布 HTTP 服务(80端口) ip nat inside source static tcp 192.168.1.100 80 203.0.113.5 80 ! 发布 RDP 远程桌面(3389端口) ip nat inside source static tcp 192.168.1.101 3389 203.0.113.5 3389 ``` > 外部访问 $203.0.113.5:80$ → 自动转发至 $192.168.1.100:80$ --- ## ✅ 四、动态 NAT(基本形式) ### 🔹 步骤1:定义 ACL 允许哪些内网主机可以出站 ```bash access-list 1 permit 192.168.1.0 0.0.0.255 ``` ### 🔹 步骤2:创建公网 IP 地址池 ```bash ip nat pool MYPOOL 203.0.113.10 203.0.113.20 netmask 255.255.255.0 ``` > 表示可用的公网IP范围是 $203.0.113.10 \sim 20$ > > 每个内网主机获得一个独立公网IP(不复用端口) ### 🔹 步骤3:绑定 ACL 与 地址池 ```bash ip nat inside source list 1 pool MYPOOL ``` ✅ 效果:匹配 ACL 的主机可使用池中任一公网IP进行通信。 ❌ 缺点:公网IP消耗大,不推荐用于大规模部署。 --- ## ✅ 五、PAT(Port Address Translation)——最常用方式 也称为 **NAPT(Network Address Port Translation)** 或 “过载 NAT”。 ### 🔹 命令格式: ```bash ip nat inside source list <ACL编号> interface <外网接口> overload ``` ### 📌 示例: ```bash ! 定义允许上网的内网网段 access-list 1 permit 192.168.1.0 0.0.0.255 ! 启用PAT,使用外网接口IP作为转换地址,并启用端口复用 ip nat inside source list 1 interface fa0/1 overload ``` > 所有内网主机共享 `fa0/1` 接口的公网IP,通过不同源端口号区分连接。 ✅ 优点:只需一个公网IP即可支持整个内网访问互联网。 📌 实际应用中最常见的配置! --- ## ✅ 六、查看与调试命令 ### 🔎 查看 NAT 转换表 ```bash show ip nat translations ``` 输出示例: ``` Pro Inside global Inside local Outside local Outside global tcp 203.0.113.5:80 192.168.1.100:80 192.168.2.50:1234 192.168.2.50:1234 ``` ### 🔎 查看 NAT 统计信息 ```bash show ip nat statistics ``` 显示: - 命中次数 - 使用中的条目数 - 外部/内部接口状态 - ACL 匹配情况 ### 🔎 清除 NAT 表项(测试用) ```bash clear ip nat translation * ``` > 删除所有动态转换条目,静态条目不受影响。 --- ## ✅ 七、完整配置示例(典型企业小网络) ```bash ! 设置主机名和接口IP hostname Router interface fa0/0 ip address 192.168.1.1 255.255.255.0 ip nat inside no shutdown interface fa0/1 ip address 203.0.113.1 255.255.255.0 ip nat outside no shutdown ! 允许内网主机上网 access-list 1 permit 192.168.1.0 0.0.0.255 ! 启用PAT(最重要的一行!) ip nat inside source list 1 interface fa0/1 overload ! 发布内网Web服务器(静态映射) ip nat inside source static tcp 192.168.1.100 80 203.0.113.1 80 ``` --- ## ❗ 常见问题排查 | 问题 | 可能原因 | 解决方法 | |------|----------|-----------| | `ping` 不通但接口正常 | 缺少默认路由 | 添加 `ip route 0.0.0.0 0.0.0.0 <下一跳>` | | NAT 表为空 | ACL 错误或无流量触发 | 检查 ACL 是否放行流量 | | 外网无法访问服务器 | 未配置静态映射 | 添加 `ip nat inside source static ...` | | 上网慢或断连频繁 | PAT 资源耗尽 | 检查并发连接数,优化超时时间 | --- ### 知识点(列出解答该问题需要的知识点) 1. **NAT网络地址转换)** 实现私有IP与公有IP之间的映射,解决IPv4地址不足问题。 2. **静态与动态NAT区别** 静态为一对一固定映射;动态从地址池分配,适合临时通信。 3. **PAT(端口地址转换)** 多对一转换,利用端口号复用单个公网IP,广泛应用于家庭和企业出口。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘不忙!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值