Cyber_Security_Notes/B. 第二阶段/拓扑练习/0902_NAPT.md
2024-09-02 16:50:39 +08:00

12 KiB
Raw Blame History

NAPT

image-20240902111523228

一、IP & Routing

  • PC、Client、Server

  • AR1

    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
    [AR1-GigabitEthernet0/0/0]int g0/0/1
    [AR1-GigabitEthernet0/0/1]ip add 100.1.1.1 29
    [AR1-GigabitEthernet0/0/1]quit
    [AR1]ip route-static 0.0.0.0 0 100.1.1.2
    
  • IPX-dx

    [ISP-dx]int g0/0/0
    [ISP-dx-GigabitEthernet0/0/0]ip add 100.1.1.2 29
    [ISP-dx-GigabitEthernet0/0/0]int g0/0/1
    [ISP-dx-GigabitEthernet0/0/1]ip add 200.1.1.254 24
    

二、NAPT单一公网地址

1、配置

  • AR1

    [AR1]acl 2000
    [AR1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
    [AR1-acl-basic-2000]quit
    [AR1]nat address-group 1 100.1.1.3 100.1.1.3		//单一公网地址
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
    

    解析:

    0902_动态NAT.md

2、测试

  • PC PING Server

    PC>ping 200.1.1.1
    
    Ping 200.1.1.1: 32 data bytes, Press Ctrl_C to break
    From 200.1.1.1: bytes=32 seq=1 ttl=253 time=63 ms
    From 200.1.1.1: bytes=32 seq=2 ttl=253 time=78 ms
    From 200.1.1.1: bytes=32 seq=3 ttl=253 time=62 ms
    From 200.1.1.1: bytes=32 seq=4 ttl=253 time=47 ms
    From 200.1.1.1: bytes=32 seq=5 ttl=253 time=63 ms
    
    --- 200.1.1.1 ping statistics ---
      5 packet(s) transmitted
      5 packet(s) received
      0.00% packet loss
      round-trip min/avg/max = 47/62/78 ms
    
  • Client 【success】

    image-20240902113419644

    多访问几次HTTP服务

  • AR1

    [AR1]dis nat session all //显示NAT会话表

    <AR1>dis nat session all
      NAT Session Table Information:
    
         Protocol          : TCP(6)
         SrcAddr  Port Vpn : 192.168.1.3     520
         DestAddr Port Vpn : 200.1.1.1       20480
         NAT-Info
           New SrcAddr     : 100.1.1.3      
           New SrcPort     : 10241
           New DestAddr    : ----
           New DestPort    : ----
    
         Protocol          : TCP(6)
         SrcAddr  Port Vpn : 192.168.1.3     1032
         DestAddr Port Vpn : 200.1.1.1       20480
         NAT-Info
           New SrcAddr     : 100.1.1.3      
           New SrcPort     : 10243
           New DestAddr    : ----
           New DestPort    : ----
    
         Protocol          : TCP(6)
         SrcAddr  Port Vpn : 192.168.1.3     776
         DestAddr Port Vpn : 200.1.1.1       20480
         NAT-Info
    

    解析: (以第一块信息为例)

    • NAT会话表的信息提供了关于当前活跃的NAT会话的详细信息。以下是输出内容的解释

      • Protocol: 传输控制协议TCP其协议号为6。

      • SrcAddr Port Vpn: 源地址和源端口号以及VPN实例。在这里源地址是192.168.1.3源端口号是520。

      • DestAddr Port Vpn: 目的地址和目的端口号以及VPN实例。这里的目的地址是200.1.1.1目的端口号是20480。

      NAT-Info 部分显示了NAT转换后的信息

      • New SrcAddr: 转换后的源地址这里是100.1.1.3这是地址组1中配置的公网IP地址。
      • New SrcPort: 转换后的源端口号这里是10241。这表明源端口号也发生了转换这在NAT过程中是常见的称为端口映射Port Mapping或端口转发Port Forwarding
      • New DestAddrNew DestPort: 目的地址和目的端口号在NAT转换过程中通常保持不变因此这里显示为"----"。

    这意味着来自192.168.1.3的源地址和端口号520的数据包在经过NAT转换后会使用新的源地址100.1.1.3和新的端口号10241去访问目的地址200.1.1.1的端口号20480。这种转换允许内部网络中的主机通过公网IP地址访问外部网络。

三、NAPT复数公网地址

1、配置

  • AR1

    删除之前的配置信息

    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1
    [AR1-GigabitEthernet0/0/1]quit
    [AR1]undo acl 2000
    [AR1]undo nat address-group 1
    
  • AR1

    [AR1]acl 2000
    [AR1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
    [AR1-acl-basic-2000]quit
    [AR1]nat address-group 1 100.1.1.3 100.1.1.5		//复数公网地址
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
    

    解析:

    • [AR1]nat address-group 1 100.1.1.3 100.1.1.5创建或修改编号为1的NAT地址组将包含从100.1.1.3到100.1.1.5的IP地址范围

2、测试

  • AR1

    <AR1>dis nat session all
      NAT Session Table Information:
    
         Protocol          : TCP(6)
         SrcAddr  Port Vpn : 192.168.1.5     264                                  
         DestAddr Port Vpn : 200.1.1.1       20480                                
         NAT-Info
           New SrcAddr     : 100.1.1.3      
           New SrcPort     : 10240
           New DestAddr    : ----
           New DestPort    : ----
    
         Protocol          : TCP(6)
         SrcAddr  Port Vpn : 192.168.1.4     264                                  
         DestAddr Port Vpn : 200.1.1.1       20480                                
         NAT-Info
           New SrcAddr     : 100.1.1.5      
           New SrcPort     : 10250
           New DestAddr    : ----
           New DestPort    : ----
    
         Protocol          : TCP(6)
         SrcAddr  Port Vpn : 192.168.1.3     2568                                 
         DestAddr Port Vpn : 200.1.1.1       20480                                
         NAT-Info
           New SrcAddr     : 100.1.1.4      
           New SrcPort     : 10244
           New DestAddr    : ----
           New DestPort    : ----
    

四、NAPT网段内无冗余IP

image-20240902141522705

网段 网络地址 可用主机地址 广播地址 子网掩码
100.1.1.0 /30 100.1.1.0 100.1.1.1 && 100.1.1.2 100.1.1.3 255.255.255.252

1、配置

  • 重启AR1ISP-dx

  • AR1

    // IP
    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
    [AR1-GigabitEthernet0/0/0]int g0/0/1
    [AR1-GigabitEthernet0/0/1]ip add 100.1.1.1 30
    [AR1-GigabitEthernet0/0/1]quit
    
    // Routing
    [AR1]ip route-static 0.0.0.0 0 100.1.1.2
    
    // ACL
    [AR1]acl 2000
    [AR1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
    [AR1-acl-basic-2000]quit
    
    // NAPT
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]nat outbound 2000
    
  • IPX-dx

    [ISP-dx]int g0/0/0
    [ISP-dx-GigabitEthernet0/0/0]ip add 100.1.1.2 30
    [ISP-dx-GigabitEthernet0/0/0]int g0/0/1
    [ISP-dx-GigabitEthernet0/0/1]ip add 200.1.1.254 24
    

2、测试

  • AR1

    <AR1>dis nat session all
    

五、NAT-ServerNAT服务器映射

image-20240902151900787

image-20240902151333560

1、配置

  • 通配

    • 重启AR1ISP-dx

    • AR1

      // IP
      [AR1]int g0/0/0
      [AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
      [AR1-GigabitEthernet0/0/0]int g0/0/1
      [AR1-GigabitEthernet0/0/1]ip add 100.1.1.1 29
      [AR1-GigabitEthernet0/0/1]quit
      
      // Routing
      [AR1]ip route-static 0.0.0.0 0 100.1.1.2
      
      // ACL
      [AR1]acl 2000
      [AR1-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
      [AR1-acl-basic-2000]quit
      
      // NATP
      [AR1]nat address-group 1 100.1.1.3 100.1.1.5
      [AR1]int g0/0/1
      [AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
      
    • ISP-dx

      [ISP-dx]int g0/0/0
      [ISP-dx-GigabitEthernet0/0/0]ip add 100.1.1.2 29
      [ISP-dx-GigabitEthernet0/0/0]int g0/0/1
      [ISP-dx-GigabitEthernet0/0/1]ip add 200.1.1.254 24
      
  • NAT-Server

    • AR1

      [AR1]int g0/0/1
      [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.6 80 inside 192.168.1.50 80
      

      解析:

      • nat server这是开始配置NAT服务器映射的命令。
      • protocol tcp指定映射的协议类型为TCP传输控制协议这是用于大多数网络服务的协议如HTTP、HTTPS、FTP等。
      • global 100.1.1.6 80指定映射到公网的IP地址和端口号。这里公网IP地址是100.1.1.6端口号是80。这意味着从外部网络访问100.1.1.6的TCP端口80时请求将被转发到内部网络。
      • inside 192.168.1.50 80指定内部网络的IP地址和端口号。这里内部服务器的IP地址是192.168.1.50端口号也是80。这意味着内部服务器正在使用TCP端口80提供服务。

      这条命令配置了一个NAT服务器映射它将外部网络对公网IP地址100.1.1.6的TCP端口80的访问请求映射到内部网络中IP地址为192.168.1.50的服务器的TCP端口80。这样外部网络用户就可以通过访问100.1.1.6:80来访问位于内部网络的服务器192.168.1.50:80上的服务。这种配置通常用于将内部的服务器如Web服务器暴露给外部网络同时隐藏内部网络的拓扑结构。

2、测试

  • Client4 访问 内网ServerHTTP

    image-20240902154749488

  • Client4 PING 内网Server2

    image-20240902162424380

3、拓展 - 映射ICMP协议

  • AR1

    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]nat server protocol icmp global 100.1.1.6 inside 192.168.1.50
    

六、TCP端口的NAT映射

image-20240902163025720

1、配置

  • 五、NAT-ServerNAT服务器映射 的环境下

  • AR1

    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.6 6969 inside 192.168.1.100 80
    [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.6 21 inside 192.168.1.100 21
    

    解析:

    1. [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.6 6969 inside 192.168.1.100 80

      • nat server表示这是一条NAT服务器配置命令。
      • protocol tcp指定要转换的协议类型为TCP。
      • global 100.1.1.6 6969指定全局地址和端口号。这里的全局地址是100.1.1.6端口号是6969。全局地址是公网地址用于在互联网上标识这台设备。
      • inside 192.168.1.100 80指定内部地址和端口号。这里的内部地址是192.168.1.100端口号是80。内部地址通常是局域网地址不需要在互联网上公开。

      这条命令的作用是将内部网络中的192.168.1.100主机的80端口映射到公网地址100.1.1.6的6969端口。这样外部网络中的用户可以通过访问100.1.1.6:6969来访问内部网络的192.168.1.100:80服务。

    2. [AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.6 21 inside 192.168.1.100 21

      • 这条命令与上一条命令类似也是配置NAT服务器。
      • global 100.1.1.6 21这次将100.1.1.6的21端口映射到内部网络。
      • inside 192.168.1.100 21内部网络的192.168.1.100主机的21端口。

      这条命令的作用是将内部网络中的192.168.1.100主机的21端口映射到公网地址100.1.1.6的21端口。这样外部网络中的用户可以通过访问100.1.1.6:21来访问内部网络的192.168.1.100:21服务通常这个端口用于FTP服务。

    总结这两条命令都是在路由器上配置了TCP端口的NAT映射使得内部网络的服务可以对外提供服务同时隐藏了内部网络的真实地址。

2、测试

  • Client4 访问 内网Server3HTTP

    image-20240902164008738

  • Client4 访问 内网Server3FTP

    image-20240902164458178