【eNSP 项目实战】双 ISP 策略路由 + NAT Server + Easy-IP
【eNSP 项目实战】双 ISP 策略路由 + NAT Server + Easy-IP:一篇打通企业出口选路实验
项目关键词:eNSP、USG 防火墙、双 ISP、ISP 路由、OSPF、策略路由、IP-Link、NAT Server、Easy-IP、用户认证、安全策略
这次实验是一个非常典型的企业双出口场景:内网有财务部、研发部和 Web Server;外网有电信、联通两个运营商网络;公网用户需要从不同运营商入口访问内网 Web,内网不同部门访问 FTP 时也要走指定运营商链路。

先看最终效果
本实验最终实现 4 个核心目标:
| 业务场景 | 实现效果 |
|---|---|
| 公网用户1访问企业 Web | 通过电信 DNS 解析到 FW1 的 GE1/0/1 入口,再经 NAT Server 映射到内网 Web Server |
| 公网用户2访问企业 Web | 通过联通 DNS 解析到 FW1 的 GE1/0/2 入口,再经 NAT Server 映射到内网 Web Server |
| 财务部访问 FTP Server | 使用策略路由强制走电信 ISP1 链路 |
| 研发部访问 FTP Server | 使用策略路由强制走联通 ISP2 链路 |
一句话总结:公网访问内网用 NAT Server,内网访问公网用 Easy-IP,访问 FTP 的出接口由策略路由决定,链路可用性由 IP-Link 检测。
一、实验拓扑
本次作业拓扑如下:

网络可以拆成 4 个区域:
| 区域 | 设备 | 网段 | 说明 |
|---|---|---|---|
| 企业内网 | Client1、Client2、Web Server、LSW1 | 192.168.1.0/24、192.168.2.0/24、192.168.3.0/24 | 财务部、研发部、内网 Web |
| 电信 ISP1 | R4、电信 DNS、公网用户1 | 14.0.0.0/24、100.1.1.0/24、101.1.1.0/24 | 电信侧公网环境 |
| 联通 ISP2 | R2、联通 DNS、公网用户2 | 12.0.0.0/24、200.1.1.0/24、102.1.1.0/24 | 联通侧公网环境 |
| Internet | R3、FTP Server | 23.0.0.0/24、34.0.0.0/24、50.0.0.0/24 | 公网骨干与 FTP 服务 |
二、需求拆解
图中需求可以拆成 8 个模块:
-
Client1 属于财务部,Client2 属于研发部。
-
企业内网存在一台 Web Server,地址为
192.168.3.1/24。 -
FW1 导入电信和联通 ISP 路由网段,并补充缺省路由。
-
公网路由器 R2、R3、R4 运行 OSPF,实现公网环境全网可达。
-
公网用户1 通过电信 DNS 解析企业 Web 域名,并从 FW1 的 GE1/0/1 进入访问。
-
公网用户2 通过联通 DNS 解析企业 Web 域名,并从 FW1 的 GE1/0/2 进入访问。
-
财务部访问 FTP Server 走电信,研发部访问 FTP Server 走联通,使用策略路由和 IP-Link 检测。
-
财务部采用免认证方式,研发部采用匿名认证方式,并编写精准安全策略。
三、地址规划

1. 企业内网地址
| 设备 | VLAN | IP 地址 | 网关 | 说明 |
|---|---|---|---|---|
| Client1 | VLAN 10 | 192.168.1.1/24 | 192.168.1.254 | 财务部 |
| Client2 | VLAN 20 | 192.168.2.1/24 | 192.168.2.254 | 研发部 |
| Web Server | VLAN 30 | 192.168.3.1/24 | 192.168.3.254 | 企业内网 Web |
| FW1 GE1/0/0.10 | VLAN 10 | 192.168.1.254/24 | - | 财务部网关 |
| FW1 GE1/0/0.20 | VLAN 20 | 192.168.2.254/24 | - | 研发部网关 |
| FW1 GE1/0/0.30 | VLAN 30 | 192.168.3.254/24 | - | Web Server 网关 |
2. 防火墙外联地址
| 接口 | IP 地址 | 对端 | 说明 |
|---|---|---|---|
| FW1 GE1/0/1 | 14.0.0.1/24 | R4:14.0.0.4 | 电信 ISP1 出口 |
| FW1 GE1/0/2 | 12.0.0.1/24 | R2:12.0.0.2 | 联通 ISP2 出口 |
3. 公网环境地址
| 设备 | IP 地址 | 网关 | 说明 |
|---|---|---|---|
| 电信 DNS Server | 100.1.1.1/24 | 100.1.1.254 | 电信 DNS |
| 联通 DNS Server | 200.1.1.1/24 | 200.1.1.254 | 联通 DNS |
| 公网用户1 | 101.1.1.1/24 | 101.1.1.254 | 使用电信 DNS |
| 公网用户2 | 102.1.1.1/24 | 102.1.1.254 | 使用联通 DNS |
| FTP Server | 50.0.0.1/24 | 50.0.0.254 | 公网 FTP 服务 |
四、LSW1 配置:内网 VLAN 接入
LSW1 连接 Client1、Client2、Web Server 和 FW1。GE0/0/1 上联 FW1,配置为 Trunk;GE0/0/2、GE0/0/3、GE0/0/4 分别作为 VLAN 10、20、30 的 Access 口。
<Huawei> system-view [Huawei] sysname LSW1 [LSW1] vlan batch 10 20 30 [LSW1] interface GigabitEthernet0/0/1 [LSW1-GigabitEthernet0/0/1] port link-type trunk [LSW1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20 30 [LSW1-GigabitEthernet0/0/1] quit [LSW1] interface GigabitEthernet0/0/2 [LSW1-GigabitEthernet0/0/2] port link-type access [LSW1-GigabitEthernet0/0/2] port default vlan 10 [LSW1-GigabitEthernet0/0/2] quit [LSW1] interface GigabitEthernet0/0/3 [LSW1-GigabitEthernet0/0/3] port link-type access [LSW1-GigabitEthernet0/0/3] port default vlan 20 [LSW1-GigabitEthernet0/0/3] quit [LSW1] interface GigabitEthernet0/0/4 [LSW1-GigabitEthernet0/0/4] port link-type access [LSW1-GigabitEthernet0/0/4] port default vlan 30 [LSW1-GigabitEthernet0/0/4] quit [LSW1] save
检查命令:
[LSW1] display vlan [LSW1] display port vlan
五、FW1 接口与安全区域配置
FW1 的 GE1/0/0 接内网交换机,通过子接口承载 VLAN 10、20、30;GE1/0/1 接电信 ISP;GE1/0/2 接联通 ISP。
<USG6000V> system-view [USG6000V] sysname FW1 [FW1] interface GigabitEthernet1/0/0 [FW1-GigabitEthernet1/0/0] undo shutdown [FW1-GigabitEthernet1/0/0] quit [FW1] interface GigabitEthernet1/0/0.10 [FW1-GigabitEthernet1/0/0.10] vlan-type dot1q 10 [FW1-GigabitEthernet1/0/0.10] ip address 192.168.1.254 255.255.255.0 [FW1-GigabitEthernet1/0/0.10] quit [FW1] interface GigabitEthernet1/0/0.20 [FW1-GigabitEthernet1/0/0.20] vlan-type dot1q 20 [FW1-GigabitEthernet1/0/0.20] ip address 192.168.2.254 255.255.255.0 [FW1-GigabitEthernet1/0/0.20] quit [FW1] interface GigabitEthernet1/0/0.30 [FW1-GigabitEthernet1/0/0.30] vlan-type dot1q 30 [FW1-GigabitEthernet1/0/0.30] ip address 192.168.3.254 255.255.255.0 [FW1-GigabitEthernet1/0/0.30] quit [FW1] interface GigabitEthernet1/0/1 [FW1-GigabitEthernet1/0/1] ip address 14.0.0.1 255.255.255.0 [FW1-GigabitEthernet1/0/1] undo shutdown [FW1-GigabitEthernet1/0/1] quit [FW1] interface GigabitEthernet1/0/2 [FW1-GigabitEthernet1/0/2] ip address 12.0.0.1 255.255.255.0 [FW1-GigabitEthernet1/0/2] undo shutdown [FW1-GigabitEthernet1/0/2] quit
安全区域建议这样划分:
| 区域 | 接口 | 说明 |
|---|---|---|
| trust | GE1/0/0.10、GE1/0/0.20 | 内网用户区 |
| dmz | GE1/0/0.30 | 内网 Web 服务器区 |
| untrust_dx | GE1/0/1 | 电信出口 |
| untrust_lt | GE1/0/2 | 联通出口 |
[FW1] firewall zone trust [FW1-zone-trust] add interface GigabitEthernet1/0/0.10 [FW1-zone-trust] add interface GigabitEthernet1/0/0.20 [FW1-zone-trust] quit [FW1] firewall zone dmz [FW1-zone-dmz] add interface GigabitEthernet1/0/0.30 [FW1-zone-dmz] quit [FW1] firewall zone name untrust_dx [FW1-zone-untrust_dx] set priority 5 [FW1-zone-untrust_dx] add interface GigabitEthernet1/0/1 [FW1-zone-untrust_dx] quit [FW1] firewall zone name untrust_lt [FW1-zone-untrust_lt] set priority 5 [FW1-zone-untrust_lt] add interface GigabitEthernet1/0/2 [FW1-zone-untrust_lt] quit
如果老师要求只使用默认 untrust 区域,也可以把 GE1/0/1 和 GE1/0/2 都加入默认 untrust。本文单独划分两个外网区域,是为了让策略更精准、验证更直观。
六、公网路由器 OSPF 配置
R2、R3、R4 运行 OSPF,用来保证公网环境可达。FW1 不参与公网 OSPF,而是通过 ISP 路由和缺省路由访问公网。
1. R4 电信 ISP1
<R4> system-view [R4] sysname R4 [R4] interface GigabitEthernet0/0/0 [R4-GigabitEthernet0/0/0] ip address 14.0.0.4 255.255.255.0 [R4-GigabitEthernet0/0/0] quit [R4] interface GigabitEthernet0/0/1 [R4-GigabitEthernet0/0/1] ip address 100.1.1.254 255.255.255.0 [R4-GigabitEthernet0/0/1] quit [R4] interface GigabitEthernet0/0/2 [R4-GigabitEthernet0/0/2] ip address 34.0.0.4 255.255.255.0 [R4-GigabitEthernet0/0/2] quit [R4] interface GigabitEthernet0/0/3 [R4-GigabitEthernet0/0/3] ip address 101.1.1.254 255.255.255.0 [R4-GigabitEthernet0/0/3] quit [R4] ospf 1 router-id 4.4.4.4 [R4-ospf-1] area 0 [R4-ospf-1-area-0.0.0.0] network 14.0.0.0 0.0.0.255 [R4-ospf-1-area-0.0.0.0] network 34.0.0.0 0.0.0.255 [R4-ospf-1-area-0.0.0.0] network 100.1.1.0 0.0.0.255 [R4-ospf-1-area-0.0.0.0] network 101.1.1.0 0.0.0.255 [R4-ospf-1-area-0.0.0.0] quit [R4-ospf-1] quit
2. R2 联通 ISP2
<R2> system-view [R2] sysname R2 [R2] interface GigabitEthernet0/0/0 [R2-GigabitEthernet0/0/0] ip address 12.0.0.2 255.255.255.0 [R2-GigabitEthernet0/0/0] quit [R2] interface GigabitEthernet0/0/1 [R2-GigabitEthernet0/0/1] ip address 200.1.1.254 255.255.255.0 [R2-GigabitEthernet0/0/1] quit [R2] interface GigabitEthernet0/0/2 [R2-GigabitEthernet0/0/2] ip address 23.0.0.2 255.255.255.0 [R2-GigabitEthernet0/0/2] quit [R2] interface GigabitEthernet0/0/3 [R2-GigabitEthernet0/0/3] ip address 102.1.1.254 255.255.255.0 [R2-GigabitEthernet0/0/3] quit [R2] ospf 1 router-id 2.2.2.2 [R2-ospf-1] area 0 [R2-ospf-1-area-0.0.0.0] network 12.0.0.0 0.0.0.255 [R2-ospf-1-area-0.0.0.0] network 23.0.0.0 0.0.0.255 [R2-ospf-1-area-0.0.0.0] network 200.1.1.0 0.0.0.255 [R2-ospf-1-area-0.0.0.0] network 102.1.1.0 0.0.0.255 [R2-ospf-1-area-0.0.0.0] quit [R2-ospf-1] quit
3. R3 Internet
<R3> system-view [R3] sysname R3 [R3] interface GigabitEthernet0/0/0 [R3-GigabitEthernet0/0/0] ip address 34.0.0.3 255.255.255.0 [R3-GigabitEthernet0/0/0] quit [R3] interface GigabitEthernet0/0/1 [R3-GigabitEthernet0/0/1] ip address 23.0.0.3 255.255.255.0 [R3-GigabitEthernet0/0/1] quit [R3] interface GigabitEthernet0/0/2 [R3-GigabitEthernet0/0/2] ip address 50.0.0.254 255.255.255.0 [R3-GigabitEthernet0/0/2] quit [R3] ospf 1 router-id 3.3.3.3 [R3-ospf-1] area 0 [R3-ospf-1-area-0.0.0.0] network 34.0.0.0 0.0.0.255 [R3-ospf-1-area-0.0.0.0] network 23.0.0.0 0.0.0.255 [R3-ospf-1-area-0.0.0.0] network 50.0.0.0 0.0.0.255 [R3-ospf-1-area-0.0.0.0] quit [R3-ospf-1] quit
检查 OSPF:
[R2] display ospf peer [R3] display ospf peer [R4] display ospf peer [R3] display ip routing-table
七、FW1 ISP 路由与缺省路由
作业目录中已有两个 ISP 路由文件:
| 文件 | 对应运营商 | 包含网段 |
|---|---|---|
isp1.csv |
电信 ISP1 | 100.1.1.0-100.1.1.255 |
isp2.csv |
联通 ISP2 | 200.1.1.0-200.1.1.255 |
在 FW1 的 Web 页面中,可以进入“网络 > 路由 > ISP 路由”,分别导入 isp1.csv 和 isp2.csv,并绑定对应出口:
| ISP 路由 | 下一跳 | 出接口 |
|---|---|---|
| 电信 ISP1 | 14.0.0.4 | GE1/0/1 |
| 联通 ISP2 | 12.0.0.2 | GE1/0/2 |
如果设备版本不支持 ISP 路由导入,实验中也可以用静态路由模拟:
[FW1] ip route-static 100.1.1.0 255.255.255.0 14.0.0.4 [FW1] ip route-static 200.1.1.0 255.255.255.0 12.0.0.2 [FW1] ip route-static 101.1.1.0 255.255.255.0 14.0.0.4 [FW1] ip route-static 102.1.1.0 255.255.255.0 12.0.0.2 [FW1] ip route-static 0.0.0.0 0.0.0.0 14.0.0.4 preference 60 [FW1] ip route-static 0.0.0.0 0.0.0.0 12.0.0.2 preference 80
这里默认电信为主出口,联通为备用出口。访问 FTP 的路径不靠普通缺省路由决定,而是由后面的策略路由强制指定。
八、DNS 解析与 NAT Server
公网用户访问企业 Web 时,访问的域名都是 www.aliyun.com,但不同 DNS 返回不同公网入口:
| DNS Server | 解析记录 | 返回地址 | 对应入口 |
|---|---|---|---|
| 电信 DNS 100.1.1.1 | www.aliyun.com |
14.0.0.1 | FW1 GE1/0/1 |
| 联通 DNS 200.1.1.1 | www.aliyun.com |
12.0.0.1 | FW1 GE1/0/2 |

在 FW1 上配置两条 NAT Server,将两个公网入口都映射到内网 Web Server:
[FW1] nat server web_dx protocol tcp global 14.0.0.1 80 inside 192.168.3.1 80 [FW1] nat server web_lt protocol tcp global 12.0.0.1 80 inside 192.168.3.1 80
如果当前 USG 镜像支持使用接口地址作为公网地址,也可以使用接口型写法:
[FW1] nat server web_dx protocol tcp global interface GigabitEthernet1/0/1 80 inside 192.168.3.1 80 [FW1] nat server web_lt protocol tcp global interface GigabitEthernet1/0/2 80 inside 192.168.3.1 80
不同 eNSP USG 版本的 NAT Server 命令格式可能略有差异,关键字段不变:公网地址、外部端口、内网地址、内部端口。
九、地址对象与用户组设计
为了写精准策略,先创建地址对象。
[FW1] ip address-set Finance_Client type object [FW1-object-address-set-Finance_Client] address 0 192.168.1.1 mask 32 [FW1-object-address-set-Finance_Client] quit [FW1] ip address-set RD_Client type object [FW1-object-address-set-RD_Client] address 0 192.168.2.1 mask 32 [FW1-object-address-set-RD_Client] quit [FW1] ip address-set Web_Server type object [FW1-object-address-set-Web_Server] address 0 192.168.3.1 mask 32 [FW1-object-address-set-Web_Server] quit [FW1] ip address-set FTP_Server type object [FW1-object-address-set-FTP_Server] address 0 50.0.0.1 mask 32 [FW1-object-address-set-FTP_Server] quit [FW1] ip address-set Public_User1 type object [FW1-object-address-set-Public_User1] address 0 101.1.1.1 mask 32 [FW1-object-address-set-Public_User1] quit [FW1] ip address-set Public_User2 type object [FW1-object-address-set-Public_User2] address 0 102.1.1.1 mask 32 [FW1-object-address-set-Public_User2] quit [FW1] ip address-set ISP_DNS type object [FW1-object-address-set-ISP_DNS] address 0 100.1.1.1 mask 32 [FW1-object-address-set-ISP_DNS] address 1 200.1.1.1 mask 32 [FW1-object-address-set-ISP_DNS] quit
认证部分建议在 FW1 Web 页面配置:
| 用户组 | 地址组 | 认证方式 |
|---|---|---|
| Finance | Finance_Client | 免认证 |
| RD | RD_Client | 匿名认证 |
认证策略建议:
| 策略 | 源地址 | 目的地址 | 认证动作 |
|---|---|---|---|
auth_finance_noauth |
Finance_Client | FTP_Server | 免认证 |
auth_rd_anonymous |
RD_Client | FTP_Server | 匿名认证 |
十、策略路由与 IP-Link
财务部和研发部访问的目标都是 FTP Server,但要求走不同 ISP:
-
财务部 Client1 访问 FTP Server,走电信 GE1/0/1。
-
研发部 Client2 访问 FTP Server,走联通 GE1/0/2。

1. IP-Link 检测设计
| IP-Link | 探测目标 | 出接口 | 下一跳 | 说明 |
|---|---|---|---|---|
iplink_dx |
100.1.1.1 | GE1/0/1 | 14.0.0.4 | 检测电信链路 |
iplink_lt |
200.1.1.1 | GE1/0/2 | 12.0.0.2 | 检测联通链路 |
配置示例:
[FW1] ip-link check enable [FW1] ip-link name iplink_dx [FW1-iplink-iplink_dx] destination 100.1.1.1 [FW1-iplink-iplink_dx] interface GigabitEthernet1/0/1 [FW1-iplink-iplink_dx] next-hop 14.0.0.4 [FW1-iplink-iplink_dx] mode icmp [FW1-iplink-iplink_dx] quit [FW1] ip-link name iplink_lt [FW1-iplink-iplink_lt] destination 200.1.1.1 [FW1-iplink-iplink_lt] interface GigabitEthernet1/0/2 [FW1-iplink-iplink_lt] next-hop 12.0.0.2 [FW1-iplink-iplink_lt] mode icmp [FW1-iplink-iplink_lt] quit
如果命令行不支持上述写法,可以在 Web 页面中创建链路健康检查对象,类型选择 ICMP,分别绑定电信和联通出口。
2. 策略路由设计
策略路由需要同时考虑源地址和认证方式:
| 策略 | 源 | 用户/认证 | 目的 | 动作 |
|---|---|---|---|---|
pbr_finance_ftp_dx |
192.168.1.1 | Finance 免认证 | 50.0.0.1 | 下一跳 14.0.0.4,出 GE1/0/1 |
pbr_rd_ftp_lt |
192.168.2.1 | RD 匿名认证 | 50.0.0.1 | 下一跳 12.0.0.2,出 GE1/0/2 |
结构化 CLI 示例:
[FW1] policy-based-route [FW1-policy-pbr] rule name pbr_finance_ftp_dx [FW1-policy-pbr-rule-pbr_finance_ftp_dx] source-zone trust [FW1-policy-pbr-rule-pbr_finance_ftp_dx] source-address address-set Finance_Client [FW1-policy-pbr-rule-pbr_finance_ftp_dx] source-user user-group /default/Finance [FW1-policy-pbr-rule-pbr_finance_ftp_dx] destination-address address-set FTP_Server [FW1-policy-pbr-rule-pbr_finance_ftp_dx] track ip-link iplink_dx [FW1-policy-pbr-rule-pbr_finance_ftp_dx] action pbr egress-interface GigabitEthernet1/0/1 next-hop 14.0.0.4 [FW1-policy-pbr-rule-pbr_finance_ftp_dx] quit [FW1-policy-pbr] rule name pbr_rd_ftp_lt [FW1-policy-pbr-rule-pbr_rd_ftp_lt] source-zone trust [FW1-policy-pbr-rule-pbr_rd_ftp_lt] source-address address-set RD_Client [FW1-policy-pbr-rule-pbr_rd_ftp_lt] source-user user-group /default/RD [FW1-policy-pbr-rule-pbr_rd_ftp_lt] destination-address address-set FTP_Server [FW1-policy-pbr-rule-pbr_rd_ftp_lt] track ip-link iplink_lt [FW1-policy-pbr-rule-pbr_rd_ftp_lt] action pbr egress-interface GigabitEthernet1/0/2 next-hop 12.0.0.2 [FW1-policy-pbr-rule-pbr_rd_ftp_lt] quit [FW1-policy-pbr] quit
不同 USG 版本对 PBR 中 source-user 的支持和命令格式可能不同。如果命令行不支持用户组匹配,可以在 Web 页面中配置,或者退化为“源 IP + 目的 IP”的策略路由,再用认证策略和安全策略保证身份边界。
十一、Easy-IP:内网访问外网源地址转换
内网访问 FTP Server 属于出站访问,需要做源 NAT。这里采用 Easy-IP,也就是直接使用出接口地址做源地址转换。
[FW1] nat-policy [FW1-policy-nat] rule name easyip_finance_dx [FW1-policy-nat-rule-easyip_finance_dx] source-zone trust [FW1-policy-nat-rule-easyip_finance_dx] destination-zone untrust_dx [FW1-policy-nat-rule-easyip_finance_dx] source-address address-set Finance_Client [FW1-policy-nat-rule-easyip_finance_dx] destination-address address-set FTP_Server [FW1-policy-nat-rule-easyip_finance_dx] action source-nat easy-ip [FW1-policy-nat-rule-easyip_finance_dx] quit [FW1-policy-nat] rule name easyip_rd_lt [FW1-policy-nat-rule-easyip_rd_lt] source-zone trust [FW1-policy-nat-rule-easyip_rd_lt] destination-zone untrust_lt [FW1-policy-nat-rule-easyip_rd_lt] source-address address-set RD_Client [FW1-policy-nat-rule-easyip_rd_lt] destination-address address-set FTP_Server [FW1-policy-nat-rule-easyip_rd_lt] action source-nat easy-ip [FW1-policy-nat-rule-easyip_rd_lt] quit [FW1-policy-nat] quit
转换结果:
| 源主机 | 原始源地址 | 出接口 | NAT 后源地址 |
|---|---|---|---|
| Client1 | 192.168.1.1 | GE1/0/1 | 14.0.0.1 |
| Client2 | 192.168.2.1 | GE1/0/2 | 12.0.0.1 |
十二、安全策略精准编写

策略顺序建议如下:
| 顺序 | 策略名称 | 源区域 | 目的区域 | 源/目的 | 服务 | 动作 |
|---|---|---|---|---|---|---|
| 1 | allow_iplink_probe |
local | untrust_dx/untrust_lt | FW1 -> ISP_DNS | ICMP | permit |
| 2 | allow_public1_web_dx |
untrust_dx | dmz | Public_User1 -> Web_Server | HTTP | permit |
| 3 | allow_public2_web_lt |
untrust_lt | dmz | Public_User2 -> Web_Server | HTTP | permit |
| 4 | allow_finance_ftp_dx |
trust | untrust_dx | Finance_Client -> FTP_Server | FTP | permit |
| 5 | allow_rd_ftp_lt |
trust | untrust_lt | RD_Client -> FTP_Server | FTP | permit |
| 6 | 默认规则 | any | any | any | any | deny |
安全策略 CLI 示例:
[FW1] security-policy [FW1-policy-security] rule name allow_iplink_probe [FW1-policy-security-rule-allow_iplink_probe] source-zone local [FW1-policy-security-rule-allow_iplink_probe] destination-zone untrust_dx untrust_lt [FW1-policy-security-rule-allow_iplink_probe] destination-address address-set ISP_DNS [FW1-policy-security-rule-allow_iplink_probe] service icmp [FW1-policy-security-rule-allow_iplink_probe] action permit [FW1-policy-security-rule-allow_iplink_probe] quit [FW1-policy-security] rule name allow_public1_web_dx [FW1-policy-security-rule-allow_public1_web_dx] source-zone untrust_dx [FW1-policy-security-rule-allow_public1_web_dx] destination-zone dmz [FW1-policy-security-rule-allow_public1_web_dx] source-address address-set Public_User1 [FW1-policy-security-rule-allow_public1_web_dx] destination-address address-set Web_Server [FW1-policy-security-rule-allow_public1_web_dx] service http [FW1-policy-security-rule-allow_public1_web_dx] action permit [FW1-policy-security-rule-allow_public1_web_dx] quit [FW1-policy-security] rule name allow_public2_web_lt [FW1-policy-security-rule-allow_public2_web_lt] source-zone untrust_lt [FW1-policy-security-rule-allow_public2_web_lt] destination-zone dmz [FW1-policy-security-rule-allow_public2_web_lt] source-address address-set Public_User2 [FW1-policy-security-rule-allow_public2_web_lt] destination-address address-set Web_Server [FW1-policy-security-rule-allow_public2_web_lt] service http [FW1-policy-security-rule-allow_public2_web_lt] action permit [FW1-policy-security-rule-allow_public2_web_lt] quit [FW1-policy-security] rule name allow_finance_ftp_dx [FW1-policy-security-rule-allow_finance_ftp_dx] source-zone trust [FW1-policy-security-rule-allow_finance_ftp_dx] destination-zone untrust_dx [FW1-policy-security-rule-allow_finance_ftp_dx] source-address address-set Finance_Client [FW1-policy-security-rule-allow_finance_ftp_dx] destination-address address-set FTP_Server [FW1-policy-security-rule-allow_finance_ftp_dx] service ftp [FW1-policy-security-rule-allow_finance_ftp_dx] action permit [FW1-policy-security-rule-allow_finance_ftp_dx] quit [FW1-policy-security] rule name allow_rd_ftp_lt [FW1-policy-security-rule-allow_rd_ftp_lt] source-zone trust [FW1-policy-security-rule-allow_rd_ftp_lt] destination-zone untrust_lt [FW1-policy-security-rule-allow_rd_ftp_lt] source-address address-set RD_Client [FW1-policy-security-rule-allow_rd_ftp_lt] destination-address address-set FTP_Server [FW1-policy-security-rule-allow_rd_ftp_lt] service ftp [FW1-policy-security-rule-allow_rd_ftp_lt] action permit [FW1-policy-security-rule-allow_rd_ftp_lt] quit [FW1-policy-security] default action deny [FW1-policy-security] quit
如果 FTP 使用主动模式或需要完整验证文件传输,建议打开防火墙 FTP 协议检测:
[FW1] firewall detect ftp
十三、验证矩阵

1. 基础连通性验证
| 测试项 | 命令 | 预期 |
|---|---|---|
| Client1 到网关 | ping 192.168.1.254 |
成功 |
| Client2 到网关 | ping 192.168.2.254 |
成功 |
| Web Server 到网关 | ping 192.168.3.254 |
成功 |
| FW1 到 R4 | ping 14.0.0.4 |
成功 |
| FW1 到 R2 | ping 12.0.0.2 |
成功 |
| R3 到 FTP Server | ping 50.0.0.1 |
成功 |
2. OSPF 验证
[R2] display ospf peer [R3] display ospf peer [R4] display ospf peer [R3] display ip routing-table
R3 应能学习到 100.1.1.0/24、101.1.1.0/24、200.1.1.0/24、102.1.1.0/24 等公网网段。
3. DNS + NAT Server 验证
公网用户1:
ping www.aliyun.com
预期解析到 14.0.0.1,访问 Web 时从 FW1 的 GE1/0/1 进入。
公网用户2:
ping www.aliyun.com
预期解析到 12.0.0.1,访问 Web 时从 FW1 的 GE1/0/2 进入。
FW1 查看命令:
[FW1] display nat server [FW1] display firewall session table verbose
重点看会话的入接口和 NAT 映射关系。
4. 策略路由和 Easy-IP 验证
财务部 Client1 访问 FTP:
ftp 50.0.0.1
预期出接口为 GE1/0/1,源地址被 Easy-IP 转换为 14.0.0.1。
研发部 Client2 访问 FTP:
ftp 50.0.0.1
预期出接口为 GE1/0/2,源地址被 Easy-IP 转换为 12.0.0.1。
FW1 查看命令:
[FW1] display policy-based-route rule all [FW1] display ip-link [FW1] display firewall session table verbose [FW1] display nat session all
5. IP-Link 故障验证
可以临时关闭 R4 或 R2 的某个接口,观察 IP-Link 状态:
[FW1] display ip-link
如果电信链路探测失败,财务部访问 FTP 不应继续强制走故障链路;如果联通链路探测失败,研发部访问 FTP 不应继续强制走故障链路。
十四、常见踩坑点
1. 公网用户解析域名正确,但访问不了 Web
优先检查:
-
电信 DNS 是否把
www.aliyun.com解析到14.0.0.1。 -
联通 DNS 是否把
www.aliyun.com解析到12.0.0.1。 -
NAT Server 是否同时配置了电信和联通两个公网入口。
-
安全策略目的地址是否写内网 Web Server
192.168.3.1。 -
Web Server 默认网关是否写成
192.168.3.254。
2. 财务和研发访问 FTP 都走同一条链路
重点检查策略路由:
-
PBR 是否放在普通路由前生效。
-
财务策略是否匹配
192.168.1.1 -> 50.0.0.1。 -
研发策略是否匹配
192.168.2.1 -> 50.0.0.1。 -
下一跳是否分别为
14.0.0.4和12.0.0.2。 -
IP-Link 状态是否为 up。
3. FTP 能登录但不能传文件
FTP 有控制连接和数据连接。如果只放通了 TCP 21,部分模式下可能登录成功但无法传输文件。建议开启:
[FW1] firewall detect ftp
必要时也可以临时放宽 FTP 测试策略,再逐步收紧服务范围。
4. Easy-IP 没有生效
检查 NAT 策略:
-
源区域是否为 trust。
-
目的区域是否与策略路由选出来的出口区域一致。
-
源地址对象是否匹配 Client1 或 Client2。
-
目的地址是否匹配 FTP Server。
-
动作是否为
source-nat easy-ip。
5. IP-Link 一直 Down
检查三件事:
-
FW1 到探测目标是否有路由。
-
安全策略是否允许 local 到 ISP DNS 的 ICMP。
-
探测目标 DNS Server 是否配置了正确网关。
十五、项目总结
这个实验的关键不是配置某一条命令,而是把 5 套逻辑串起来:
-
内网通过 VLAN 划分财务部、研发部和 Web Server。
-
公网路由器通过 OSPF 实现外部环境可达。
-
FW1 通过 ISP 路由和缺省路由掌握外网出口方向。
-
公网访问内网 Web 使用 NAT Server,并通过不同 DNS 返回不同公网入口。
-
内网访问公网 FTP 使用 Easy-IP,并通过策略路由按部门选择不同 ISP。
-
IP-Link 用来避免策略路由把流量送进故障链路。
-
认证策略和安全策略一起实现“身份 + 地址 + 服务 + 路径”的精确控制。
最终效果可以概括为:公网入口可控,内网出口可控,业务路径可验证,策略边界清晰。这就是企业双 ISP 出口实验真正要掌握的重点。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)