由于ubuntu每次重启后时间老是不对,所以使用ntp服务,让ubuntu作为客户端,去同步windows时间。
一、windows服务端配置
1、启用ntp服务
# 启动W32Time服务(若未启动)
net start w32time
# 配置服务为NTP模式
w32tm /config /manualpeerlist:"pool.ntp.org" /syncfromflags:manual /reliable:yes /update
# 重启服务
net stop w32time
net start w32time
2、调整注册表(工作组环境需允许匿名NTP请求)
打开注册表编辑器(regedit)
找到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
将 Enabled 的值改为 1
重启W32Time服务:
net stop w32time && net start w32time
3、开放防火墙
打开“高级安全Windows Defender防火墙”
新建入站规则:
规则类型:端口
协议:UDP,端口:123
允许连接
二、Ubuntu客户端配置
1、安装NTP工具
sudo apt update && sudo apt install ntpdate -y
2、配置systemd-timesyncd
# 编辑配置文件
sudo nano /etc/systemd/timesyncd.conf
# 修改以下内容
[Time]
NTP=9.11.8.210
FallbackNTP=ntp.ubuntu.com
# 重启服务
sudo systemctl restart systemd-timesyncd
三、验证同步状态
1、Ubuntu端检查
# 使用systemd-timesyncd
timedatectl status
2、Windows端检查
# 查看NTP服务状态
w32tm /query /status
四、故障排查
1、测试连通性
sudo ntpdate -q 9.11.8.210
2、检查防火墙
确保Ubuntu可以访问Windows的UDP 123端口:
nc -uzv 9.11.8.210 123
3、处理时间偏差过大
# 手动强制同步(使用ntpdate)
sudo ntpdate 9.11.8.210
四、注意事项
1、时间差异过大:NTP默认允许的最大偏差为1000秒,超过此值需手动同步。
2、虚拟机环境:禁用VMware/VirtualBox的时间同步功能,避免冲突。
3、时区设置:确保Ubuntu与Windows的时区一致:
sudo timedatectl set-timezone Asia/Shanghai
五、开机同步
1、检查服务状态
sudo systemctl status systemd-timesyncd
2、如果服务未启用,请启用并启动它:
sudo systemctl enable systemd-timesyncd
sudo systemctl start systemd-timesyncd
3、验证开机启动
sudo systemctl is-enabled systemd-timesyncd
如果显示 enabled,则表示已配置为开机自动同步。