我正在尝试让 NTP 守护进程在 azure 中的虚拟机上运行,这些虚拟机位于公共(public)负载均衡器后面,用于出站访问互联网。
NTP 服务配置为客户端模式(默认),并且我已在安全组中允许出站 UDP 123 访问。
现在,如果我没有在虚拟机的外部负载均衡器中配置传入 UDP 123 规则,则 ntp 服务将无法工作。
运行ntpdate -dq 0.centos.pool.ntp.org
显示有数据包正在传输,但如果没有LB传入规则,则没有收到任何数据包。
添加规则可以解决问题,但我担心的是根本不需要它,因为在客户端模式下 ntp 服务不需要入站连接。为什么没有这条规则服务就无法工作?
最佳答案
我猜您正在使用标准 SKU LB。 标准 SKU SNAT 编程是根据 IP 传输协议(protocol)进行的,并源自负载平衡规则。如果仅存在 TCP 负载均衡规则,则 SNAT 仅适用于 TCP。如果您只有 TCP 负载平衡规则并且需要 UDP 的出站 SNAT,请创建从同一前端到同一后端池的 UDP 负载平衡规则。这将触发 UDP 的 SNAT 编程。
根据我的理解,任何 UDP 端口负载平衡规则都应该有效。
关于azure - azure 中 NTP 服务的公共(public) LB 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50168334/