目录
- 前言
- 一、搭建网络拓扑
- 1.1 配置PC机
- 1.2 配置客户路由器
- 1.3 配置ISP路由器
- 二、配置NAT
- 2.1 在客户路由器中配置NAT
- 2.2 测试是否配置成功
- 总结
前言
本篇文章是在了解NAT的原理基础上,通过使用Cisco Packet Tracer 网络模拟器实现模拟对NAT的配置,以加深对NAT的理解。
一、搭建网络拓扑
1.1 配置PC机
主机名 | IP地址 | 子网掩码 | 网关IP |
---|---|---|---|
PC3 | 192.168.10.2 | 255.255.255.0 | 192.168.10.1 |
PC4 | 192.168.10.3 | 255.255.255.0 | 192.168.10.1 |
PC3的配置如下:
PC4的配置如下
测试是否配置成功:
PC3成功ping通PC4,说明配置成功。
1.2 配置客户路由器
接口名 | IP地址 | 子网掩码 |
---|---|---|
fa0/0 | 192.168.10.1 | 255.255.255.0 |
fa0/1 | 66.1.1.1 | 255.255.255.0 |
配置接口fa0/0:
1. 进入特权模式
命令:enable
Router>enable
Router#2. 进入配置模式
命令:configure
Router#configure
Router(config)#3. 进入配置接口fa0/0
命令:interface fa0/0
Router(config)#interface fa0/04. 为接口配置ip地址
命令:ip address ip地址 子网掩码
Router(config-if)#ip address 192.168.10.1 255.255.255.0
5. 启动接口
命令:no shutdown
Router(config-if)#no shutdown
配置接口fa0/1:
退出接口配置
命令:exit
Router(config-if)#exit
Router(config)#1. 配置接口fa0/1
Router(config)#interface fa0/1
Router(config-if)#2. 配置ip
Router(config-if)#ip address 64.1.1.1 255.255.255.03. 开启接口
Router(config-if)#no shutdown
测试fa0/0是否配置成功,利用PC3ping fa0/0的IP地址。
成功ping通,说明配置成功。
测试fa0/1是否配置成功,利用PC3 ping fa0/1的IP地址
成功ping通,说明配置成功。
疑问:为什么PC3可以ping通fa0/1呢?
这就涉及到两个不同子网进行通信的原理了。过程如下:
- PC3 执行ping 66.1.1.1,发现这个IP和自己不在同一个网段。PC3向网关fa0/0发送一个ARP包,获取网关fa0/0的MAC地址;然后将这个MAC地址作为数据包的目的MAC地址,将数据包发给网关fa0/0
- 网关fa0/0收到这个数据包之后,根据查看数据包的目标IP,然后查看路由表,发现这个数据包属于66.1.1.0这个网段,然后将目的MAC改为fa0/1的MAC,网关fa0/0将这个数据包发给fa0/1。
- 网关fa0/1收到这个数据包后,发送一个应答包给PC3。
1.3 配置ISP路由器
接口名字 | IP地址 | 子网掩码 |
---|---|---|
fa0/0 | 66.1.1.254 | 255.255.255.0 |
配置如下:
1. 进入特权模式
命令:enable
Router>enable
Router#2. 进入配置模式
命令:configure
Router#configure
Router(config)#3. 进入配置接口fa0/0
命令:interface fa0/0
Router(config)#interface fa0/04. 为接口配置ip地址
命令:ip address ip地址 子网掩码
Router(config-if)#ip address 64.1.1.254 255.255.255.0
5. 启动接口
命令:no shutdown
Router(config-if)#no shutdown
测试是否配置成功,利用客户路由器 ping ISP路由器
以上,则成功搭建这个简单的网络拓扑。
二、配置NAT
在配置NAT之前,问:为什么要配置NAT呢?
在回答这个问题前,可以尝试让PC3去访问ISP路由器,看看结果如何。
结果发现,PC3无法访问ISP路由器。那么怎样才能访问呢?
通过测试发现,客户路由器是可以访问ISP路由器的,那么怎样可以借助客户路由器访问到ISP路由器呢?
答案:通过NAT。
这里就不讨论NAT的原理,有兴趣可查看另一篇文章: https://blog.csdn.net/pyc68/article/details/139420920?spm=1001.2014.3001.5501
2.1 在客户路由器中配置NAT
在客户路由器配置NAT的具体步骤如下:
- 创建ACL,用于过滤数据包,即哪些IP地址需要进行地址转换。
- 创建一个NAT地址池(公网IP地址池)。
- 把创建的ACL与NAT地址池进行映射。
- 将私网网关设置为内网口,将外网网关设置为外网口
配置的信息如下:
1. 创建ACL
命令:access-list acl编号 permit 私网IP网段 反向掩码
Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
Router(config)#2. 创建公网ip地址池
命令:ip nat pool 地址池名字 公网ip起始地址 公网ip结束地址 netmask 公网ip掩码这里在地址池创建66.1.1.2~66.1.1.5 四个公网IP,为地址转换提供
Router(config)#ip nat pool natpool 66.1.1.2 66.1.1.5 netmask 255.255.255.0
Router(config)#3. acl与地址池进行映射
命令:ip nat inside source list acl编号 pool 地址池名字 overload注:overload意思是开启端口映射
Router(config)#ip nat inside source list 1 pool natpool overload
Router(config)#4. 将fa0/0口设置为内网口
Router(config)#interface fa0/0
Router(config-if)#ip nat inside
Router(config-if)#
Router(config-if)#exit
Router(config)#5. 将fa0/1设置为外网口
Router(config)#interface fa0/1
Router(config-if)#ip nat outside
2.2 测试是否配置成功
再用PC3访问ISP路由器,查看是否成功
查看PC4是否可以访问ISP路由器
查看客户路由器表的NAT转换表
客户路由器根据nat转换表可以将ISP路由器的回包发给私网的对应主机。
总结
NAT这个技术可以将私网IP转换成公网IP后,实现访问互联网的功能。
私网IP无法直接访问互联网的本质原因是ISP路由器上没有关于私网IP的路由信息。