Come impedire a ntpd di ascoltare su 0.0.0.0:123?


29

ntpd è in ascolto su numerose interfacce di default, voglio solo che ascolti su 127.0.0.1:123 poiché voglio solo il localhost per sincronizzare l'ora.

Come farlo, ho provato modificando / etc / default / ntp su Debian Wheezy:

NTPD_OPTS='-4 -I 127.0.0.1'

Ma ascolta ancora a livello globale su 0.0.0.0:123

Qualche idea?


Sono curioso di sapere qual è il tuo obiettivo finale qui. La sincronizzazione con localhost non ha molto senso e non funzionerà affatto per impostazione predefinita senza una fudgedichiarazione. Cosa stai cercando di ottenere?
Ladadadada,

@Ladadadada Abbiamo un server ntp qui all'interno della LAN. I nostri client Linux dovrebbero avere l'ora corretta, ma invece di ntpdate -B timeservereseguire un cronjob orario volevamo eseguire un ntpd su ogni client con solo 127.0.0.1:123 che chiede al timeserver nella LAN. C'è qualcosa che non va?
JohnnyFromBF,

4
Su un client, la porta di ascolto viene utilizzata solo per interrogare lo stato corrente del demone. Le serverlinee nelle ntpdconfigurazioni del client definiscono con chi sincronizzare. Se la tua serverlinea dice (s) 127.0.0.1, hai un problema. Se indicano il tuo timeserver centrale, dovrebbe andare tutto bene.
Ladadadada,

Risposte:


34

Rimuovi tutto -Io --interfaceda /etc/default/ntpe inserisci quanto segue nel tuo /etc/ntp.conf:

interface ignore wildcard
interface listen 127.0.0.1
interface listen ::1
# NOTE: if you want to update your time using remote machines,
# add at least one remote interface address:
#interface listen 2001:db8::1
#interface listen 192.0.2.1

Un estratto dalla ntpd(1)pagina del manuale -isull'opzione:

Questa opzione implica anche di non aprire altri indirizzi, ad eccezione di caratteri jolly e localhost. Considerare l'utilizzo del comando dell'interfaccia del file di configurazione, che è più versatile.

Vedi anche la pagina del manuale Debian (non riuscivo a trovarla in Arch Linux) di ntp.conf(5).


6
ntp deve essere associato a un'interfaccia instradabile per poter essere sincronizzato con i timeserver. Vedi la risposta di meepmeep qui sotto.
Organic-Mashup,

17

Con ntp in ascolto solo su 127.0.0.1, sembra che non sia possibile avviare la connessione a un server ntp pubblico:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ks370079.kimsuf **.INIT.**       16 -    -   64    0    0.000    0.000   0.000

Per funzionare, deve essere associato a un indirizzo IP instradabile.


Grazie per questa osservazione e il tuo esempio che mostra come verificare che sia davvero così.
ColinM,

6

Completo /etc/ntp.conf quel protocollo neutro (IPv4 e | IPv6)

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict lo

interface ignore wildcard
interface listen lo

6

Se si desidera ridurre il numero di servizi di ascolto per motivi di sicurezza, potrebbe essere preso in considerazione openntpd, poiché non richiede che un server di ascolto funzioni come client. È considerato leggermente meno preciso di ntpd; è affidabile entro poche centinaia di ms, ma è adatto per la maggior parte degli scopi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.