2008-10-24 10 views
11

Podczas odpytywania serwerów NTP z poleceniem ntpdate, mogę użyć -u argumentu, aby port nieograniczone źródłowy port (port 1024 i wyżej).ntpd: używać nieograniczonej portu do komunikacji

Z ntpd, który ma działać w tle, nie mogę znaleźć sposobu na włączenie tej opcji. Więc port źródłowy ma zawsze 123. Gra strasznie boryka się z moją konfiguracją firewalla.

Czy jest opcja konfiguracji w ntp.conf, aby użyć losowego portu źródłowego?

Odpowiedz

11

Nie brzmi patrzeć jest to możliwe ... zobacz ntp troubleshooting page:

Jeśli masz zamiar uruchomić ntpd, trzeba naprawić sieci/firewall/NAT, dzięki czemu można mieć pełny ntpd nieograniczony dostęp do portu UDP 123 w obu kierunkach.

Jeśli nie jest to możliwe, może być konieczne uruchomienie programu ntpd na zaporze sieciowej, aby mógł on mieć nieograniczony dostęp do portu UDP 123 w obu kierunkach, a następnie przekazywać go do klientów wewnętrznych.

Jeśli nie jest to możliwe, Twoją jedyną opcją może być zakup niezbędnego sprzętu do połączenia z jednym lub większą liczbą własnych komputerów i uruchomienie własnego serwera czasu Stratum 1 lub zakup wstępnie zapakowanego serwera czasu Stratum 1.

2

Już wcześniej miałem ten problem i nie mogłem znaleźć rozwiązania. Skończyłem właśnie dodając wpis do crontab, który uruchamia ntpdate raz na godzinę. To daje wystarczająco dobrą rozdzielczość dla wszystkiego, co robię, ponieważ mój zegar nigdy nie dryfuje więcej niż 1 sekundę na godzinę.

6

Udało mi się rozwiązać ten problem poprzez zastąpienie oficjalnego NTPD programem OpenNTPD. Podczas gdy oficjalny NTPD jest ustawiony na porcie UDP 123, OpenNTPD używa portów nieuprzywilejowanych.

+1

przykro mi, w jaki sposób określić, który port w użyciu? Nie mogłem go znaleźć w instrukcji – Joril

+0

Jak monitorować, czy openntpd działa poprawnie? Ntpd może być zapytany o emisję stanu. raz użyłem openntpd dokładnie dla tego problemu prio-port i znalazłem się z głuchoniemym ntp, który jest prawdopodobnie uszkodzony. – michuelnik

1

Jak pisał @Andy_Whitfield, ntpd nie może tego zrobić. Istnieją jednak alternatywy, takie jak OpenNTPD i Chrony. AFAIK, Chrony jest również używany przez Androida.

W mojej konfiguracji używam chrony. Używa nieuprzywilejowanego portu do wysyłania zapytań do serwerów zdalnych. Ta technika ma znacznie więcej szans na przekazanie NAT. Jest to ten sam mechanizm, który przydaje się również do zapytania serwera, ale tylko wtedy, gdy jest wywołany jako użytkownik nieuprzywilejowany.

Myślę, że głównym problemem, dlaczego czasami nie działa, jest to, że wiele routerów ma wbudowane NTP, aby ustawić ich wewnętrzny zegar. Na tych urządzeniach port jest używany i dlatego nie może być NAT. Może tak być nawet w przypadku, gdy urządzenie nie odpowiada na zapytania NTP.

0

Można użyć źródłowego NAT na komputerze z systemem ntpd zastąpić port 123 źródłowego z numerem portu, powyżej 1024.

Powiązane problemy