可以使用用户界面和 API 对网关防火墙进行故障排除。
可以使用
NSX Manager UI 和 API 检查以下内容:
- 为给定网关启用了网关防火墙。
- 检查给定网关防火墙策略的实现状态。UI 在“防火墙策略”标题右上角旁边显示实现状态。
- 检查规则统计信息以查看是否有任何流量命中防火墙策略。
- 为规则启用日志记录以对策略进行故障排除。
网关防火墙是在 NSX Edge 传输节点上实现的。下一步是,在 NSX Edge 节点命令提示符下使用 nsxcli 命令进行数据路径故障排除,如下所示。
获取启用了防火墙的网关的 UUID
EDGE-VM-A01> get logical-router Logical Router UUID VRF LR-ID Name Type Ports 736a80e3-23f6-5a2d-81d6-bbefb2786666 0 0 TUNNEL 4 8ccc0151-82bd-43d3-a2dd-6a31bf0cd29b 1 1 DR-DC-Tier-0-GW DISTRIBUTED_ROUTER_TIER0 5 5a914d04-305f-402e-9d59-e443482c0e15 2 1025 SR-DC-Tier-0-GW SERVICE_ROUTER_TIER0 7 495f69d7-c46e-4044-8b40-b053a86d157b 4 2050 SR-PROD-Tier-1 SERVICE_ROUTER_TIER1 5
使用 UUID 获取所有网关接口
网关防火墙是为网关的每个上行链路接口实现的。确定上行链路接口,并从下面的输出中获取接口 ID。
dc02-nsx-edgevm-1> get logical-router 16f04a64-ef71-4c03-bb5c-253a61752222 interfaces Wed Dec 16 2020 PST 17:24:13.134 Logical Router UUID VRF LR-ID Name Type 16f04a64-ef71-4c03-bb5c-253a61752222 5 2059 SR-PROD-ZONE-GW SERVICE_ROUTER_TIER1 Interfaces (IPv6 DAD Status A-DAD_Success, F-DAD_Duplicate, T-DAD_Tentative, U-DAD_Unavailable) Interface : 748d1f17-34d0-555e-8984-3ef9f9367a6c Ifuid : 274 Mode : cpu Port-type : cpu Interface : 1bd7ef7f-4f3e-517a-adf0-846d7dff4e24 Ifuid : 275 Mode : blackhole Port-type : blackhole Interface : 2403a3a4-1bc8-4c9f-bfb0-c16c0b37680f Ifuid : 300 Mode : loopback Port-type : loopback IP/Mask : 127.0.0.1/8;::1/128(NA) Interface : 16cea0ab-c977-4ceb-b00f-3772436ad972 <<<<<<<<<< INTERFACE ID Ifuid : 289 Name : DC-02-Tier0-A-DC-02-PROD-Tier-1-t1_lrp Fwd-mode : IPV4_ONLY Mode : lif Port-type : uplink <<<<<<<<<< Port-type Uplink Interface IP/Mask : 100.64.96.1/31;fe80::50:56ff:fe56:4455/64(NA);fc9f:aea3:1afb:d800::2/64(NA) MAC : 02:50:56:56:44:55 VNI : 69633 Access-VLAN : untagged LS port : be42fb2e-b10b-499e-a6a9-221da47a4bcc Urpf-mode : NONE DAD-mode : LOOSE RA-mode : SLAAC_DNS_TRHOUGH_RA(M=0, O=0) Admin : up Op_state : up MTU : 1500 arp_proxy :
在网关接口上获取网关防火墙规则
使用接口 ID 获取在网关接口上编写的防火墙规则。
dc02-nsx-edgevm-2> get firewall 16cea0ab-c977-4ceb-b00f-3772436ad972 ruleset rules Wed Dec 16 2020 PST 17:43:53.047 DNAT rule count: 0 SNAT rule count: 0 Firewall rule count: 6 Rule ID : 5137 Rule : inout protocol tcp from any to any port {22, 443} accept with log Rule ID : 3113 Rule : inout protocol icmp from any to any accept with log Rule ID : 3113 Rule : inout protocol ipv6-icmp from any to any accept with log Rule ID : 5136 Rule : inout protocol any from any to any accept with log Rule ID : 1002 Rule : inout protocol any from any to any accept Rule ID : 1002 Rule : inout protocol any stateless from any to any accept dc02-nsx-edgevm-2>
检查网关防火墙同步状态
网关防火墙在 Edge 节点之间同步流量状态以实现高可用性。可以使用以下输出查看网关防火墙同步配置。
dc02-nsx-edgevm-1> get firewall 16cea0ab-c977-4ceb-b00f-3772436ad972 sync config Wed Dec 16 2020 PST 17:30:55.686 HA mode : secondary-active Firewall enabled : true Sync pending : false Bulk sync pending : true Last status: ok Failover mode : non-preemptive Local VTEP IP : 172.16.213.125 Peer VTEP IP : 172.16.213.123 Local context : 16f04a64-ef71-4c03-bb5c-253a61752222 Peer context : 16f04a64-ef71-4c03-bb5c-253a61752222 dc02-nsx-edgevm-1> dc02-nsx-edgevm-2> get firewall 16cea0ab-c977-4ceb-b00f-3772436ad972 sync config Wed Dec 16 2020 PST 17:47:43.683 HA mode : primary-passive Firewall enabled : true Sync pending : false Bulk sync pending : true Last status: ok Failover mode : non-preemptive Local VTEP IP : 172.16.213.123 Peer VTEP IP : 172.16.213.125 Local context : 16f04a64-ef71-4c03-bb5c-253a61752222 Peer context : 16f04a64-ef71-4c03-bb5c-253a61752222 dc02-nsx-edgevm-2>
检查网关防火墙活动流量
可以使用以下命令查看网关防火墙活动流量。将在该网关的活动和备用 Edge 节点之间同步流量状态。下面的示例显示 edge-node-1 和 edge-node-2 的输出。
dc02-nsx-edgevm-2> get firewall 16cea0ab-c977-4ceb-b00f-3772436ad972 connection Wed Dec 16 2020 PST 17:45:55.889 Connection count: 2 0x0000000330000598: 10.166.130.107:57113 -> 10.114.217.26:22 dir in protocol tcp state ESTABLISHED:ESTABLISHED fn 5137:0 0x04000003300058f1: 10.166.130.107 -> 10.114.217.26 dir in protocol icmp fn 5136:0 dc02-nsx-edgevm-2> dc02-nsx-edgevm-1> get firewall 16cea0ab-c977-4ceb-b00f-3772436ad972 connection Wed Dec 16 2020 PST 17:47:09.980 Connection count: 2 0x0000000330000598: 10.166.130.107:57113 -> 10.114.217.26:22 dir in protocol tcp state ESTABLISHED:ESTABLISHED fn 5137:0 0x04000003300058f1: 10.166.130.107 -> 10.114.217.26 dir in protocol icmp fn 3113:0 dc02-nsx-edgevm-1>
检查网关防火墙日志
网关防火墙日志提供网关虚拟路由和转发 (VRF)、网关接口信息以及流量详细信息。可以在 /var/log 目录中名为 firewallpkt.log 的文件中找到网关防火墙日志。
用于调试网关防火墙的其他命令行选项
dc02-nsx-edgevm-2> get firewall 16cea0ab-c977-4ceb-b00f-3772436ad972 Possible alternatives: get firewall <uuid> addrset name <string> get firewall <uuid> addrset sets get firewall <uuid> attrset name <string> get firewall <uuid> attrset sets get firewall <uuid> connection get firewall <uuid> connection count get firewall <uuid> connection raw get firewall <uuid> connection state get firewall <uuid> ike policy [<rule-id>] get firewall <uuid> interface stats get firewall <uuid> ruleset [type <rule-type>] rules [<ruleset-detail>] get firewall <uuid> ruleset [type <rule-type>] stats get firewall <uuid> sync config get firewall <uuid> sync stats get firewall <uuid> timeouts get firewall [logical-switch <uuid>] interfaces get firewall interfaces sync dc02-nsx-edgevm-2>