Description | This article provides a step-by-step guide on how to verify and troubleshoot a VIP in policy-based mode (NGFW). |
Scope | FortiGate is running in NGFW policy-based mode. |
Solution |
In this example, VIP is configured to access the internal RDP server through VIP, as shown in the topology below:
Server: 10.102.0.202:3389. External IP: 10.5.192.200.
config firewall vip
Step 2: Ensure that an allowed policy exists under SSL Inspection & Authentication. Generally, there will be a ‘Default’ policy that allows any to any. If there is no Default policy, create a new SSL Inspection & Authentication policy from the External Interface to the Internal interface to allow the traffic: config firewall policy
Step 3: There must be a Security Policy allowing the traffic from the External interface to the Internal interface :
config firewall address edit "10.102.0.202/32" set subnet 10.102.0.202 255.255.255.255 next end
config firewall security-policy
Note: With a FortiGate firewall in NGFW policy-based mode, Virtual IP (VIP) objects are not configured in the firewall policy. The firewall will automatically handle the NAT translation and port forwarding as long as the VIP is configured. This is because Central NAT is enforced when policy-based NGFW mode is enabled, see FortiOS v7.6.4 Administration Guide | Central DNAT
Step 4: Confirm the traffic is reaching the FortiGate.
diagnose sniffer packet wan1 'host 10.5.192.200 and port 3389' 4 0 l
Step 5: Run debug commands to verify DNAT is happening properly and SSL Inspection & Authentication Policy matches:
diagnose debug reset diagnose debug flow filter addr 10.5.192.200 diagnose debug flow filter port 3389 diagnose debug flow show function-name enable diagnose debug flow trace start 20 diagnose debug enable
id=65308 trace_id=10008 func=print_pkt_detail line=5879 msg="vd-root:0 received a packet(proto=6, 10.5.255.254:64441->10.5.192.200:3389) tun_id=0.0.0.0 from wan1. flag [S], seq 3272374413, ack 0, win 64240" Step 6: Run PME debug to verify the Security Policy Match:
Note that running a PME debug can increase CPU usage and is recommended to run during less busy times. For more details and filter commands, see Technical Tip: How to check NGFW policy matching.
To start debugging:
diagnose ips filter set "host X.X.X.X" <----- X.X.X.X is the source/destination IP address. diagnose ips pme detail all
The CLI output of the pme debug command confirms a policy match for the specified source and destination IP addresses:
PME[482/0] auth query not needed PME[482/0] current {
To stop debugging:
diagnose debug reset diagnose ips filter clear |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.