## 先看最终效果本项目最终实现的不是“能 ping 通”这么简单而是让不同部门用户走不同认证和访问路径| 用户/部门 | 所属网段 | 认证方式 | 访问权限 || --- | --- | --- | --- || 高管 Client1 | 172.16.1.90/24 | 免认证 | 可访问 DMZ 和外部网络 || 财务 Client2 | 172.16.1.100/24 | 访问 DMZ 不认证 | 只能访问 DMZ 指定业务不能访问外网 || 运维 Client3 | 172.16.1.0/24 DHCP | Portal 认证 | 可访问 DMZ非工作时间可访问外网 || 技术部 PC1 | 172.16.2.100/24 | 访问 DMZ 匿名认证 | 可访问 Web/OA不能访问外网 || 市场部 PC2 | 172.16.2.0/24 DHCP | DMZ 匿名外网 Portal | 可访问 OA认证后访问外网 |一句话总结FW1 同时承担网关、DHCP 服务器、认证入口和安全策略执行点。终端拿到地址后访问不同区域时由 FW1 判断是否需要认证以及认证后能访问什么资源。## 一、实验拓扑本次作业拓扑如下从拓扑可以看出网络被划分成 4 类区域| 区域 | 设备 | 网段 | 作用 || --- | --- | --- | --- || DMZ | OA Server、Web Server、DNS Server、SW1 | 10.0.0.0/24 | 企业服务器区 || Trust_A | 企业部门 A、SW3 | 172.16.1.0/24 | 高管、财务、运维 || Trust_B | 企业部门 B、SW4 | 172.16.2.0/24 | 技术、市场 || Untrust | 百度服务器 | 100.1.1.0/24 | 外部网络模拟区 |域名规划| 域名 | 解析目标 | 用途 || --- | --- | --- || www.aliyun.com | 10.0.0.20 | DMZ Web Server || www.baidu.com | 100.1.1.1 | 外部百度服务器 |## 二、需求拆解这类题最怕直接上手配命令。正确做法是先把需求拆成 7 个模块1. 交换机 VLAN 和接口类型配置。2. 防火墙接口、子接口和 IP 地址配置。3. 防火墙 DHCP 地址池配置。4. 防火墙安全区域配置。5. 地址对象和服务对象配置。6. 管理员 Telnet 登录配置。7. 用户认证策略和安全策略配置。其中最核心的是第 7 步。认证策略负责识别“这个人是谁”安全策略负责决定“这个人能去哪里”。只配认证不配安全策略访问不会自动放通只配安全策略不配认证用户身份也不会被正确区分。## 三、IP 地址与区域规划| 对象 | 区域/VLAN | IP 地址 | 网关/DNS | 说明 || --- | --- | --- | --- | --- || FW1 GE1/0/0 | DMZ | 10.0.0.254/24 | - | DMZ 网关 || FW1 GE1/0/1.1 | Trust_A / VLAN 10 | 172.16.1.254/24 | - | 部门 A 网关 || FW1 GE1/0/1.2 | Trust_B / VLAN 20 | 172.16.2.254/24 | - | 部门 B 网关 || FW1 GE1/0/2 | Untrust | 100.1.1.10/24 | - | 外部出口 || OA Server | DMZ | 10.0.0.10/24 | 10.0.0.254 | OA 系统 || Web Server | DMZ | 10.0.0.20/24 | 10.0.0.254 | www.aliyun.com || DNS Server | DMZ | 10.0.0.30/24 | 10.0.0.254 | DNS 解析 || 百度服务器 | Untrust | 100.1.1.1/24 | 100.1.1.10 | www.baidu.com || Client1 | VLAN 10 | DHCP 固定 172.16.1.90/24 | DNS 10.0.0.30 | 高管 || Client2 | VLAN 10 | 静态 172.16.1.100/24 | DNS 10.0.0.30 | 财务 || Client3 | VLAN 10 | DHCP 动态 | DNS 10.0.0.30 | 运维 || PC1 | VLAN 20 | 静态 172.16.2.100/24 | DNS 10.0.0.30 | 技术 || PC2 | VLAN 20 | DHCP 动态 | DNS 10.0.0.30 | 市场 |## 四、交换机配置### 1. SW2 汇聚交换机SW2 上联 FW1下联部门 A 和部门 B。GE0/0/1 到 FW1 配置为 Trunk放行 VLAN 10 和 VLAN 20。textHuawei system-view[Huawei] sysname SW2[SW2] vlan batch 10 20[SW2] interface GigabitEthernet0/0/1[SW2-GigabitEthernet0/0/1] port link-type trunk[SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20[SW2-GigabitEthernet0/0/1] quit[SW2] interface GigabitEthernet0/0/2[SW2-GigabitEthernet0/0/2] port link-type access[SW2-GigabitEthernet0/0/2] port default vlan 10[SW2-GigabitEthernet0/0/2] quit[SW2] interface GigabitEthernet0/0/3[SW2-GigabitEthernet0/0/3] port link-type access[SW2-GigabitEthernet0/0/3] port default vlan 20[SW2-GigabitEthernet0/0/3] quit[SW2] save### 2. SW3 部门 A 接入交换机SW3 承载企业部门 AClient1、Client2、Client3 都划入 VLAN 10。textHuawei system-view[Huawei] sysname SW3[SW3] vlan batch 10[SW3] port-group group-member GigabitEthernet0/0/1 GigabitEthernet0/0/2 GigabitEthernet0/0/3 GigabitEthernet0/0/4[SW3-port-group] port link-type access[SW3-port-group] port default vlan 10[SW3-port-group] quit[SW3] save### 3. SW4 部门 B 接入交换机SW4 承载企业部门 BPC1、PC2 划入 VLAN 20。textHuawei system-view[Huawei] sysname SW4[SW4] vlan batch 20[SW4] port-group group-member GigabitEthernet0/0/1 GigabitEthernet0/0/2 GigabitEthernet0/0/3[SW4-port-group] port link-type access[SW4-port-group] port default vlan 20[SW4-port-group] quit[SW4] save### 4. SW1 DMZ 交换机SW1 只承载 DMZ 服务器可以统一放到 VLAN 30便于管理。textHuawei system-view[Huawei] sysname SW1[SW1] vlan batch 30[SW1] port-group group-member GigabitEthernet0/0/1 GigabitEthernet0/0/2 GigabitEthernet0/0/3 GigabitEthernet0/0/4[SW1-port-group] port link-type access[SW1-port-group] port default vlan 30[SW1-port-group] quit[SW1] save## 五、防火墙接口配置FW1 是整张拓扑的核心。它一边接 DMZ一边接 Trust_A/Trust_B一边接 Untrust还负责 DHCP、认证和安全策略。textUSG6000V system-view[USG6000V] sysname FW1[FW1] interface GigabitEthernet1/0/0[FW1-GigabitEthernet1/0/0] ip address 10.0.0.254 255.255.255.0[FW1-GigabitEthernet1/0/0] undo shutdown[FW1-GigabitEthernet1/0/0] quit[FW1] interface GigabitEthernet1/0/1[FW1-GigabitEthernet1/0/1] undo shutdown[FW1-GigabitEthernet1/0/1] quit[FW1] interface GigabitEthernet1/0/1.1[FW1-GigabitEthernet1/0/1.1] vlan-type dot1q 10[FW1-GigabitEthernet1/0/1.1] ip address 172.16.1.254 255.255.255.0[FW1-GigabitEthernet1/0/1.1] quit[FW1] interface GigabitEthernet1/0/1.2[FW1-GigabitEthernet1/0/1.2] vlan-type dot1q 20[FW1-GigabitEthernet1/0/1.2] ip address 172.16.2.254 255.255.255.0[FW1-GigabitEthernet1/0/1.2] quit[FW1] interface GigabitEthernet1/0/2[FW1-GigabitEthernet1/0/2] ip address 100.1.1.10 255.255.255.0[FW1-GigabitEthernet1/0/2] undo shutdown[FW1-GigabitEthernet1/0/2] quit检查接口text[FW1] display ip interface brief## 六、DHCP 地址池配置防火墙作为 DHCP Server为 Client1、Client3、PC2 分配地址。Client2 和 PC1 使用静态地址因此需要从地址池中排除避免冲突。text[FW1] dhcp enable[FW1] ip pool dhcp-a[FW1-ip-pool-dhcp-a] network 172.16.1.0 mask 255.255.255.0[FW1-ip-pool-dhcp-a] gateway-list 172.16.1.254[FW1-ip-pool-dhcp-a] dns-list 10.0.0.30[FW1-ip-pool-dhcp-a] excluded-ip-address 172.16.1.100[FW1-ip-pool-dhcp-a] static-bind ip-address 172.16.1.90 mac-address xxxx-xxxx-xxxx[FW1-ip-pool-dhcp-a] quit[FW1] ip pool dhcp-b[FW1-ip-pool-dhcp-b] network 172.16.2.0 mask 255.255.255.0[FW1-ip-pool-dhcp-b] gateway-list 172.16.2.254[FW1-ip-pool-dhcp-b] dns-list 10.0.0.30[FW1-ip-pool-dhcp-b] excluded-ip-address 172.16.2.100[FW1-ip-pool-dhcp-b] quit[FW1] interface GigabitEthernet1/0/1.1[FW1-GigabitEthernet1/0/1.1] dhcp select global[FW1-GigabitEthernet1/0/1.1] quit[FW1] interface GigabitEthernet1/0/1.2[FW1-GigabitEthernet1/0/1.2] dhcp select global[FW1-GigabitEthernet1/0/1.2] quitxxxx-xxxx-xxxx 需要替换为 Client1 实际 MAC 地址。可以在 eNSP 终端网卡信息中查看或者先让设备 DHCP 获取地址后在 FW1 上查看地址池记录。常用验证命令text[FW1] display ip pool all used[FW1] display ip pool name dhcp-a used[FW1] display ip pool name dhcp-b used## 七、安全区域配置本项目建议用独立安全区域区分部门 A 和部门 B不要把两个部门都简单丢进同一个 Trust。这样后面的认证策略和安全策略会清晰很多。text[FW1] firewall zone name Trust_A[FW1-zone-Trust_A] set priority 70[FW1-zone-Trust_A] add interface GigabitEthernet1/0/1.1[FW1-zone-Trust_A] quit[FW1] firewall zone name Trust_B[FW1-zone-Trust_B] set priority 80[FW1-zone-Trust_B] add interface GigabitEthernet1/0/1.2[FW1-zone-Trust_B] quit[FW1] firewall zone dmz[FW1-zone-dmz] add interface GigabitEthernet1/0/0[FW1-zone-dmz] quit[FW1] firewall zone untrust[FW1-zone-untrust] add interface GigabitEthernet1/0/2[FW1-zone-untrust] quit注意VLAN 10、VLAN 20 的网关在 FW1 子接口上所以安全区域要添加子接口 GE1/0/1.1 和 GE1/0/1.2不要只添加母接口 GE1/0/1。## 八、地址对象配置地址对象是后续策略的“积木”。先把对象建清楚策略看起来才不会乱。text[FW1] ip address-set DMZ_Server type object[FW1-object-address-set-DMZ_Server] address 0 10.0.0.10 mask 32[FW1-object-address-set-DMZ_Server] address 1 10.0.0.20 mask 32[FW1-object-address-set-DMZ_Server] address 2 10.0.0.30 mask 32[FW1-object-address-set-DMZ_Server] quit[FW1] ip address-set OA_Server type object[FW1-object-address-set-OA_Server] address 0 10.0.0.10 mask 32[FW1-object-address-set-OA_Server] quit[FW1] ip address-set Web_Server type object[FW1-object-address-set-Web_Server] address 0 10.0.0.20 mask 32[FW1-object-address-set-Web_Server] quit[FW1] ip address-set DNS_Server type object[FW1-object-address-set-DNS_Server] address 0 10.0.0.30 mask 32[FW1-object-address-set-DNS_Server] quit[FW1] ip address-set Baidu_Server type object[FW1-object-address-set-Baidu_Server] address 0 100.1.1.1 mask 32[FW1-object-address-set-Baidu_Server] quit[FW1] ip address-set Client1_Manager type object[FW1-object-address-set-Client1_Manager] address 0 172.16.1.90 mask 32[FW1-object-address-set-Client1_Manager] quit[FW1] ip address-set Client2_FD type object[FW1-object-address-set-Client2_FD] address 0 172.16.1.100 mask 32[FW1-object-address-set-Client2_FD] quit[FW1] ip address-set DeptA_Net_For_Auth type object[FW1-object-address-set-DeptA_Net_For_Auth] address 0 172.16.1.0 mask 24[FW1-object-address-set-DeptA_Net_For_Auth] quit[FW1] ip address-set PC1_TD type object[FW1-object-address-set-PC1_TD] address 0 172.16.2.100 mask 32[FW1-object-address-set-PC1_TD] quit[FW1] ip address-set DeptB_Net_For_Auth type object[FW1-object-address-set-DeptB_Net_For_Auth] address 0 172.16.2.0 mask 24[FW1-object-address-set-DeptB_Net_For_Auth] quit其中 DeptA_Net_For_Auth 和 DeptB_Net_For_Auth 只建议用于认证策略触发范围不建议直接拿来做最终放行授权。运维、市场这类 DHCP 用户的最终权限应优先使用认证用户组匹配。如果实验镜像不支持 address 0 ... mask 32 这种编号写法可以用设备 ? 查看当前版本语法。有些版本支持直接写textaddress 10.0.0.10 mask 32## 九、DNS Server 配置DNS 是认证和业务访问的基础。没有 DNSwww.aliyun.com 和 www.baidu.com 无法按域名访问。在 DNS Server 上添加解析记录| 域名 | IP 地址 || --- | --- || www.aliyun.com | 10.0.0.20 || www.baidu.com | 100.1.1.1 |终端 DNS 都填写 10.0.0.30。DHCP 地址池中已经通过 dns-list 10.0.0.30 自动下发 DNS。## 十、用户组织与认证方式设计建议在 FW1 Web 页面中完成用户认证配置。原因很简单不同 USG/eNSP 镜像的用户管理 CLI 差异较大而 Web 页面对象、用户组、认证策略更直观。### 1. 认证域与用户组创建认证域 openlab在该域下建立如下组织结构text/openlab/A/manager 高管/DevOps 运维/FD 财务/B/TD 技术/MD 市场### 2. 用户账号规划| 用户 | 用户组 | 初始密码 | 绑定要求 | 登录限制 || --- | --- | --- | --- | --- || user_001 | /openlab/A/manager | admin123 | 绑定 Client1 IP/MAC | 不允许多人同时登录 || DevOps_001 | /openlab/A/DevOps | admin123 | 可按实验需要绑定 | 不允许多人同时登录 || FD_001 | /openlab/A/FD | admin123 | 绑定 172.16.1.100 与 MAC | 不允许多人同时登录 || TD_001 至 TD_003 | /openlab/B/TD | admin123 | 不强制绑定 | 允许多人同时登录 || MD_001 至 MD_005 | /openlab/B/MD | admin123 | 不强制绑定 | 不允许多人同时登录有效期 10 天 |建议开启“首次登录强制修改密码”这样更符合真实企业账号管理流程。### 3. 认证策略设计| 源用户/部门 | 源区域 | 目的区域 | 认证动作 || --- | --- | --- | --- || 高管 Client1 | Trust_A | 任意区域 | 免认证 || 运维 Client3 | Trust_A | DMZ、Untrust | Portal 认证 || 财务 Client2 | Trust_A | DMZ | 不认证 || 技术 PC1 | Trust_B | DMZ | 匿名认证 || 市场 PC2 | Trust_B | DMZ | 匿名认证 || 市场 PC2 | Trust_B | Untrust | Portal 认证 |认证策略的顺序建议精确用户在前网段类策略在后Portal 认证策略要放在匿名认证或不认证策略之前避免流量提前命中宽泛规则。## 十一、管理员 Telnet 配置实验要求管理员 PC 固定为 172.16.1.10/24只允许部门 A 网段通过 Telnet 管理 FW1。text[FW1] telnet server enable[FW1] aaa[FW1-aaa] manager-user vtyadmin[FW1-aaa-manager-user-vtyadmin] password cipher admin123[FW1-aaa-manager-user-vtyadmin] service-type telnet[FW1-aaa-manager-user-vtyadmin] level 15[FW1-aaa-manager-user-vtyadmin] quit[FW1-aaa] quit[FW1] user-interface vty 0 4[FW1-ui-vty0-4] authentication-mode aaa[FW1-ui-vty0-4] protocol inbound telnet[FW1-ui-vty0-4] quit还需要在安全策略中放行 Trust_A 到 Local 的 Telnet 访问。这样终端即使能路由到 FW1也不会绕过防火墙的管理访问控制。## 十二、时间对象配置本实验有两个明显的时间控制点- 运维非工作时间访问外网。- 周末禁止非运维访问 DMZ。text[FW1] time-range workday_offtime[FW1-time-range-workday_offtime] period-range 00:00:00 to 08:00:00 working-day[FW1-time-range-workday_offtime] period-range 18:00:00 to 23:59:59 working-day[FW1-time-range-workday_offtime] quit[FW1] time-range weekend_all_day[FW1-time-range-weekend_all_day] period-range 00:00:00 to 23:59:59 sat[FW1-time-range-weekend_all_day] period-range 00:00:00 to 23:59:59 sun[FW1-time-range-weekend_all_day] quit如果 sat、sun 不识别在设备中输入 period-range 00:00:00 to 23:59:59 ? 查看当前版本支持的星期写法。## 十三、安全策略设计安全策略的核心原则是基础服务先放行周末拒绝提前拦截部门业务按最小权限放行最后依赖默认拒绝兜底。建议策略顺序如下| 顺序 | 策略名称 | 源 | 目的 | 服务/时间 | 动作 || --- | --- | --- | --- | --- | --- || 1 | allow_admin_telnet | 管理员/Trust_A | Local | Telnet | permit || 2 | allow_dhcp_to_local | Trust_A、Trust_B | Local | DHCP | permit || 3 | allow_dns_to_dmz | Trust_A、Trust_B | DNS Server | DNS | permit || 4 | deny_weekend_nonops_dmz | 非运维用户 | DMZ | 周末全天 | deny || 5 | allow_devops_dmz | 运维 | DMZ_Server | any | permit || 6 | allow_manager_fd_dmz_web | 高管、财务 | OA/Web | HTTP/HTTPS | permit || 7 | allow_devops_untrust_offtime | 运维 | Untrust | 非工作时间 | permit || 8 | allow_manager_untrust | 高管 | Untrust | any | permit || 9 | allow_td_web | 技术 | Web Server | HTTP/HTTPS | permit || 10 | allow_td_md_oa | 技术、市场 | OA Server | HTTP/HTTPS | permit || 11 | allow_md_untrust | 市场 | Untrust | HTTP/HTTPS | permit || 12 | 默认规则 | any | any | any | deny |### 安全策略 CLI 示例不同 USG 版本对 source-user、本地用户组路径和服务对象的语法有差异。下面给出的是策略结构示例实际实验中可以在 Web 页面按同样逻辑创建。source-user 的目的是让 DHCP 动态地址用户也能按认证身份授权而不是按整个网段粗放放行。text[FW1] security-policy[FW1-policy-security] rule name allow_admin_telnet[FW1-policy-security-rule-allow_admin_telnet] source-zone Trust_A[FW1-policy-security-rule-allow_admin_telnet] destination-zone local[FW1-policy-security-rule-allow_admin_telnet] source-address 172.16.1.10 mask 255.255.255.255[FW1-policy-security-rule-allow_admin_telnet] service telnet[FW1-policy-security-rule-allow_admin_telnet] action permit[FW1-policy-security-rule-allow_admin_telnet] quit[FW1-policy-security] rule name allow_dns_to_dmz[FW1-policy-security-rule-allow_dns_to_dmz] source-zone Trust_A Trust_B[FW1-policy-security-rule-allow_dns_to_dmz] destination-zone dmz[FW1-policy-security-rule-allow_dns_to_dmz] destination-address address-set DNS_Server[FW1-policy-security-rule-allow_dns_to_dmz] service dns[FW1-policy-security-rule-allow_dns_to_dmz] action permit[FW1-policy-security-rule-allow_dns_to_dmz] quit[FW1-policy-security] rule name deny_weekend_nonops_dmz[FW1-policy-security-rule-deny_weekend_nonops_dmz] source-zone Trust_A Trust_B[FW1-policy-security-rule-deny_weekend_nonops_dmz] destination-zone dmz[FW1-policy-security-rule-deny_weekend_nonops_dmz] time-range weekend_all_day[FW1-policy-security-rule-deny_weekend_nonops_dmz] action deny[FW1-policy-security-rule-deny_weekend_nonops_dmz] quit[FW1-policy-security] rule name allow_devops_dmz[FW1-policy-security-rule-allow_devops_dmz] source-zone Trust_A[FW1-policy-security-rule-allow_devops_dmz] destination-zone dmz[FW1-policy-security-rule-allow_devops_dmz] source-user user-group /openlab/A/DevOps[FW1-policy-security-rule-allow_devops_dmz] destination-address address-set DMZ_Server[FW1-policy-security-rule-allow_devops_dmz] action permit[FW1-policy-security-rule-allow_devops_dmz] quit[FW1-policy-security] rule name allow_manager_fd_dmz_web[FW1-policy-security-rule-allow_manager_fd_dmz_web] source-zone Trust_A[FW1-policy-security-rule-allow_manager_fd_dmz_web] destination-zone dmz[FW1-policy-security-rule-allow_manager_fd_dmz_web] source-address address-set Client1_Manager[FW1-policy-security-rule-allow_manager_fd_dmz_web] source-address address-set Client2_FD[FW1-policy-security-rule-allow_manager_fd_dmz_web] destination-address address-set OA_Server[FW1-policy-security-rule-allow_manager_fd_dmz_web] destination-address address-set Web_Server[FW1-policy-security-rule-allow_manager_fd_dmz_web] service http[FW1-policy-security-rule-allow_manager_fd_dmz_web] service https[FW1-policy-security-rule-allow_manager_fd_dmz_web] action permit[FW1-policy-security-rule-allow_manager_fd_dmz_web] quit[FW1-policy-security] rule name allow_devops_untrust_offtime[FW1-policy-security-rule-allow_devops_untrust_offtime] source-zone Trust_A[FW1-policy-security-rule-allow_devops_untrust_offtime] destination-zone untrust[FW1-policy-security-rule-allow_devops_untrust_offtime] source-user user-group /openlab/A/DevOps[FW1-policy-security-rule-allow_devops_untrust_offtime] time-range workday_offtime[FW1-policy-security-rule-allow_devops_untrust_offtime] action permit[FW1-policy-security-rule-allow_devops_untrust_offtime] quit[FW1-policy-security] rule name allow_manager_untrust[FW1-policy-security-rule-allow_manager_untrust] source-zone Trust_A[FW1-policy-security-rule-allow_manager_untrust] destination-zone untrust[FW1-policy-security-rule-allow_manager_untrust] source-address address-set Client1_Manager[FW1-policy-security-rule-allow_manager_untrust] action permit[FW1-policy-security-rule-allow_manager_untrust] quit[FW1-policy-security] rule name allow_td_web[FW1-policy-security-rule-allow_td_web] source-zone Trust_B[FW1-policy-security-rule-allow_td_web] destination-zone dmz[FW1-policy-security-rule-allow_td_web] source-address address-set PC1_TD[FW1-policy-security-rule-allow_td_web] destination-address address-set Web_Server[FW1-policy-security-rule-allow_td_web] service http[FW1-policy-security-rule-allow_td_web] service https[FW1-policy-security-rule-allow_td_web] action permit[FW1-policy-security-rule-allow_td_web] quit[FW1-policy-security] rule name allow_td_md_oa[FW1-policy-security-rule-allow_td_md_oa] source-zone Trust_B[FW1-policy-security-rule-allow_td_md_oa] destination-zone dmz[FW1-policy-security-rule-allow_td_md_oa] source-address address-set PC1_TD[FW1-policy-security-rule-allow_td_md_oa] source-user user-group /openlab/B/MD[FW1-policy-security-rule-allow_td_md_oa] destination-address address-set OA_Server[FW1-policy-security-rule-allow_td_md_oa] service http[FW1-policy-security-rule-allow_td_md_oa] service https[FW1-policy-security-rule-allow_td_md_oa] action permit[FW1-policy-security-rule-allow_td_md_oa] quit[FW1-policy-security] rule name allow_md_untrust[FW1-policy-security-rule-allow_md_untrust] source-zone Trust_B[FW1-policy-security-rule-allow_md_untrust] destination-zone untrust[FW1-policy-security-rule-allow_md_untrust] source-user user-group /openlab/B/MD[FW1-policy-security-rule-allow_md_untrust] service http[FW1-policy-security-rule-allow_md_untrust] service https[FW1-policy-security-rule-allow_md_untrust] action permit[FW1-policy-security-rule-allow_md_untrust] quit[FW1-policy-security] default action deny[FW1-policy-security] quit这里的 deny_weekend_nonops_dmz 示例写得比较宽泛。真实配置时建议在 Web 页面中按用户组排除运维组或者把运维放行策略放在周末拒绝策略前面并确保周末仍可进行运维检修。## 十四、Web 页面配置路线用户认证部分更推荐用 Web 页面完成步骤如下1. 登录 FW1 Web 页面默认账号可使用 admin / admin123。2. 进入“网络”配置接口和子接口 IP。3. 进入“网络 DHCP”创建 dhcp-a 和 dhcp-b 地址池。4. 进入“对象 地址”创建 DMZ、部门用户、外部服务器地址对象。5. 进入“用户 认证域”创建 openlab。6. 进入“用户 用户组”创建 A、B 以及 manager、DevOps、FD、TD、MD 子组。7. 进入“用户 本地用户”创建各部门账号并设置密码、绑定 IP/MAC、并发登录限制和账号有效期。8. 进入“策略 认证策略”按部门和目的区域配置免认证、匿名认证、Portal 认证。9. 进入“策略 安全策略”按上文顺序创建安全策略。10. 保存配置并逐项验证。## 十五、验证矩阵### 1. DHCP 验证| 测试对象 | 预期结果 || --- | --- || Client1 | 获取固定地址 172.16.1.90/24 || Client3 | 获取 172.16.1.0/24 地址池中的动态地址 || PC2 | 获取 172.16.2.0/24 地址池中的动态地址 || Client2 | 静态地址 172.16.1.100/24 不与 DHCP 冲突 || PC1 | 静态地址 172.16.2.100/24 不与 DHCP 冲突 |命令text[FW1] display ip pool all used### 2. DNS 验证在终端上访问或解析textping www.aliyun.comping www.baidu.com预期解析结果| 域名 | 解析地址 || --- | --- || www.aliyun.com | 10.0.0.20 || www.baidu.com | 100.1.1.1 |### 3. 认证与访问验证| 测试项 | 源主机 | 目标 | 预期结果 || --- | --- | --- | --- || 高管访问 DMZ | Client1 | OA/Web | 不弹认证允许 || 高管访问外网 | Client1 | www.baidu.com | 不弹认证允许 || 财务访问 DMZ | Client2 | OA/Web | 不弹认证允许 || 财务访问外网 | Client2 | www.baidu.com | 拒绝 || 运维访问 DMZ | Client3 | OA/Web/DNS | 弹 Portal认证后允许 || 运维非工作时间访问外网 | Client3 | www.baidu.com | 弹 Portal认证后允许 || 技术访问 Web | PC1 | www.aliyun.com | 匿名认证允许 || 技术访问外网 | PC1 | www.baidu.com | 拒绝 || 市场访问 OA | PC2 | OA Server | 匿名认证允许 || 市场访问外网 | PC2 | www.baidu.com | 弹 Portal认证后允许 || 周末非运维访问 DMZ | Client1/Client2/PC1/PC2 | DMZ | 拒绝 |### 4. 防火墙侧查看命令text[FW1] display security-policy rule all[FW1] display firewall session table[FW1] display user-manage online-user[FW1] display clock测试时间策略时可以临时调整防火墙系统时间。每次调整后建议清理旧会话text[FW1] reset firewall session table## 十六、常见踩坑点### 1. DHCP 拿不到地址优先看三件事- SW2 到 FW1 是否是 Trunk是否放行 VLAN 10、VLAN 20。- FW1 子接口是否配置了 dhcp select global。- 地址池是否配置了正确网关、掩码和 DNS。### 2. 能 ping 网关不能访问服务器这种情况通常是安全区域或策略问题- FW1 子接口是否加入了正确区域。- 源区域和目的区域是否写反。- DNS、HTTP、HTTPS 服务是否放行。- 是否命中了周末拒绝策略。### 3. 域名解析失败重点检查- 终端 DNS 是否为 10.0.0.30。- DNS Server 是否添加了 www.aliyun.com 和 www.baidu.com 记录。- Trust 到 DMZ 的 DNS 策略是否放行。### 4. Portal 不弹认证页面常见原因- 认证策略没有命中流量被不认证或匿名认证策略提前匹配。- 安全策略没有允许认证后的访问流量。- 终端访问的是 IP但认证策略按域名或对象匹配不一致。- 浏览器缓存或旧会话影响测试需要清理会话表。### 5. 周末策略不生效重点检查防火墙时间text[FW1] display clock时间策略依赖 FW1 本机时间。如果设备日期不是周六或周日周末拒绝策略不会命中。## 十七、项目总结这个实验的价值在于把防火墙从“网络边界设备”升级成了“身份感知访问控制设备”。普通安全策略只能判断源 IP、目的 IP、服务和区域用户认证加入后防火墙可以进一步知道访问者属于哪个部门、哪个用户组从而做到更精细的权限控制。本项目最终完成了- 部门 A 与部门 B 的 VLAN 隔离。- FW1 子接口作为 VLAN 10、VLAN 20 网关。- FW1 为不同部门下发 DHCP 地址。- DMZ、Trust_A、Trust_B、Untrust 安全区域划分。- DNS 域名解析 www.aliyun.com 与 www.baidu.com。- 管理员 Telnet 登录限制。- 高管、财务、运维、技术、市场的差异化认证策略。- 基于部门、区域、服务、时间的安全策略控制。这类实验真正要掌握的是配置顺序和策略逻辑先做网络连通再做地址对象再做认证最后用安全策略收口。只要这条主线清晰后面遇到 Portal 不弹、域名不通、DHCP 不分配、策略不命中都能快速定位。