[ntp:questions] broadcastclient ignoring packets on Solaris 10 with auth disabled

John Warburton jwarburton at gmail.com
Tue Aug 17 00:18:00 UTC 2010


Hi Danny

Thanks for taking the time to look at this.

The ntp.conf was included in the original post, but I've included it
here again:

engnsvr002# cat /etc/inet/ntp.conf
disable auth
driftfile /var/ntp/ntp.drift
broadcastclient

I have re-run with -D4 and for much longer (see below), but
essentially the packets are all being seen (and rejected on fd=20),
and nothing on fd=25

Regards

John

# /opt/local/pkgs/ntp-dev-4.2.7p41/bin/ntpd -A -D4 -c /etc/inet/
ntp.conf
ntpd 4.2.7p41 at 1.2176 Thu Aug 12 00:16:45 UTC 2010 (1)
filegen_register(peerstats, ac2c4)
filegen_register(loopstats, ac2d8)
filegen_register(clockstats, ac2ec)
filegen_register(rawstats, ac300)
filegen_register(sysstats, ac314)
filegen_register(protostats, ac328)
addto_syslog: set_process_priority: Leave priority alone:
priority_done is <2>
addto_syslog: proto: precision = 0.416 usec
loop_config: item 1 freq 0.000000
event at 0 0.0.0.0 c01d 0d kern kernel time sync enabled
proto_config: code 3 value 0 dvalue 0.000000
yylex: lexeme 'disable' -> T_Disable
yylex: lexeme 'auth' -> T_Auth
        <end of command>
yylex: lexeme 'driftfile' -> T_Driftfile
yylex: lexeme '/var/ntp/ntp.drift' -> T_String
        <end of command>
yylex: lexeme 'broadcastclient' -> T_Broadcastclient
        <end of command>
Finished Parsing!!
create_sockets(123)
interface_action: interface wildcard default wildcard drop
addto_syslog: ntp_io: estimated max descriptors: 256, initial socket
boundary: 20
bind(20) AF_INET, addr 0.0.0.0%0#123, flags 0x89
flags for fd 20: 0x1082
Searching for addr 0.0.0.0 in list of addresses - NOT FOUND
Added addr 0.0.0.0 to list of addresses
addto_syslog: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
created interface #0: fd=20, bfd=-1, name=v4wildcard, flags=0x89,
scope=0, sin=0.0.0.0, bcast=0.0.0.0, mask=255.255.255.255, Disabled:
interface_action: interface wildcard default wildcard drop
bind(21) AF_INET6, addr ::%0#123, flags 0x81
flags for fd 21: 0x1082
Searching for addr :: in list of addresses - NOT FOUND
Added addr :: to list of addresses
addto_syslog: Listen and drop on 1 v6wildcard :: UDP 123
created interface #1: fd=21, bfd=-1, name=v6wildcard, flags=0x81,
scope=0, sin=::, Disabled:
update_interfaces(123)
interface_action: interface lo0 IPv4 loopback - listen
examining interface #0: fd=-1, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled:
Searching for addr 127.0.0.1 in list of addresses - NOT FOUND
create_interface(127.0.0.1#123)
bind(22) AF_INET, addr 127.0.0.1%0#123, flags 0x15
flags for fd 22: 0x1082
addto_syslog: Listen normally on 2 lo0 127.0.0.1 UDP 123
restrict: op 1 addr 127.0.0.1 mask 255.255.255.255 mflags 00003000
flags 00000001
Searching for addr 127.0.0.1 in list of addresses - NOT FOUND
Added addr 127.0.0.1 to list of addresses
created interface #2: fd=22, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled:
updating interface #2: fd=22, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled: new - created
interface_action: interface bge0 default listen
examining interface #0: fd=-1, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
Searching for addr 45.3.255.68 in list of addresses - NOT FOUND
create_interface(45.3.255.68#123)
bind(23) AF_INET, addr 45.3.255.68%0#123, flags 0x19
flags for fd 23: 0x1082
addto_syslog: Listen normally on 3 bge0 45.3.255.68 UDP 123
restrict: op 1 addr 45.3.255.68 mask 255.255.255.255 mflags 00003000
flags 00000001
Searching for addr 45.3.255.68 in list of addresses - NOT FOUND
Added addr 45.3.255.68 to list of addresses
created interface #3: fd=23, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
updating interface #3: fd=23, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
new - created
setting SO_REUSEADDR on lo0 at 127.0.0.1 to off
setting SO_REUSEADDR on bge0 at 45.3.255.68 to off
create_sockets: Total interfaces = 4
addto_syslog: Listening on routing socket on fd #24 for interface
updates
io_open_sockets: maxactivefd 24
proto_config: code 3 value 0 dvalue 0.000000
proto_config: code 1 value 1 dvalue 0.000000
setting SO_REUSEADDR on lo0 at 127.0.0.1 to on
setting SO_REUSEADDR on bge0 at 45.3.255.68 to on
Broadcast enabled on socket 25 for address 45.3.255.127
bind(25) AF_INET, addr 45.3.255.127%0#123, flags 0x39
flags for fd 25: 0x1082
addto_syslog: io_setbclient: Opened broadcast client on interface #3
bge0
setting SO_REUSEADDR on lo0 at 127.0.0.1 to off
setting SO_REUSEADDR on bge0 at 45.3.255.68 to off
io_setbclient: Opened broadcast clients
event at 0 0.0.0.0 c016 06 restart
loop_config: item 2 freq 0.000006
event at 0 0.0.0.0 c012 02 freq_set kernel 5.677 PPM
local_clock: mu 0 state 2 poll 3 count 0
timer: interface update
update_interfaces(123)
interface_action: interface lo0 IPv4 loopback - listen
examining interface #0: fd=-1, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled:
Searching for addr 127.0.0.1 in list of addresses - FOUND
updating interface #2: fd=22, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled: present
interface_action: interface bge0 default listen
examining interface #0: fd=-1, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
Searching for addr 45.3.255.68 in list of addresses - FOUND
updating interface #3: fd=23, bfd=25, name=bge0, flags=0x39, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
present
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
read_network_packet: fd=22 length 48 from 127.0.0.1
receive: at 101 127.0.0.1<-127.0.0.1 flags 15 restrict 000
receive: at 101 127.0.0.1<-127.0.0.1 mode 3 len 48
sendpkt(22, dst=127.0.0.1, src=127.0.0.1, ttl=0, len=48)
transmit: at 101 127.0.0.1->127.0.0.1 mode 4 len 48
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
timer: interface update
update_interfaces(123)
interface_action: interface lo0 IPv4 loopback - listen
examining interface #0: fd=-1, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled:
Searching for addr 127.0.0.1 in list of addresses - FOUND
updating interface #2: fd=22, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled: present
interface_action: interface bge0 default listen
examining interface #0: fd=-1, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
Searching for addr 45.3.255.68 in list of addresses - FOUND
updating interface #3: fd=23, bfd=25, name=bge0, flags=0x39, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
present
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
read_network_packet: fd=22 length 48 from 127.0.0.1
receive: at 401 127.0.0.1<-127.0.0.1 flags 15 restrict 000
MRU: interval 300 headway 8 limit 64
receive: at 401 127.0.0.1<-127.0.0.1 mode 3 len 48
sendpkt(22, dst=127.0.0.1, src=127.0.0.1, ttl=0, len=48)
transmit: at 401 127.0.0.1->127.0.0.1 mode 4 len 48
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
timer: interface update
update_interfaces(123)
interface_action: interface lo0 IPv4 loopback - listen
examining interface #0: fd=-1, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled:
Searching for addr 127.0.0.1 in list of addresses - FOUND
updating interface #2: fd=22, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled: present
interface_action: interface bge0 default listen
examining interface #0: fd=-1, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
Searching for addr 45.3.255.68 in list of addresses - FOUND
updating interface #3: fd=23, bfd=25, name=bge0, flags=0x39, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
present
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
read_network_packet: fd=22 length 48 from 127.0.0.1
receive: at 701 127.0.0.1<-127.0.0.1 flags 15 restrict 000
MRU: interval 300 headway 8 limit 64
receive: at 701 127.0.0.1<-127.0.0.1 mode 3 len 48
sendpkt(22, dst=127.0.0.1, src=127.0.0.1, ttl=0, len=48)
transmit: at 701 127.0.0.1->127.0.0.1 mode 4 len 48
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
timer: interface update
update_interfaces(123)
interface_action: interface lo0 IPv4 loopback - listen
examining interface #0: fd=-1, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled:
Searching for addr 127.0.0.1 in list of addresses - FOUND
updating interface #2: fd=22, bfd=-1, name=lo0, flags=0x15, scope=0,
sin=127.0.0.1, mask=255.0.0.0, Enabled: present
interface_action: interface bge0 default listen
examining interface #0: fd=-1, bfd=-1, name=bge0, flags=0x19, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
Searching for addr 45.3.255.68 in list of addresses - FOUND
updating interface #3: fd=23, bfd=25, name=bge0, flags=0x39, scope=0,
sin=45.3.255.68, bcast=45.3.255.127, mask=255.255.255.128, Enabled:
present
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.2
ignore on (10) fd=20 from 45.3.255.2
read_network_packet: fd=22 length 48 from 127.0.0.1
receive: at 1001 127.0.0.1<-127.0.0.1 flags 15 restrict 000
MRU: interval 300 headway 8 limit 64
receive: at 1001 127.0.0.1<-127.0.0.1 mode 3 len 48
sendpkt(22, dst=127.0.0.1, src=127.0.0.1, ttl=0, len=48)
transmit: at 1001 127.0.0.1->127.0.0.1 mode 4 len 48
ignore on (10) fd=20 from 45.3.255.3
ignore on (10) fd=20 from 45.3.255.3
^Caddto_syslog: ntpd exiting on signal 2
filegen_unregister(peerstats)
filegen_unregister(loopstats)
filegen_unregister(clockstats)
filegen_unregister(rawstats)
filegen_unregister(sysstats)
filegen_unregister(protostats)


On Aug 16, 10:55 pm, Danny Mayer <ma... at ntp.org> wrote:
> On 8/16/2010 1:06 AM, John Warburton wrote:
>
>
>
> > Hello All
>
> > I seem to be having a problem with NTP broadcastclient on Solaris 10.
> > It seems to be ignoring any packets that get sent to the UDP broadcast
> > interface.
>
> > I have tried this with the following versions of NTP:
> > ntp-4.1.1 (yes, really)
> > ntp-4.2.6p2
> > ntp-dev-4.2.7p41
> > SUNWntp4u (4.2.5p... at 1.1845-o)
>
> > # cat /etc/inet/ntp.conf
> > disable auth
> > driftfile /var/ntp/ntp.drift
> > broadcastclient
>
> > I see the packets on the network:
> >   45.3.255.2 -> BROADCAST    NTP  broadcast [st=5] (2010-08-16
> > 01:01:24.08884)
> >   45.3.255.3 -> BROADCAST    NTP  broadcast [st=5] (2010-08-16
> > 01:02:21.70679)
> >   45.3.255.2 -> BROADCAST    NTP  broadcast [st=5] (2010-08-16
> > 01:02:28.08907)
> >   45.3.255.3 -> BROADCAST    NTP  broadcast [st=5] (2010-08-16
> > 01:03:25.70711)
>
> > NTPd sets up the broadcast interface on fd 20, then at the last
> > moment, says it will drop them
>
> > bind(20) AF_INET, addr 0.0.0.0%0#123, flags 0x89
> > flags for fd 20: 0x1082
> > Searching for addr 0.0.0.0 in list of addresses - NOT FOUND
> > Added addr 0.0.0.0 to list of addresses
> > addto_syslog: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
> > created interface #0: fd=20, bfd=-1, name=v4wildcard, flags=0x89,
> > scope=0, sin=0.0.0.0, bcast=0.0.0.0, mask=255.255.255.255, Disabled:
> > Dumping interface: 1030e0
> > fd = 20
> > ...
> > interface_action: interface wildcard default wildcard drop
>
> > Then we see the daemon ignore the packets:
> > ignore on (10) fd=20 from 45.3.255.2
> > ignore on (10) fd=20 from 45.3.255.2
>
> > Full debug details below
>
> > Note that Sun's NTP3 implementation works fine - SUNWntp (xntpd 3-5.93e
> > +sun), and so do RHEL 5.1 clients (ntp-4.2.2p1-7.el5.x86_64) on the
> > same subnet & config
>
> > Any ideas what I am doing wrong?
>
> > Thanks
>
> > John
>
> fd=20 is the IPv4 wildcard interface and should not be receiving any
> packets. The real broadcast client is fd=25 and it appears not to be
> receiving the packets. Assuming that 45.3.255.2 is the broadcast server
> then it should be received on fd=25. Your trace (above) does not show
> the IP addresses so it makes it useless. This has nothing to do with
> auth being disabled, it just doesn't get that far. This shows the
> broadcast client being set up:
>
> > Broadcast enabled on socket 25 for address 45.3.255.127
> > bind(25) AF_INET, addr 45.3.255.127%0#123, flags 0x39
> > flags for fd 25: 0x1082
> > addto_syslog: io_setbclient: Opened broadcast client on interface #3
> > bge0
> > setting SO_REUSEADDR on l... at 127.0.0.1 to off
> > setting SO_REUSEADDR on b... at 45.3.255.68 to off
> > io_setbclient: Opened broadcast clients
>
> and this is what should be receiving the broadcast packets. You shut off
> the log too early to see if it was seeing the broadcast packets to
> 45.3.255.127. You should also send us your ntp.conf. I don't know what's
> wrong here on the basis of what you sent. Try using -D4 when you run
> this and let it run longer.
>
> Danny




More information about the questions mailing list