2018-03-15 14:34:04 2210瀏覽
默認的情況下,我們的ntpd/NTP服務器會監(jiān)聽所有的端口或者IP地址,也就是:0.0.0.0:123。怎么才可以在一個Linux或是FreeBSDUnix服務器上,確保只監(jiān)聽特定的IP地址,比如localhost或者是192.168.1.1:123
NTP是網(wǎng)絡時間協(xié)議NetworkTimeProtocol的首字母簡寫,這是一個用來同步兩臺電腦之間時間的協(xié)議。ntpd是一個操作系統(tǒng)守護進程,可以設置并且保證系統(tǒng)的時間與互聯(lián)網(wǎng)標準時間服務器同步。
NTP使用/etc/directory之下的ntp.conf作為配置文件。
/etc/ntp.conf之中的端口指令
你可以通過設置端口命令來防止ntpd監(jiān)聽0.0.0.0:123,語法如下:
interfacelistenIPv4|IPv6|all
interfaceignoreIPv4|IPv6|all
interfacedropIPv4|IPv6|all
上面的配置可以使ntpd監(jiān)聽那個地址或者不出來任何請求而直接丟棄。ignore會防止打開匹配的地址,drop會導致ntpd打開該地址并丟棄所有接收到的包,而不做任何檢查。舉個例子,如果要忽略所有端口之上的監(jiān)聽,加入下面的語句到/etc/ntp.conf:
interfaceignorewildcard
如果只監(jiān)聽127.0.0.1和192.168.1.1則是這樣:
interfacelisten127.0.0.1
interfacelisten192.168.1.1
這是我FreeBSD云服務器上的樣例/etc/ntp.conf文件:
$egrep-v'^#|$^'/etc/ntp.conf
樣例輸出為:
tosminclock3maxclock6
pool0.freebsd.pool.ntp.orgiburst
restrictdefaultlimitedkodnomodifynotrapnoquerynopeer
restrict-6defaultlimitedkodnomodifynotrapnoquerynopeer
restrictsourcelimitedkodnomodifynotrapnoquery
restrict127.0.0.1
restrict-6::1
leapfile"/var/db/ntpd.leap-seconds.list"
interfaceignorewildcard
interfacelisten172.16.3.1
interfacelisten10.105.28.1
重啟ntpd
在FreeBSDUnix之上重新加載/重啟ntpd:
$sudo/etc/rc.d/ntpdrestart
或者在Debian和UbuntuLinux之上使用下面的命令:
$sudosystemctlrestartntp
或者在CentOS/RHEL7/FedoraLinux之上使用下面的命令:
$sudosystemctlrestartntpd
校驗
使用netstat和ss命令來檢查ntpd只綁定到了特定的IP地址:
$netstat-tulpn|grep:123
或是:
$ss-tulpn|grep:123
樣例輸出:
udp0010.105.28.1:1230.0.0.0:*-
udp00172.16.3.1:1230.0.0.0:*-
在FreeBSDUnix服務器上使用sockstat命令:
$sudosockstat
$sudosockstat-4
$sudosockstat-4|grep:123
樣例輸出:
rootntpd5991422udp4127.0.0.1:123*:*
rootntpd5991424udp4127.0.1.1:123*:*
最后想要了解更多關于Linux發(fā)展前景趨勢,請關注扣丁學堂Linux培訓官網(wǎng)、微信等平臺,扣丁學堂IT職業(yè)在線學習教育平臺為您提供權威的Linux視頻教程系統(tǒng),通過千鋒扣丁學堂金牌講師在線錄制的Linux視頻教程課程,讓你快速掌握Linux從入門到精通開發(fā)實戰(zhàn)技能??鄱W堂Linux技術交流群:422345477。
【關注微信公眾號獲取更多的學習資料】