Skip to main content
andre_amaro
New Member
October 26, 2016
Question

msg="iprope_in_check() check failed on policy 0, drop"

  • October 26, 2016
  • 3 replies
  • 119622 views

Dear,

 

I have a FortiGate 300C recently started blocking access to work normally. My route points to the VPN an the tunnel is up. The policy is ok.

Strangely this connection stopped working and when I try to connect it does not match the policy.

 

The log I'm having is this:

id=20085 trace_id=4875 func=print_pkt_detail line=4469 msg="vd-root received a packet(proto=6, 10.10.10.10:63117->11.11.11.11:9160) from my_interface. flag , seq 2788299880, ack 0, win 8192"
id=20085 trace_id=4875 func=init_ip_session_common line=4620 msg="allocate a new session-7bd3977e"
id=20085 trace_id=4875 func=fw_local_in_handler line=385 msg="iprope_in_check() check failed on policy 0, drop"

 

Any idea?

    3 replies

    emnoc
    New Member
    October 26, 2016

    Most like uRPF checks. Are you sure the ingress interface is correct for that route and traffic-flow?

     

    Ken

     

    andre_amaro
    New Member
    October 26, 2016

    emnoc wrote:

    Most like uRPF checks. Are you sure the ingress interface is correct for that route and traffic-flow?

     

    Ken

     

    Yes, I'm sure. This problem started before I had made no intervention in this flow.

    andre_amaro
    New Member
    October 26, 2016

    Well, I managed to get on the solution to this problem. I had created a virtual IP that would meet a new connectivity and it was the cause of my problems, even if not linked to any policy. That's because there was already an object using the same IP that I created. I'm not sure, but it seems I made the firewall did not understand what I wanted to do (would use the VIP or object).

     

    Anyway ... just after deleting this VIP connectivities that used VPN normalized.

    baguma
    New Member
    June 21, 2017

    Hi 

    i have the same error .  Using an external  public VIP which isnt part of the fortigate interface IP

     

    find a routeind a route: flag=80000000 gw-196.x.x.x via root" id=20085 trace_id=819 func=fw_local_in_handler line=394 msg="iprope_in_check() check failed on policy 0, drop" id=20085 trace_id=819 func=fw_local_in_handler line=394 msg="iprope_in_check() check failed on policy 0, drop"

    jhouvenaghel_FTNT
    Staff
    Staff
    June 22, 2017

    "iprope_in_check() check failed on policy 0" means that the destination IP address is seen as local/belonging to the FGT and FOS will look through the iprope_in tables.

    An ippool adress belongs to the FGT if arp-reply is enabled

    If you use vip, you should look if the mapped iP address is not configured somewhere in a ippool for example

    baguma
    New Member
    June 22, 2017

    Thanks for the reply . Just for clarity  below is my design

     

    client to VIP 197.x.x.147(ISP allocated IP)  port 3319  mapped to 192.168.X.13 (webserver) 3319

    Interface to internet where the client is coming 196.23.X.249/30 

    Interface to the webserver farm 192.168.x.1/24 

    by overlap , do you mean webserver subnet?

     

    aldolopez
    New Member
    July 16, 2019

    Dear Andre, Could you do #get router info routing-table details 10.10.10.10 from CLI? The policy must be interface of output routing table.

     

    Best Regards,

    Aldo López

    Jirka1
    Explorer II
    November 13, 2019

    Hello,

     

    on the customer's network something similar is happening, with the difference that it does not use VIP. The FGT60E has several interfaces, one of which (LAN) points to the IPsec tunnel (DR 0.0.0.0/0) at the HQ where SNAT is performed to public IP addresses - classic scenario. DHCP-Relay is also set on the LAN and point to Central server on HQ.

    The remaining LAN interfaces are SNATed to the public address of the WAN interface of FGT60E.

     

    For some reason, some LAN devices sometimes do not communicate with the Internet or have drops- 90% are Samsung TVs.

    Diag debug flow shows this:

     

     

     

     

    id=20085 trace_id=64 func=init_ip_session_common line=5654 msg="allocate a new session-08667053"
    id=20085 trace_id=64 func=vf_ip_route_input_common line=2591 msg="find a route: flag=94000000 gw-172.17.9.255 via root"
    id=20085 trace_id=64 func=fw_local_in_handler line=409 msg="iprope_in_check() check failed on policy 0, drop"
    id=20085 trace_id=65 func=print_pkt_detail line=5494 msg="vd-root:0 received a packet(proto=17, 172.17.9.127:35982->172.17.9.255:58581) from 5-CORP. "
    id=20085 trace_id=65 func=init_ip_session_common line=5654 msg="allocate a new session-08667064"
    id=20085 trace_id=65 func=vf_ip_route_input_common line=2591 msg="find a route: flag=94000000 gw-172.17.9.255 via root"
    id=20085 trace_id=65 func=fw_local_in_handler line=409 msg="iprope_in_check() check failed on policy 0, drop"
    id=20085 trace_id=66 func=print_pkt_detail line=5494 msg="vd-root:0 received a packet(proto=17, 172.17.9.127:35982->172.17.9.255:58581) from 5-CORP. "
    id=20085 trace_id=66 func=init_ip_session_common line=5654 msg="allocate a new session-0866707a"
    id=20085 trace_id=66 func=vf_ip_route_input_common line=2591 msg="find a route: flag=94000000 gw-172.17.9.255 via root"
    id=20085 trace_id=66 func=fw_local_in_handler line=409 msg="iprope_in_check() check failed on policy 0, drop"
    id=20085 trace_id=67 func=print_pkt_detail line=5494 msg="vd-root:0 received a packet(proto=17, 172.17.9.127:35982->172.17.9.255:58581) from 5-CORP. "

     

     

     

     

    where 172.17.9.127 is a one of many TV Samsung. LAN subnet is 172.17.9.0/24 and TV get a correct ip address, mask, gw, dns.

    I checked the configuration several times, I didn't find anything wrong. Once I ran the "diagnostic firewall iprope flush", it all started working:

     

    id=20085 trace_id=77 func=print_pkt_detail line=5494 msg="vd-root:0 received a packet(proto=6, 172.17.9.127:53162->34.195.xxx.xx:443) from 5-CORP. flag [F.], seq 3825516032, ack 1059094717, win 115"
    id=20085 trace_id=77 func=resolve_ip_tuple_fast line=5569 msg="Find an existing session, id-0866664d, original direction"
    id=20085 trace_id=77 func=npu_handle_session44 line=1107 msg="Trying to offloading session from 5-CORP to IPsecHQ, skb.npu_flag=00000000 ses.state=00010204 ses.npu_state=0x03000000"
    id=20085 trace_id=77 func=ipsecdev_hard_start_xmit line=692 msg="enter IPsec interface-IPsecHQ"
    id=20085 trace_id=77 func=esp_output4 line=897 msg="IPsec encrypt/auth"
    id=20085 trace_id=77 func=ipsec_output_finish line=532 msg="send to 193.86.237.65 via intf-wan1"
    did=20085 trace_id=78 func=print_pkt_detail line=5494 msg="vd-root:0 received a packet(proto=6, 172.17.9.127:53162->34.195.xxx.xx:443) from 5-CORP. flag [F.], seq 3825516032, ack 1059094717, win 115"
    id=20085 trace_id=78 func=resolve_ip_tuple_fast line=5569 msg="Find an existing session, id-0866664d, original direction"
    id=20085 trace_id=78 func=npu_handle_session44 line=1107 msg="Trying to offloading session from 5-CORP to IPsecHQ, skb.npu_flag=00000000 ses.state=00010204 ses.npu_state=0x03000000"
    id=20085 trace_id=78 func=ipsecdev_hard_start_xmit line=692 msg="enter IPsec interface-IPsecHQ"
    id=20085 trace_id=78 func=esp_output4 line=897 msg="IPsec encrypt/auth"
    id=20085 trace_id=78 func=ipsec_output_finish line=532 msg="send to 193.86.xxx.xx via intf-wan1"

     

     

    Routing table for VRF=0
    Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
           O - OSPF, IA - OSPF inter area
           N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
           E1 - OSPF external type 1, E2 - OSPF external type 2
           i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
           * - candidate default

    S* 0.0.0.0/0 [10/0] via 193.86.xxx.xx, wan1
                             [10/0] is directly connected, IPsecHQ [9/0]
    C 10.33.1.0/24 is directly connected, 1001-UniFiGuest
    C 10.110.19.0/24 is directly connected, internal2
    S 172.16.1.0/29 [10/0] is directly connected, IPsecHQ, [8/0]
    C 172.17.9.0/24 is directly connected, 5-CCORP
    C 172.17.109.0/24 is directly connected, 51-AAA_net
    C 172.17.209.0/24 is directly connected, internal4
    C 172.20.0.0/16 is directly connected, internal3
    S 172.27.1.0/29 [10/0] is directly connected, IPsecHQ, [8/0]
    C 192.168.1.0/24 is directly connected, internal
    C 193.86.xxx.xx/29 is directly connected, wan1

     

    I have configured PBR too, when first allow access from dedicated devices from LAN to management subnet -internal 2.

    and second routed LAN and management subnet via IPsec to HQ.

     

    config router policy
        edit 2
            set input-device "5-CORP"
            set srcaddr "CORP_lan"
            set src-negate disable
            set dstaddr "MNGMT"
            set dst-negate disable
            set action permit
            set protocol 0
            set gateway 0.0.0.0
            set output-device "internal2"
            set tos 0x00
            set tos-mask 0x00
            set status enable
            set comments ''
        next
        edit 1
            set input-device "5-CORP" "internal2"
            set srcaddr "CORP_lan" "MNGMT"
            set src-negate disable
            set dstaddr "all"
            set dst-negate disable
            set action permit
            set protocol 0
            set gateway 0.0.0.0
            set output-device "IPsecHQ"
            set tos 0x00
            set tos-mask 0x00
            set status enable
            set comments ''
        next
    end

     

    What can be the cause of such behavior and how to eliminate it? FortiOS 6.0.5 Thank you. Jirka

     

     

    ede_pfau
    SuperUser
    SuperUser
    November 17, 2019

    In a /24 network, you cannot use x.x.x.255 as a gateway or host address. I stumbled upon the .255 and gladly you mentioned the network mask later in your post.

    .255 is the broadcast address of that subnet.