I' d appreciate some help troubleshooting a thorny issue where I can' t ping a server that is located behind a firewall, despite a policy that I believe would allow all access.
The short of it is that I have a network with device identification, where identified devices are allowed (and able to) connect to the outside world. But I also want to allow inbound connections to the same network. This is what I can' t seem to get working.
The long version: this takes place across a VPN between two Fortigates. Both Fortigates have multiple networks behind them, but I' ll just diagram the relevant ones here:
Net1 ------> FG1 ------ IPSec VPN ------> FG2 ----------> Net2
----------> Net3
Net1: 192.168.1.0/24 - gateway is 192.168.1.1
Net2: 192.168.17.0/28 - gateway is 192.168.17.1, with a device identification policy on this interface.
Net3: 192.168.17.128/25 - gateway is 192.168.17.129, no device identification policy on this interface.
I can ping from Net1 to servers in Net3, and also to 192.168.17.1 (the gateway address of Net2), but not to 192.168.17.5 on Net2. 192.168.17.5 can connect outbound, so I am reasonably sure this is not a routing problem.
I am wondering if this might be because on Net2, I am using a device identity policy, even though that policy is further down in the list.
I created the following policies on FG2 (in this order):
Src Interface: VPN
Src Address: all
Dst Interface: Net2
Dst Address: all
Services: all
Action: allow
(the counter in this rule, and the fortigate logs, shows that my pings are accepted, so it is probably the echo response that is somehow blocked).
... (unrelated policies for other interfaces)
(Device Identity Policy for devices on Net2)
Src Interface: Net2
Src Address: all
Device: authorized servers (includes the one I am trying to ping)
Destination address: all
Services: all
Action: allow
(there are additional authentication rules, but the first one is already an allow-all rule).