【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 个模块:

  1. Client1 属于财务部,Client2 属于研发部。

  2. 企业内网存在一台 Web Server,地址为 192.168.3.1/24

  3. FW1 导入电信和联通 ISP 路由网段,并补充缺省路由。

  4. 公网路由器 R2、R3、R4 运行 OSPF,实现公网环境全网可达。

  5. 公网用户1 通过电信 DNS 解析企业 Web 域名,并从 FW1 的 GE1/0/1 进入访问。

  6. 公网用户2 通过联通 DNS 解析企业 Web 域名,并从 FW1 的 GE1/0/2 进入访问。

  7. 财务部访问 FTP Server 走电信,研发部访问 FTP Server 走联通,使用策略路由和 IP-Link 检测。

  8. 财务部采用免认证方式,研发部采用匿名认证方式,并编写精准安全策略。

三、地址规划

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.csvisp2.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/24101.1.1.0/24200.1.1.0/24102.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.412.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 出口实验真正要掌握的重点。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐