ntpq 命令返回“timed out, nothing received”的排查方法

简介: 开启Ipv6网络,ecs 执行ntpq 查询超时的排查过程

问题现象

多台ecs实例机器都能通过ntpq -p命令查看时间同步情况,只有其中一个实例使用ntpq -p命令的时候出错:

localhost: timed out, nothing received

***Request timed out

aeb65a4b756fd466454e2d10a09eeb5bebf0f4d8

排查过程

1.分析对比了正常和非正常显示的主机中/etc/ntp.conf的配置文件,结果相同,排除ntp命令本身以及配置的问题

2.直接通过strace  ntpq -p 查看命令执行过程如下

d079b650de03b270feb0375bd9c427f97379830a

结果显示,AF_INET6 即IPv6 地址向外发送sendto数据超时
推测这台主机有启用Ipv6 ,默认先走的ipv6地址

验证过程

ntpq -p 如果不指定地址的话,走的是默认ntp server

1.手动指定地址,正常显示

2. ntp -4p 即指定通过ipv4 地址获取返回值,正常显示

3.ntpq  -6p  指定通过ipv6 地址获取返回值,显示和ntpq  -p 命令返回“timed out, nothing received”的结果一致
d90ef6d578f3665e17a3b319c82534ae45756fa4


通过分析对比测试
因为开启了Ipv6 ,默认ntpq 先走Ipv6的通道,而ECS  linux 默认无法直接访问ipv6地址,因此会访问超时


解决方案

关闭Ipv6 后,再重新执行ntpq -p 显示正常

临时关闭开启Ipv6的方法如下

interface-name 为eth0/eth1


 sh -c 'echo 1 > /proc/sys/net/ipv6/conf/<interface-name>/disable_ipv6'   #关闭  
 sh -c 'echo 1 > /proc/sys/net/ipv6/conf/<interface-name>/disable_ipv6'   #开启
或者关闭所有接口(包括回环接口)的Ipv6 地址
 sh -c 'echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6'

永久关闭ipv6

/etc/sysctl.conf  中添加如下参数

# 禁用整个系统所有接口的IPv6
net.ipv6.conf.all.disable_ipv6 = 1
# 禁用某一个指定接口的IPv6(例如:eth0, eth1)
net.ipv6.conf.eth1.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1





目录
相关文章
|
7月前
|
Java
【Azure 事件中心】向Event Hub发送数据异常 : partitionId[null]: Sending messages timed out
【Azure 事件中心】向Event Hub发送数据异常 : partitionId[null]: Sending messages timed out
|
前端开发 JavaScript
前端 fetchMetadata: sill fetchPackageMetaData error for detec卡住解决办法
前端 fetchMetadata: sill fetchPackageMetaData error for detec卡住解决办法
2201 0
|
前端开发
【JCEF】关于-1 The query has been canceled或Unexpected call to CefQueryCallback_N::finalize()错误
【JCEF】关于-1 The query has been canceled或Unexpected call to CefQueryCallback_N::finalize()错误
140 0
|
搜索推荐
报错信息 "busy p..."
报错信息 "busy p..."
820 1
|
10月前
|
API Android开发 开发者
debug常见错误,出现debug时出现跑进为条件为false的if语句,DELETE_FAILED_INTERNAL_ERROR Error while In
debug常见错误,出现debug时出现跑进为条件为false的if语句,DELETE_FAILED_INTERNAL_ERROR Error while In
|
Web App开发 网络协议 数据安全/隐私保护
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
2795 0
Win系统 - 如何解决 ERR_PROXY_CONNECTION_FAILED 错误?
|
消息中间件 网络架构
OpenStack报错:MessagingTimeout: Timed out waiting for a reply to message ID
OpenStack报错:MessagingTimeout: Timed out waiting for a reply to message ID
1487 0
|
网络协议
排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)
排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)
300 0
|
NoSQL Java Redis
记录Redis操作的异常QueryTimeoutException & RedisCommandTimeoutException: Command timed out after 1 min
记录Redis操作的异常QueryTimeoutException & RedisCommandTimeoutException: Command timed out after 1 min
4185 0