Description

This article aims to explain the origin and explanation of the message "no route to host" by the Network Time Protocol (NTP) daemon.

xntpd[xxx]: sendto(x.x.x.x): No route to host

Symptoms

When MX received ntp request from a host and it has not route to this host.

user@mx# run show route 192.168.0.1
<<< No route is displayed >>>

NTP daemon(xntpd) will report error log like below:

May 6 03:03:58 mx_re xntpd[5606]: sendto(192.168.0.1): No route to host

 

If the host route exists after checking routing table, the problem could be received ntp message interface is different with route next-hop.

For example, host 192.168.0.1 route next-hop is ge-0/0/1.0 which is located in routing instance r1.

user@mx# run show route 192.168.0.1
r1.inet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.0.0/24   *[Static/5] 15:02:08     
          > to 192.168.3.2 via ge-0/0/1.0

But ntp message is received from ge-0/0/2.0 which is located in default routing instance.

The problem is how to locate the interface from which the ntp packet is received.

Solution

Create a filter to match host address and attached it to lo0 interface, the term action set to log.

For example:

set interfaces lo0 unit 0 family inet filter input lo0-filter
set firewall family inet filter lo0-filter term 1 from source-address 192.168.0.1/32
set firewall family inet filter lo0-filter term 1 then log
set firewall family inet filter lo0-filter term 1 then accept
set firewall family inet filter lo0-filter term last then accept

The interface that receives ntp packets can be determined from the firewall log

user@mx# run show firewall log
Log :
Time   Filter  Action Interface   Protocol    Src Addr             Dest Addr
18:32:03 pfe    A   ge-0/0/2.0  UDP          192.168.0.1           192.168.1.1
18:32:01 pfe    A   ge-0/0/2.0  UDP          192.168.0.1           192.168.1.1

Modification History

2024-05-07 : Article Created