作者 | Vivek Gite
譯者 | ShuCheng
預設的情況下,我們的 ntpd/NTP 伺服器會監聽所有的埠或者 IP 地址,也就是:0.0.0.0:123
。 怎麼才可以在一個 Linux 或是 FreeBSD Unix 伺服器上,確保只監聽特定的 IP 地址,比如 localhost
或者是 192.168.1.1:123
?
NTP 是網路時間協議的首字母簡寫,這是一個用來同步兩臺電腦之間時間的協議。ntpd 是一個作業系統守護行程,可以設定並且保證系統的時間與網際網路標準時間伺服器同步。
NTP 使用 /etc/directory
之下的 ntp.conf
作為配置檔案。
/etc/ntp.conf 之中的埠指令
你可以透過設定埠命令來防止 ntpd 監聽 0.0.0.0:123
,語法如下:
interface listen IPv4|IPv6|all
interface ignore IPv4|IPv6|all
interface drop IPv4|IPv6|all
上面的配置可以使 ntpd
監聽那個地址或者不出來任何請求而直接丟棄。ignore
會防止開啟匹配的地址,drop
會導致 ntpd 開啟該地址並丟棄所有接收到的包,而不做任何檢查。舉個例子,如果要忽略所有埠之上的監聽,加入下麵的陳述句到 /etc/ntp.conf
:
interface ignore wildcard
如果只監聽 127.0.0.1 和 192.168.1.1 則是這樣:
interface listen 127.0.0.1
interface listen 192.168.1.1
這是我 FreeBSD 雲伺服器上的樣例 /etc/ntp.conf
檔案:
$ egrep -v '^#|$^' /etc/ntp.conf
樣例輸出為:
tos minclock 3 maxclock 6
pool 0.freebsd.pool.ntp.org iburst
restrict default limited kod nomodify notrap noquery nopeer
restrict -6 default limited kod nomodify notrap noquery nopeer
restrict source limited kod nomodify notrap noquery
restrict 127.0.0.1
restrict -6 ::1
leapfile "/var/db/ntpd.leap-seconds.list"
interface ignore wildcard
interface listen 172.16.3.1
interface listen 10.105.28.1
重啟 ntpd
在 FreeBSD Unix 之上重新載入/重啟 ntpd:
$ sudo /etc/rc.d/ntpd restart
或者 在 Debian 和 Ubuntu Linux 之上使用下麵的命令[1]:
$ sudo systemctl restart ntp
或者 在 CentOS/RHEL 7/Fedora Linux 之上使用下麵的命令[1]:
$ sudo systemctl restart ntpd
校驗
使用 netstat
和 ss
命令來檢查 ntpd 只系結到了特定的 IP 地址:
$ netstat -tulpn | grep :123
或是:
$ ss -tulpn | grep :123
樣例輸出:
udp 0 0 10.105.28.1:123 0.0.0.0:* -
udp 0 0 172.16.3.1:123 0.0.0.0:* -
在 FreeBSD Unix 伺服器上使用 sockstat 命令[2]:
$ sudo sockstat
$ sudo sockstat -4
$ sudo sockstat -4 | grep :123
樣例輸出:
root ntpd 59914 22 udp4 127.0.0.1:123 *:*
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中國 榮譽推出