1、引入
网络迅速发展, IPv4地址不敷使用;私有地址用户需要访问Internet;因此NAT提供私有地址到公有地址的转换
2、概念
定义: 通过把私有地址转换为公有地址,使私有IP地址主机可以访问互联网,来解决公网地址不够用的问题
通过把私有地址转换为公有地址,使私有IP地址主机可以访问互联网,来解决公网地址不够用的问题
3、分类
- 静态 NAT:把公有地址一对一的静态映射给私有地址使用
- 基本 NAT:建立公有地址池,把地址池中的公有地址动态的映射给私有地址使用(谁缺谁用)
- NAPT:(从里面出去)把公有地址和端口动态的映射给私有地址和端口,实现一个公有地址可以供多个私有地址同时使用访问互联网. 转换源IP和源端口,数据回包还原目的IP和目的端口
- Easy IP:适用于公网地址不固定的场景
- NAT Server:(从外面进来)把公网IP的某个端口固定映射到私网IP的某个端口,让公网上的用户可以主动访问私网中的服务。转换目的IP和目的端口,数据回包还原源IP和源端口
4、实验
1、配置 IP 地址部分略
2、R1 和 R3 上配置默认路由指向公网,配置步骤略
3、私网 A 内部单臂路由配置部分
R1: int g0/1.1 vlan-type dotlq vid 10 ip add 192.168.1.254 24
SW: vlan 10 port g1/0/2 vlan 20 port g1/0/3 int g1/0/1 port link-type trunk port trunk permit vlan 10 20
4、私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公网地址访问互联网
分析:根据需求得知,ACL 需要配置允许 192.168.1.0/24 和 192.168.2.0/24 网段;私网 A 只有 1 个公网地址可用,意味着创建的 NAT 地址池起始和结束地址就都是 100.1.1.1
步骤 1:R1 上创建基本 ACL,允许 192.168.1.0/24 和 192.168.2.0/24 网段
[R1]acl basic 2000 [R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255 [R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
步骤 2:R1 上创建 NAT 地址池,设置公网地址
[R1]nat address-group 1 [R1-address-group-1]address 100.1.1.1 100.1.1.1
步骤 3:在 R1 的公网接口上配置 NAPT
[R1]interface g0/1 [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
步骤 4:在 PCA 上 Ping R3 的公网地址,测试是否可以访问互联网
<PCA>ping 100.2.2.3 Ping 100.2.2.3 (192.168.2.10): 56 data bytes, press CTRL_C to break 56 bytes from 100.2.2.3: icmp_seq=0 ttl=254 time=22.000 ms 56 bytes from 100.2.2.3: icmp_seq=1 ttl=254 time=51.000 ms 56 bytes from 100.2.2.3: icmp_seq=2 ttl=254 time=21.000 ms 56 bytes from 100.2.2.3: icmp_seq=3 ttl=254 time=43.000 ms 56 bytes from 100.2.2.3: icmp_seq=4 ttl=254 time=34.000 ms
私网 B 通过在 R3 上配置 EASY IP 访问互联网
分析:根据需求得知,ACL 需要配置允许 192.168.1.0/24 网段;使用 EASY IP,就无需配置 NAT 地址池,直接在公网接口上配置即可,EASY IP 会自动识别公网接口的 IP 地址
步骤 1:R3 上创建基本 ACL,允许 192.168.1.0/24 网段
[R3]acl basic 2000 [R3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
步骤 2:在 R3 的公网接口上配置 EASY IP
[R3]interface g0/0 [R3-GigabitEthernet0/0]nat outbound 2000
步骤 4:在 PCB 上 Ping R1 的公网地址,测试是否可以访问互联网
<PCB>ping 100.1.1.1 Ping 100.1.1.1 (192.168.1.10): 56 data bytes, press CTRL_C to break 56 bytes from 100.1.1.1: icmp_seq=0 ttl=254 time=32.000 ms 56 bytes from 100.1.1.1: icmp_seq=1 ttl=254 time=29.000 ms 56 bytes from 100.1.1.1: icmp_seq=2 ttl=254 time=41.000 ms 56 bytes from 100.1.1.1: icmp_seq=3 ttl=254 time=33.000 ms 56 bytes from 100.1.1.1: icmp_seq=4 ttl=254 time=34.000 ms
私网 A 配置 NAT SERVER 把 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问
分析:根据需求得知,需要发布 FTPA 的 FTP 服务,也就是把 R1 的公网地址的 20 和 21 端口映射到 FTPA 的私网地址
配置 FTP 服务步骤
略(见上一个博客)
步骤 1:在 R1 的公网接口上配置 NAT SERVER,映射端口 20 和 21
[R1-GigabitEthernet0/1]nat server protocol tcp global current-interface 20 21 inside 192.168.1.10 20 21
步骤 2:在 PCB 上测试是否能够通过 R1 的公网地址访问 FTPA 的 FTP 服务
<PCB>ftp 100.1.1.1 Press CTRL+C to abort. Connected to 100.1.1.1 (100.1.1.1). 220 FTP service ready. User (100.1.1.1:(none)): zhangwei