验证安全 LAN 连接
您已经配置了 VLAN 和安全策略以保护本地分支机构通信,让我们快速确认分支机构 VLAN 连接是否按预期工作。验证过程与您用于验证默认连接的流程类似。主要区别在于,现在,这些验证步骤发生在特定 VLAN/安全区域的上下文中。当然,鉴于您更改的 VLAN,您不再期望 LAN 端口之间能实现完全连接。
验证 LAN DHCP 服务器
验证 SRX 是否已将 IP 地址分配给 LAN 客户端。
root@branch-srx> show dhcp server binding IP address Session Id Hardware address Expires State Interface 192.168.30.10 3543 08:81:f4:82:a4:5c 46482 BOUND irb.30 192.168.2.8 3538 08:81:f4:8a:eb:51 61414 BOUND irb.0 192.168.20.10 3542 20:4e:71:a6:a7:01 46622 BOUND irb.20 192.168.20.11 3544 d4:20:b0:00:c3:37 46621 BOUND irb.20
请注意,这些设备的 MAC 地址与之前相同(请参阅分支机构 SRX 默认连接),但现在,它们会根据各自的 VLAN 分配与不同的 IP 子网和 IRB 单元相关联。显示屏将确认至少有一台设备在 、 guests和 contractors VLAN 中vlan-trust。此输出确认 DHCP 服务器在每个 VLAN 内正常运行。
验证 VLAN 配置。
root@branch-srx> show vlans Routing instance VLAN name Tag Interfaces default-switch contractors 30 ge-0/0/3.0* default-switch default 1 default-switch guests 20 ge-0/0/1.0* default-switch vlan-trust 3 ge-0/0/2.0* ...
输出将确认您配置正确 guests 和 contractors VLAN。
验证访客 VLAN
验证 VLAN 和区域中的设备 guests 是否可以访问互联网。您通过 ping 成功确认互联网接入,即可 www.juniper.net。请记住,您的分支机构设计规定,访客仅可向互联网发送 HTTP/HTTPS 和 ping 流量。
user@guest-device> ping www.juniper.net inet count 2 PING e1824.dscb.akamaiedge.net (104.100.54.237): 56 data bytes 64 bytes from 104.100.54.237: icmp_seq=0 ttl=46 time=5.323 ms 64 bytes from 104.100.54.237: icmp_seq=1 ttl=46 time=6.204 ms --- e1824.dscb.akamaiedge.net ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 5.323/5.764/6.204/0.441 ms
guests如果您的区域设备支持命令行 HTTP 客户端(如 CURL),请使用它验证对互联网的 HTTP 访问。如果设备具有用于测试 Web 连接的 GUI 界面,您始终可以使用 Web 浏览器。
user@guest-device curl --head www.juniper.net HTTP/1.1 301 Moved Permanently Content-Type: text/html Location: https://www.juniper.net/ Content-Length: 0 Date: Mon, 18 Apr 2022 22:32:15 GMT Connection: keep-alive
我们不会费心去寻找连接互联网的机器来确认所有其他服务(即 SSH、Telnet、FTP 等)都不起作用。此处的一个选项是临时删除允许 ICMP 从区域 guests 到区域 untrust 的策略规则。更改生效后,ping 应 www.juniper.net 超时。
我们将通过确认访客设备无法对两个trust或contractors区域中的 IRB 接口执行 ping 来完成 VLAN 验证guests。
user@guest-device> ping 192.168.2.1 count 1 PING 192.168.2.1 (192.168.2.1): 56 data bytes --- 192.168.2.1 ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss user@guest-device ping 192.168.30.1 count 1 PING 192.168.30.1 (192.168.30.1): 56 data bytes --- 192.168.30.1 ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss
如预期,对和区域中的 IRB 接口trustcontractors的 ping 会失败。虽然未显示,但从访客到或contractors区域中的终端站点发起的 trust ping 也会失败。同样,您需要一个显式策略来允许流量在区域之间流动。对于访客用户,唯一实际上的安全策略是允许向untrust区域传输 HTTP 和 ping 流量。
验证员工 VLAN
验证区域内的员工 trust 是否可以访问互联网。
user@employee-device> ping www.juniper.net inet count 2 PING e1824.dscb.akamaiedge.net (104.100.54.237): 56 data bytes 64 bytes from 104.100.54.237: icmp_seq=0 ttl=44 time=4.762 ms 64 bytes from 104.100.54.237: icmp_seq=1 ttl=44 time=5.075 ms --- e1824.dscb.akamaiedge.net ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.762/4.918/5.075/0.157 ms
验证员工是否可以向承包商 Ping。
user@employee-device> ping 192.168.30.10 PING 192.168.30.10 (192.168.30.10): 56 data bytes --- 192.168.30.10 ping statistics --- 38 packets transmitted, 0 packets received, 100% packet loss
输出显示 ping 未成功。有关如何 调试 此问题的信息,请参阅调试连接问题。
调试连接问题
让我们尝试调试员工无法向承包商 ping 的问题。当数据包从 trust 区域遍历到区域 contractors 时,我们将使用追踪选项来调试数据包流。配置至少 traceoptions
必须包含目标文件和标志。命令参数 file
用于指定存储追踪输出的文件名。命令参数 flag
定义要跟踪的事件类型。
[edit] root@branch-srx# set security flow traceoptions file flow-debug root@branch-srx# set security flow traceoptions flag basic-datapath root@branch-srx# commit
激活跟踪后,生成从 trust 区域到区域的 contractors ping。ping 失败时,使用 show log <log_name>
CLI 命令和 find
交换机快速定位跟踪日志文件中的感兴趣区域。
root@branch-srx> show log flow-debug | find 192.168.30 Apr 20 03:22:36 03:22:36.712246:CID-0:RT:flow_ipv4_rt_lkup success 192.168.30.1, iifl 0x48, oifl 0x0 Apr 20 03:22:36 03:22:36.712246:CID-0:RT:flow_first_routing: setting out_vrf_id in lpak to 0, grp 0 Apr 20 03:22:36 03:22:36.712246:CID-0:RT:Changing out-ifp from .local..0 to irb.30 for dst: 192.168.30.1 in vr_id:0 Apr 20 03:22:36 03:22:36.712246:CID-0:RT: routed (x_dst_ip 192.168.30.1) from trust (irb.0 in 0) to irb.30, Next-hop: 192.168.30.1 Apr 20 03:22:36 03:22:36.712246:CID-0:RT:Policy lkup: vsys 0 zone(7:trust) -> zone(9:contractors) scope:0 src vrf (0) dsv vrf (0) scope:0 Apr 20 03:22:36 03:22:36.712246:CID-0:RT: 192.168.2.2/2048 -> 192.168.30.1/34912 proto 1 Apr 20 03:22:36 03:22:36.712246:CID-0:RT:Policy lkup: vsys 0 zone(5:global) -> zone(5:global) scope:0 src vrf (0) dsv vrf (0) scope:34912 Apr 20 03:22:36 03:22:36.712246:CID-0:RT: 192.168.2.2/2048 -> 192.168.30.1/34912 proto 1 Apr 20 03:22:36 03:22:36.712246:CID-0:RT:flow_first_policy_search: policy search from zone trust-> zone contractors (0x0,0x3d56010a,0x10a), result: 0xfa3c538, pending: 0? Apr 20 03:22:36 03:22:36.712246:CID-0:RT:flow_first_policy_search: dynapp_none_policy: TRUE, uc_none_policy: TRUE, is_final: 0x0, is_explicit: 0x0, policy_meta_data: 0x0 Apr 20 03:22:36 03:22:36.712246:CID-0:RT: app 0, timeout 60s, curr ageout 60s Apr 20 03:22:36 03:22:36.712246:CID-0:RT: packet dropped, denied by policy Apr 20 03:22:36 03:22:36.712246:CID-0:RT: denied by policy default-policy-logical-system-00(2), dropping pkt Apr 20 03:22:36 03:22:36.712246:CID-0:RT: packet dropped, policy deny. . . .
突出显示的条目确认从 trust 区域发送到区域的 contractors 测试流量正在被丢弃。消息显示 denied by policy default-policy-logical-system
,指示没有允许此流量的策略。
您必须具有允许流量在区域之间流动的策略。添加以下配置以配置允许区域和contractors区域之间trust所需的流量类型的安全策略。此配置采用快速配置集格式,因此只需将其粘贴到层次结构上的分支 SRX 中[edit]
:
set security policies from-zone trust to-zone contractors policy trust-to-contractors match source-address any set security policies from-zone trust to-zone contractors policy trust-to-contractors match destination-address any set security policies from-zone trust to-zone contractors policy trust-to-contractors match application junos-http set security policies from-zone trust to-zone contractors policy trust-to-contractors match application junos-ping set security policies from-zone trust to-zone contractors policy trust-to-contractors then permit
请务必提交更改。现在,从 trust 区域到区域的 contractors ping 应该会成功。调试已完成后,请移除安全流跟踪选项配置。
[edit] root@branch-srx# delete security flow traceoptions root@branch-srx# commit
承包商 VLAN
验证承包商是否无法与或guests区域内的客户trust通信。
只有对 IRB 接口 (irb.30) 的 ping 才会成功。由于客户端 IP 地址会随更新的 DHCP 分配而更改,因此我们选择通过对给定区域的 IRB 接口执行 ping 来测试区域间连接。在此示例中,分配给 IRB 接口的 IP 地址是静态的,因此不会随着时间而变化。
user@contractor-device> ping 192.168.30.1 count 2 PING 192.168.30.1 (192.168.30.1): 56 data bytes 64 bytes from 192.168.30.1: icmp_seq=0 ttl=64 time=0.929 ms 64 bytes from 192.168.30.1: icmp_seq=1 ttl=64 time=0.864 ms --- 192.168.30.1 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.829/0.866/0.929/0.036 ms
正如预期的那样,从承包商区域设备到区域的 IRB 接口contractors的 ping 会成功。现在,您可以验证与区域是否缺乏连接trustguests。有关在此示例中分配给 IRB 接口的地址的详细信息,请参阅安全本地分支机构连接。
user@contractor-device> ping 192.168.2.1 count 2 PING 192.168.2.1 (192.168.2.1): 56 data bytes --- 192.168.2.1 ping statistics --- 2 packets transmitted, 0 packets received, 100% packet loss
user@contractor-device> ping 192.168.20.1 count 2 PING 192.168.20.1 (192.168.20.1): 56 data bytes --- 192.168.20.1 ping statistics --- 2 packets transmitted, 0 packets received, 100% packet loss
输出显示,只有 ping 到 192.168.30.1(分配给 irb.30)成功。这确认承包商无法访问 trust 和 guests 区域。
确认承包商无法访问互联网。
user@contractor-device> ping www.juniper.net inet count 1 ping: cannot resolve www.juniper.net: Host name lookup failure user@contractor-device> ping 8.8.8.8 count 1 PING 8.8.8.8 (8.8.8.8): 56 data bytes --- 8.8.8.8 ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss
请注意,尝试 ping www.juniper.net 会返回 主机名查找 失败消息。该分支机构没有本地 DNS 服务器,依赖于只能通过互联网访问的公共 DNS 服务。无法解决主机名可以很好地指示承包商已正确阻止互联网访问。作为最后确认,请通过其 IP 地址对公共 DNS 服务器执行 ping 操作。同样,ping 会按预期失败。
这些结果可以完成对分支机构的安全本地连接的验证。干得好!下一步,我们将向您展示如何通过互联网建立安全连接。