在Linux中如何将ntpd绑定到特定的IP地址上

时间:2019-11-20 08:53:40  来源:igfitidea点击:

默认情况下,ntp服务器守护进程ntpd监听所有IP端口0.0.0.0:123
如何设置ntpd只监听特定IP地址?

/etc/ntp.conf中的interface指令

可以通过设置interface命令来防止ntpd监听0.0.0.0:123。

语法为:

interface listen IPv4|IPv6|all
interface ignore IPv4|IPv6|all
interface drop IPv4|IPv6|all

要禁止在所有网络接口上监听,在/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

/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上重新加载/重启ntpd:

$ sudo systemctl restart ntp

在CentOS/RHEL 7/Fedora Linux上重新加载/重启ntpd:

$ sudo systemctl restart ntpd

检查

检查ntpd是否只监听特定的IP地址:

$ netstat -tulpn | grep :123

或者

$ ss -tulpn | grep :123

在FreeBSD Unix服务器上使用sockstat命令检查:

$ sudo sockstat
$ sudo sockstat -4
$ sudo sockstat -4 | grep :123