NAT 实验:多私网环境下 NAPT、Easy IP 配置及 FTP 服务公网映射

NAT基本概念
  • 定义:网络地址转换(Network Address Translation,NAT)是一种将私有(保留)地址转化为合法公网 IP 地址的转换技术,它被广泛应用于各种类型 Internet 接入方式和各种类型的网络中。
  • 作用
    -- 解决 IP 地址短缺问题 :由于 IPv4 地址资源有限,使用私有 IP 地址的内部网络通过 NAT 可以共享少量的公网 IP 地址访问互联网。
    -- 增强网络安全性:NAT 隐藏了内部网络的真实 IP 地址,外部网络无法直接访问内部网络的主机,从而在一定程度上保护了内部网络的安全。
NAT 工作原理
  • 地址转换过程:
    -- 当内部网络的主机向外部网络发送数据包时,NAT 设备会将数据包的源 IP 地址从私有 IP 地址转换为公有 IP 地址,并记录这个转换关系(通常记录在 NAT 转换表中)。
    -- 当外部网络的主机响应数据包返回时,NAT 设备根据转换表将目的 IP 地址从公有 IP 地址转换回私有 IP 地址,然后将数据包转发给内部网络的主机。
  • NAT 转换表
    NAT 转换表是 NAT 设备维护的一个记录,用于存储内部私有 IP 地址与外部公有 IP 地址之间的映射关系。它包含了源 IP 地址、目的 IP 地址、源端口号、目的端口号以及转换后的地址和端口信息。
NAT 类型
  • 静态 NAT(Static NAT)
    原理:将一个私有 IP 地址固定地映射到一个公有 IP 地址。这种映射是一对一的,并且是永久的。
    应用场景:常用于需要向外部网络提供服务的内部服务器,如 Web 服务器、邮件服务器等,使得外部网络可以通过固定的公网 IP 地址访问内部服务器。
  • 动态 NAT(Dynamic NAT)
    原理:将多个私有 IP 地址映射到一组公有 IP 地址池中的一个可用地址。当内部主机需要访问外部网络时,NAT 设备从地址池中动态分配一个可用的公网 IP 地址进行转换。
    应用场景:适用于内部网络主机数量较多,但同时访问外部网络的主机数量相对较少的情况,可以有效利用公网 IP 地址资源。
  • 网络地址端口转换(NAPT,Network Address Port Translation)
    原理:也称为端口多路复用,它将多个私有 IP 地址映射到一个公有 IP 地址,通过不同的端口号来区分不同的内部主机。这样多个内部主机可以同时使用同一个公网 IP 地址访问外部网络。
    应用场景:是最常用的 NAT 类型,广泛应用于家庭和企业网络中,通过一个公网 IP 地址满足大量内部主机访问互联网的需求。
  • Easy IP
    原理:是一种特殊的 NAPT 方式,它直接使用接口的公网 IP 地址进行地址转换,无需配置专门的地址池。当接口的 IP 地址发生变化时,NAT 转换会自动使用新的 IP 地址。
    应用场景:适用于使用动态获取公网 IP 地址的场景,如 ADSL 拨号上网。
NAT 服务器(NAT Server)

原理:将内部服务器的特定服务端口映射到公网 IP 地址的相应端口,使得外部网络可以通过公网 IP 地址访问内部服务器的特定服务。

应用场景:常用于将内部的 FTP 服务器、Web 服务器等服务发布到公网,让外部用户可以访问这些服务。

NAT 的优缺点
  • 优点
    节省 IP 地址资源:通过 NAT 可以使用私有 IP 地址构建内部网络,大大节省了公网 IP 地址的使用。
    增强网络安全性:隐藏内部网络的真实 IP 地址,减少了外部网络对内部网络的直接攻击。
  • 缺点
    增加网络延迟:NAT 设备需要对数据包进行地址转换,这会增加一定的处理时间,导致网络延迟。
    影响某些应用程序的正常运行:一些基于 IP 地址进行通信的应用程序,如 IPsec VPN、某些 P2P 应用等,可能会受到 NAT 的影响而无法正常工作。
NAT 配置注意事项
  • ACL 的使用:在配置 NAT 时,通常需要使用访问控制列表(ACL)来指定哪些内部 IP 地址可以进行地址转换。ACL 的配置要准确,否则可能会导致部分内部主机无法访问外部网络。
  • 端口映射的正确性:在配置 NAT Server 时,要确保端口映射的正确性,包括协议类型(TCP 或 UDP)、公网端口和内部端口的对应关系等。
  • 地址池的管理:对于动态 NAT 和 NAPT,要合理管理地址池,确保地址池中有足够的可用地址,避免出现地址耗尽的情况。
实验拓扑
实验需求
  1. 按照图示配置 IP 地址
  2. 私网 A 通过 R1 接入到互联网,私网 B 通过 R3 接入到互联网
  3. 私网 A 内部存在 Vlan10 和 Vlan20,通过 R1 上单臂路由访问外部网络
  4. 私网 A 通过 NAPT 使 Vlan10 和 Vlan20 都能够使用 R1 的公网地址访问互联网
  5. 私网 B 通过在 R3 上配置 EASY IP 访问互联网
  6. 私网 A 配置 NAT SERVER 把 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问
实验步骤
  1. 设备命名和 IP 地址配置部分省略

  2. R1 和 R3 上配置默认路由指向公网,配置步骤略

  3. 私网 A 内部单臂路由配置部分略

  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 b
    [R1]acl basic 2000
    [R1-acl-ipv4-basic-2000]ru
    [R1-acl-ipv4-basic-2000]rule pe
    [R1-acl-ipv4-basic-2000]rule permit so
    [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]interface g0/1
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]
    [R1-GigabitEthernet0/1]nat
    [R1-GigabitEthernet0/1]nat ou
    [R1-GigabitEthernet0/1]nat outbound 2000 g
    [R1-GigabitEthernet0/1]nat outbound 2000 add
    [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1

    步骤 3:在 R1 的公网接口上配置 NAPT

    复制代码
    [R1]interface g0/1
    [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1 

    步骤 4:在 PCA 上 Ping R3 的公网地址,测试是否可以访问互联网

  5. 私网 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 的公网地址,测试是否可以访问互联网

  6. 私网 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 服务

总结:

本次实验展示了不同类型的NAT的配置和应用

  • NAPT(网络地址端口转换): 私网 A 中有 Vlan10(192.168.1.0/24)和 Vlan20(192.168.2.0/24)两个网段,只有一个公网地址 100.1.1.1 可用。通过配置 NAPT,R1 上创建基本 ACL 允许这两个网段的流量,然后创建 NAT 地址池(起始和结束地址都是 100.1.1.1),并在公网接口上配置 NAPT,使得 Vlan10 和 Vlan20 的主机可以使用 R1 的公网地址访问互联网。NAPT 利用端口号来区分不同的内部主机,多个内部主机可以同时使用同一个公网 IP 地址进行通信。
  • Easy IP: 私网 B 通过 R3 接入互联网,使用 Easy IP 技术。首先在 R3 上创建基本 ACL 允许 192.168.1.0/24 网段的流量,然后在公网接口上配置 Easy IP。Easy IP 是一种特殊的 NAPT 方式,它直接使用接口的公网 IP 地址进行地址转换,无需配置专门的地址池。
  • NAT Server: 私网 A 要将 FTPA 的 FTP 服务发布到公网,使 PCB 可以访问。在 R1 的公网接口上配置 NAT Server,将公网地址的 20 和 21 端口映射到 FTPA 的私网地址(192.168.1.10)的 20 和 21 端口。这样,外部网络的主机就可以通过 R1 的公网地址访问 FTPA 的 FTP 服务。
相关推荐
威迪斯特18 分钟前
Linux环境变量:深入解析与实用指南
java·linux·运维·服务器·管理·环境变量·用户环境变量
c无序20 分钟前
【Linux网络-NAT、代理服务、内网穿透】
linux·网络·智能路由器
π大星星️39 分钟前
VLAN综合实验报告
网络
小何学计算机42 分钟前
keepalived+nginx+tomcat高可用
运维·nginx·tomcat
冬冬小圆帽44 分钟前
网络安全威胁与防护措施(下)
网络·web安全·php
柃歌1 小时前
【USTC 计算机网络】第二章:应用层 - P2P、CDN
网络·网络协议·计算机网络·p2p
-指短琴长-1 小时前
网络编程套接字【端口号/TCP&UDP/网络字节序/socket编程接口/UDP&&TCP网络实验】
网络·tcp/ip·udp
do_you_like_van_游戏1 小时前
新版frp-0.61.0 实现泛解析域名穿透 以及 https启用
网络协议·http·https
云祺vinchin1 小时前
Q&A:备份产品的存储架构采用集中式和分布式的优劣?
大数据·运维·网络·分布式·架构
NEUMaple2 小时前
Jenkins Pipeline
运维·spring cloud·jenkins