In some cases, the external connector connection status shows 'Not Start' in the GUI after creation.
 Â CLI:
FGT # show full system external-resource
config system external-resource
  edit "Test"
    set status enable
    set type address
    set username ''
    set password ENC XXX
    set comments ''
    set resource "http://xxx.xxx.org/xxx/bad_ip.txt"
    set user-agent ''
    set server-identity-check none
    set refresh-rate 5
    set source-ip 0.0.0.0
    set interface-select-method auto
  next
end
 Run the following commands on the FortiGate to debug the connection status:  In FortiOS v7.0:
diagnose debug disable
diagnose debug reset
diagnose debug app forticron 960
diagnose debug console timestamp enable
diagnose debug enable
 In FortiOS v7.2 and later:
diagnose debug disable
diagnose debug reset
diagnose debug app forticron 0xf00
diagnose debug console timestamp enable
diagnose debug enable
To disable debug commands:
diagnose debug disable
 The debug will show the following:
GET /noda/bad_ip.txt HTTP/1.1
Host: xxx.xxx.org
User-Agent: curl/7.58.0
Accept: */*
Connection: closeÂ
By default, the user-agent is set to 'curl/7.58.0'. Many hosting platforms, CDNs, and custom feed servers have bot-filtering rules that:
Reject raw curl user-agents outright (returns 4xx, connection reset, or no response). Require a browser-like UA string to respond.
To fix the connection status issue, change the user-agent to Mozilla/5.0:
config system external-resource
  edit "Test"
    set user-agent "Mozilla/5.0"
  next
end
Changing to Mozilla means, it makes the request look like a browser to the feed server's filtering logic. The server stops blocking it, returns the feed content (IP list, domain list, etc.), forticron parses it, and the connector moves to 'Connected'.
After the change, select the 'Refresh' button to update the status:
 Related documents:
|