静态 ,动态 ,NAPT,Easy-IP ,NAT Server

本文介绍了不同类型的NAT配置实验,包括静态NAT、动态NAT、NAPT、EasyIP及NAT Server的具体配置过程与实验结果。通过这些实验,读者可以深入理解NAT的工作原理及其在网络中的应用。

静态NAT实验:
拓朴图:

 

PC基本配置:
PC1

 PC2

PC3

server 1

 路由器配置:
AR1(出口设备)

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]
    [Huawei]un in en
    Info: Information center is disabled.
    [Huawei]
    [Huawei]sys AR1
    [AR1]
    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.2 24
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]q
    [AR1]
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]ip add 192.168.2.2 24
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]q
    [AR1]
    [AR1]int g0/0/2
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]ip add 192.168.3.2 24
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]ip add 100.100.100.1 24
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat static global 100.100.100.3 inside 192.168.1.1 net
    mask 255.255.255.255
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat static global 100.100.100.4 inside 192.168.2.1 net
    mask 255.255.255.255
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat static global 100.100.100.5 inside 192.168.3.1 net
    mask 255.255.255.255
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]ip route-s    
    [AR1]ip route-static 0.0.0.0 0 100.100.100.2
    [AR1]

AR2(ISP)

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]
    [Huawei]un in en
    Info: Information center is disabled.
    [Huawei]
    [Huawei]sys AR2
    [AR2]
    [AR2]int g0/0/0
    [AR2-GigabitEthernet0/0/0]
    [AR2-GigabitEthernet0/0/0]ip add 100.100.100.2 24
    [AR2-GigabitEthernet0/0/0]
    [AR2-GigabitEthernet0/0/0]q
    [AR2]
    [AR2]int g0/0/1
    [AR2-GigabitEthernet0/0/1]
    [AR2-GigabitEthernet0/0/1]ip add 200.200.200.2 30
    [AR2-GigabitEthernet0/0/1]
    [AR2-GigabitEthernet0/0/1]q
    [AR2]

实验结果:

动态NAT实验:
拓朴图:

 

PC基础配置同上方静态一样
ISP路由器也同上
AR1(出口设备)

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]
    [Huawei]un in en
    Info: Information center is disabled.
    [Huawei]
    [Huawei]sys AR1
    [AR1]
    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.2 24
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]q
    [AR1]
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]ip add 192.168.2.2 24
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]q
    [AR1]
    [AR1]int g0/0/2
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]ip add 192.168.3.2 24
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]ip add 100.100.100.1 24
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]nat address-group 1 100.100.100.3 100.100.100.254
    [AR1]
    [AR1]acl 2000
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]rule 5 permit source 192.168.0.0 0.0.255.255
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat outbound 2000 address-group 1 no-pat
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]ip route-static 0.0.0.0 0 100.100.100.2
    [AR1]

实验结果:

NAPT实验:
拓扑图:

 

 
 PC,ISP,SEVER 1 配置依旧同上
只改变出口设备配置
AR1(出口设备)

    [Huawei]sys AR1
    [AR1]
    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.2 24
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]q
    [AR1]
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]ip add 192.168.2.2 24
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]q
    [AR1]
    [AR1]int g0/0/2
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]ip add 192.168.3.2 24
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]ip add 100.100.100.1 24
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]nat address-group 1 100.100.100.3 100.100.100.3
    [AR1]
    [AR1]acl 2000
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]rule 5 permit source 192.168.0.0 0.0.255.255
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat outbound 2000 address-group 1
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]ip route-static 0.0.0.0 0 100.100.100.2
    [AR1]
    [AR1]q

Easy IP实验:
拓朴图:

 

 其他配置依旧同上,只更改出口设备命令:
AR1(出口设备)

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]
    [Huawei]un in en
    Info: Information center is disabled.
    [Huawei]
    [Huawei]sys AR1
    [AR1]
    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.2 24
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]q
    [AR1]
    [AR1]int g0/0/1
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]ip add 192.168.2.2 24
    [AR1-GigabitEthernet0/0/1]
    [AR1-GigabitEthernet0/0/1]q
    [AR1]
    [AR1]int g0/0/2
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]ip add 192.168.3.2 24
    [AR1-GigabitEthernet0/0/2]
    [AR1-GigabitEthernet0/0/2]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]ip add 100.100.100.1 24
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]ip route-static 0.0.0.0 0 100.100.100.2
    [AR1]
    [AR1]acl 2000
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]rule 5 permit source 192.168.0.0 0.0.255.255
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat outbound 2000
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]

 NAT server配置实验:
拓朴图:

 

 

路由器配置:
AR1(出口设备)

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]
    [Huawei]un in en
    Info: Information center is disabled.
    [Huawei]
    [Huawei]sys AR1
    [AR1]
    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]ip add 192.168.1.2 24
    [AR1-GigabitEthernet0/0/0]
    [AR1-GigabitEthernet0/0/0]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]ip add 100.100.100.1 24
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]ip route-static 0.0.0.0 0 100.100.100.2
    [AR1]
    [AR1]acl 2000
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
    [AR1-acl-basic-2000]
    [AR1-acl-basic-2000]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat outbound 2000
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]q
    [AR1]
    [AR1]int g4/0/0
    [AR1-GigabitEthernet4/0/0]
    [AR1-GigabitEthernet4/0/0]nat server protocol tcp global 100.100.100.3 80 inside
     192.168.1.1 80
    [AR1-GigabitEthernet4/0/0]

AR2(ISP)

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]
    [Huawei]un in en
    Info: Information center is disabled.
    [Huawei]
    [Huawei]sys AR2
    [AR2]
    [AR2]int g0/0/0
    [AR2-GigabitEthernet0/0/0]
    [AR2-GigabitEthernet0/0/0]ip add 100.100.100.2 24
    [AR2-GigabitEthernet0/0/0]
    [AR2-GigabitEthernet0/0/0]q
    [AR2]
    [AR2]int g0/0/1
    [AR2-GigabitEthernet0/0/1]
    [AR2-GigabitEthernet0/0/1]ip add 200.200.200.2 24
    [AR2-GigabitEthernet0/0/1]
    [AR2-GigabitEthernet0/0/1]q
    [AR2]


 

<think>我们首先需要明确用户提到的四种NAT类型的定义(根据华为/思科等设备常见分类): 1. **静态NAT(Static NAT)**:一对一固定映射,内网IP固定映射到公网IP。 2. **动态NAT(Dynamic NAT)**:多对多映射,内网IP动态映射到公网IP池中的IP(不固定)。 3. **NAPT(Network Address Port Translation)**:多对一或多对多,同时映射IP和端口(最常见)。 4. **Easy IP**:多对一,使用路由器公网接口的IP进行转换(可视为NAPT的特例)。 实验方案需区分这四种类型,重点观察:IP映射行为(是否固定)、端口变化、映射关系数量。 ### 实验设计步骤 #### 1. **工具准备** - 内网设备:一台PC(Windows/Linux均可) - 公网设备:至少一台具有固定公网IP的服务器(可用云服务器) - 工具: - `curl` 或 `wget`(用于HTTP请求) - `nmap`(端口扫描) - Python脚本(发送自定义请求) #### 2. **核心检测逻辑** ```mermaid graph TD A[内网PC向公网服务器发起多次连接] --> B{服务器记录公网IP} B --> C[观察IP变化] C -->|IP固定| D[静态NATEasyIP] C -->|IP变化| E[动态NAT] D --> F[检查端口变化] F -->|端口变化| G[NAPTEasyIP] F -->|端口固定| H[静态NAT] G --> I[检查映射IP是否与网关出口IP相同] I -->|相同| J[EasyIP] I -->|不同| K[NAPT] ``` #### 3. **具体操作** - **步骤1:检测IP映射行为** - 在公网服务器启动HTTP服务(如`python -m http.server 8000`) - 内网PC连续发送5次请求(间隔10秒): ```bash for i in {1..5}; do curl http://<公网服务器IP>:8000; sleep 10; done ``` - 服务器端记录每次请求的客户端公网IP(通过日志获取)。 - **步骤2:判断IP类型** -5次请求的客户端公网IP **完全相同** → 可能是静态NATNAPTEasyIP(需进一步区分)。 -IP **变化**(且IP数量≤公网IP池大小)→ 动态NAT- **步骤3:区分固定IP下的子类型(静态NAT vs NAPT vs EasyIP)** - 在服务器用`nmap`扫描客户端公网IP的端口开放情况: ```bash nmap -Pn -p 1-100 <客户端公网IP> # 扫描前100个端口 ``` - **关键观察**: 1. **静态NAT**:所有端口开放状态与内网设备一致(一般不开放多余端口)。 2. **NAPT/EasyIP**:仅开放内网设备连接过的端口(有状态过滤)。 - 进一步区分NAPTEasyIP- 查询路由器WAN口公网IP(登录路由器管理界面查看)。 - 比较客户端公网IP与路由器WAN口IP- 相同 → **EasyIP** - 不同 → **NAPT** - **步骤4:动态NAT验证** - 同时用多台内网设备(如手机+PC)向服务器发起请求: - 若不同设备分配不同公网IP动态NAT - 若所有设备共用同一公网IP(但端口不同)→ NAPT(非动态NAT) #### 4. **简化方案(无公网服务器)** 使用免费API获取公网IP信息: ```bash # 内网PC执行(观察多次请求的IP和端口) curl https://api.ipify.org?format=json # 获取公网IP curl http://ifconfig.me/port # 获取连接使用的公网端口 ``` - **静态NAT**:IP和端口永远不变(除非内网应用端口变)。 - **NAPT/EasyIP**:IP不变,端口随连接变化。 - **动态NAT**:IP变化(需多次重连观察)。 ### 结果对照表 | 类型 | 公网IP变化 | 公网端口变化 | 多设备IP相同 | 映射IP=网关IP | |-------------|------------|--------------|--------------|---------------| | 静态NAT | 否 | 否 | 否(一般) | 不一定 | | 动态NAT | 是 | 否 | 可能 | 否 | | NAPT | 否 | 是 | 是 | 否 | | EasyIP | 否 | 是 | 是 | 是 | ### 注意事项 - **端口变化**:NAPTEasyIP会为每个连接分配新端口(即使同一内网IP+端口)。 - **多设备测试**:动态NAT要求公网IP池>1,否则退化为NAPT。 此方案可有效区分四种NAT类型,适用于企业或家庭路由器的NAT策略分析。 §§相关问题§§ 1.动态NAT环境中,如何确定路由器公网IP池的大小? 2. 使用nmap扫描公网IP的开放端口时,如何避免被误认为网络攻击? 3. 如果路由器同时启用了静态NAT动态NAT(混合模式),实验方案应如何调整? 4. EasyIPNAPT在端口映射行为上有何本质区别? 5. 在没有公网服务器的情况下,如何利用免费API实现自动化NAT类型检测脚本?</think>### 实验方案设计(区分静态IP NAT动态IP NATNAPTEasyIP) 针对非STUN标准的NAT类型(静态IP NAT动态IP NATNAPTEasyIP),需设计基于IP映射行为的检测方案。以下是完整的实验设计: --- #### **1. NAT类型定义** | 类型 | 核心特征 | |---------------|--------------------------------------------------------------------------| | **静态IP NAT** | 内网IP固定映射到指定公网IP1:1映射) | | **动态IP NAT** | 内网IP动态映射到公网IP池中的随机IP(N:1映射,IP不固定) | | **NAPT** | 网络地址端口转换(IP+端口映射),多主机共享公网IP | | **EasyIP** | 特殊NAPT,直接使用路由器WAN口IP进行转换(无独立公网IP池) | #### **2. 实验工具准备** - **内网设备**:Windows PC(主测试机)+ 手机/平板(多设备测试) - **公网检测点**: - 免费IP查询API:`https://api.ipify.org` - 端口检测服务:`https://www.yougetsignal.com/tools/open-ports/` - **关键软件**: - `curl`(Windows自带) - `nmap`(端口扫描) - Python脚本(自动化检测) #### **3. 核心检测流程** ```mermaid graph TD A[单设备发起连接] --> B{公网IP是否固定} B -->|固定| C[静态IPNAPT/EasyIP] B -->|变化| D[动态IP NAT] C --> E[多设备同时连接] E --> F{所有设备公网IP是否相同} F -->|相同| G[NAPTEasyIP] F -->|不同| H[静态IP NAT] G --> I[检查公网IP是否=路由器WAN口IP] I -->|是| J[EasyIP] I -->|否| K[标准NAPT] ``` #### **4. 具体操作步骤** 1. **基础IP映射检测(单设备)** Windows执行命令: ```powershell # 连续5次查询公网IP(间隔10秒) 1..5 | % { curl https://api.ipify.org; Start-Sleep 10 } ``` - **结果分析**: - 5IP相同 → 排除动态IP NAT - IP变化 → 动态IP NAT 2. **多设备并发测试** - 同时用PC和手机访问:`https://api.ipify.org` - **结果分析**: - 两设备显示**不同公网IP** → 静态IP NAT - 两设备显示**相同公网IP** → NAPTEasyIP 3. **NAPT vs EasyIP 区分** - 登录路由器管理页面,记录WAN口IP(如`192.0.2.100`) - 在PC上查询实际公网IP: ```powershell curl https://api.ipify.org ``` - **判定**: - 公网IP = WAN口IP → **EasyIP** - 公网IP ≠ WAN口IP → **标准NAPT** 4. **端口映射验证(确认NAPT)** 使用Python创建端口检测脚本: ```python # detect_nat_type.py import socket, requests, time from threading import Thread def port_test(port): s = socket.socket() s.bind(('0.0.0.0', port)) s.listen(1) print(f"内网端口 {port} 已开放") # 开放两个不同端口 Thread(target=port_test, args=(5000,)).start() Thread(target=port_test, args=(5001,)).start() # 查询公网端口开放状态 time.sleep(3) # 等待端口生效 resp = requests.get("https://www.yougetsignal.com/tools/open-ports/?remoteAddress={公网IP}") print(f"开放的公网端口: {resp.json()['ports']}") ``` - **NAPT特征**:内网不同端口映射为不同公网端口 #### **5. 结果对照表** | 检测项 | 静态IP NAT | 动态IP NAT | NAPT | EasyIP | |---------------------------|-----------|-----------|--------|--------| | 单设备多次IP一致性 | ✓ | ✗ | ✓ | ✓ | | 多设备公网IP相同 | ✗ | ✗ | ✓ | ✓ | | 公网IP = 路由器WAN口IP | - | - | ✗ | ✓ | | 端口映射变化(NAPT特征) | ✗ | ✗ | ✓ | ✓ | --- #### **6. 特殊场景处理** - **动态IP NAT验证**: - 持续24小时每小时记录IP,出现≥2个不同IP即确认 - **防火墙干扰**: - 临时关闭Windows防火墙:`netsh advfirewall set allprofiles state off` - **路由器权限不足时**: - 通过traceroute判断出口IP: ```powershell tracert -d 8.8.8.8 | select -Last 1 ``` 此方案完全基于IP/端口映射行为分析,无需STUN协议,30分钟内可完成所有类型检测。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值