Skip to main content

ubuntu18.04安装ntp,并配置内网校时

在你的场景里,本质是做一个NTP层级结构

  • server-1:能访问互联网 → 作为上游时间源(NTP Server)

  • server-2:不能访问互联网 → 从 server-1 同步时间(NTP Client)

下面一步步配置 👇


一、在 server-1 上配置(作为 NTP 服务器)

1. 安装 NTP 服务

sudo apt update
sudo apt install ntp

2. 修改配置文件

编辑:

sudo vim /etc/ntp.conf

确保有公网时间源(默认一般已经有):

server 0.ubuntu.pool.ntp.org iburst
server 1.ubuntu.pool.ntp.org iburst
server 2.ubuntu.pool.ntp.org iburst

3. 允许内网 client(server-2)访问

在配置中添加(很关键):

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

👉 根据你的内网网段修改,比如:

  • 192.168.0.0

  • 10.0.0.0


4. 重启服务

sudo systemctl restart ntp

5. 检查是否正常同步公网

ntpq -p

看到类似:

*ntp1.aliyun.com

说明已经同步成功 ✅


6. 确认监听端口

sudo netstat -lnup | grep 123

二、在 server-2 上配置(作为客户端)


1. 安装 NTP

sudo apt update
sudo apt install ntp

2. 修改配置文件

sudo vim /etc/ntp.conf

👉 注释掉所有公网 server:

# server 0.ubuntu.pool.ntp.org iburst
# server 1.ubuntu.pool.ntp.org iburst

👉 添加 server-1:

server 192.168.1.10 iburst

(这里填 server-1 的IP)


3. 重启服务

sudo systemctl restart ntp

4. 验证同步状态

ntpq -p

看到:

*192.168.1.10

说明已经成功同步 🎉


三、可选优化(推荐)

1. 强制 server-1 作为时间源(避免无外网时漂移)

在 server-1 的 /etc/ntp.conf 添加:

local stratum 10

2. 防火墙放行(如果有防火墙)

server-1 需要开放 UDP 123:

sudo ufw allow 123/udp

3. 手动立即校时(客户端)

server-2 可以执行一次:

sudo ntpdate 192.168.1.10

四、整体结构图

互联网 NTP
     ↓
 server-1(有公网)
     ↓
 server-2(内网)

五、常见问题排查

❌ server-2 不同步?

检查:

  1. 能否 ping 通 server-1

  2. 防火墙是否放行 123/UDP

  3. server-1 是否在监听

  4. ntpq -p 是否有 reach 值(非0)


如果你愿意,我可以帮你把这套改成更现代的 chrony方案(Ubuntu 18.04更推荐),同步更快更稳定。