歡迎光臨
每天分享高質量文章

如何在 Linux/Unix 之上系結 ntpd 到特定的 IP 地址 | Linux 中國

NTP 是網絡時間協議的首字母簡寫,這是一個用來同步兩臺電腦之間時間的協議。ntpd 是一個操作系統守護行程,可以設置並且保證系統的時間與互聯網標準時間服務器同步。
— Vivek Gite


本文導航
編譯自 | https://www.cyberciti.biz/faq/how-to-bind-ntpd-to-specific-ip-addresses-on-linuxunix/ 
 作者 | Vivek Gite
 譯者 | ShuCheng

預設的情況下,我們的 ntpd/NTP 服務器會監聽所有的端口或者 IP 地址,也就是:0.0.0.0:123。 怎麼才可以在一個 Linux 或是 FreeBSD Unix 服務器上,確保只監聽特定的 IP 地址,比如 localhost 或者是 192.168.1.1:123 ?

NTP 是網絡時間協議Network Time Protocol的首字母簡寫,這是一個用來同步兩臺電腦之間時間的協議。ntpd 是一個操作系統守護行程,可以設置並且保證系統的時間與互聯網標準時間服務器同步。

NTP 使用 /etc/directory 之下的 ntp.conf 作為配置檔案。

/etc/ntp.conf 之中的端口指令

你可以通過設置端口命令來防止 ntpd 監聽 0.0.0.0:123,語法如下:

  1. interface listen IPv4|IPv6|all

  2. interface ignore IPv4|IPv6|all

  3. interface drop IPv4|IPv6|all

上面的配置可以使 ntpd 監聽那個地址或者不出來任何請求而直接丟棄。ignore 會防止打開匹配的地址,drop 會導致 ntpd 打開該地址並丟棄所有接收到的包,而不做任何檢查。舉個例子,如果要忽略所有端口之上的監聽,加入下麵的陳述句到 /etc/ntp.conf

  1. interface ignore wildcard

如果只監聽 127.0.0.1 和 192.168.1.1 則是這樣:

  1. interface listen 127.0.0.1

  2. interface listen 192.168.1.1

這是我 FreeBSD 雲服務器上的樣例 /etc/ntp.conf 檔案:

  1. $ egrep -v '^#|$^' /etc/ntp.conf

樣例輸出為:

  1. tos minclock 3 maxclock 6

  2. pool 0.freebsd.pool.ntp.org iburst

  3. restrict    default limited kod nomodify notrap noquery nopeer

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

  5. restrict    source  limited kod nomodify notrap noquery

  6. restrict 127.0.0.1

  7. restrict -6 ::1

  8. leapfile "/var/db/ntpd.leap-seconds.list"

  9. interface ignore wildcard

  10. interface listen 172.16.3.1

  11. interface listen 10.105.28.1

重啟 ntpd

在 FreeBSD Unix 之上重新加載/重啟 ntpd:

  1. $ sudo /etc/rc.d/ntpd restart

或者 在 Debian 和 Ubuntu Linux 之上使用下麵的命令[1]

  1. $ sudo systemctl restart ntp

或者 在 CentOS/RHEL 7/Fedora Linux 之上使用下麵的命令[1]

  1. $ sudo systemctl restart ntpd

校驗

使用 netstat 和 ss 命令來檢查 ntpd 只系結到了特定的 IP 地址:

  1. $ netstat -tulpn | grep :123

或是:

  1. $ ss -tulpn | grep :123

樣例輸出:

  1. udp        0      0 10.105.28.1:123         0.0.0.0:*                           -              

  2. udp        0      0 172.16.3.1:123          0.0.0.0:*                           -

在 FreeBSD Unix 服務器上使用 sockstat 命令[2]

  1. $ sudo sockstat

  2. $ sudo sockstat -4

  3. $ sudo sockstat -4 | grep :123

樣例輸出:

  1. root     ntpd       59914 22 udp4   127.0.0.1:123         *:*

  2. root     ntpd       59914 24 udp4   127.0.1.1:123         *:*


作者是 nixCraft 的創始人並且是一位經驗豐富的系統管理員、DevOps 工程師,也是一名 Linux 操作系統和 Unix shell 腳本的訓練師。他為全球不同行業,包括 IT、教育業、安全防護、空間研究和非營利性組織的客戶工作。關註他的 Twitter[3]Facebook[4]Google+[5]


via: https://www.cyberciti.biz/faq/how-to-bind-ntpd-to-specific-ip-addresses-on-linuxunix/

作者:Vivek Gite[7] 譯者:Drshu 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

ShuCheng(Drshu) ? ?
共計翻譯:4 篇
貢獻時間:17 天


推薦文章

< 左右滑動查看相關文章 >

點擊圖片、輸入文章 ID 或識別二維碼直達

赞(0)

分享創造快樂