用nginx做udp代理解决ntp被封的问题

本文介绍了解决NTP端口被运营商封掉的问题,通过使用nginx进行UDP端口转发,实现内网机器正常对时。具体步骤包括在内网机器上部署nginx的UDP转发配置,以及在服务器上配置将指定端口的UDP包转发回本地123端口。

NTP端口被运营商封掉了,导致内网的机器都不能正常对时,用tcpdump发现可以往外发包,收不到回应,

自己写了一个测试程序发现服务器端可以收到123端口的udp包,回应收不到,一定是被运营商拦截了。

http://blog.youkuaiyun.com/mtour/article/details/41073525

参考这边文章,重新编译了ntp相关服务,tcpdump时发现发送的源端口确实变了,但一样收不到回应,只有另想方法。


于是想办法换一下端口,用nginx做一下udp端口转发:

1.在内网机器上部署nginx的udp转发:

stream {
    upstream ntp_upstreams {
        server 47.93.x.x:8123;
    }


    server {
        listen 123 udp;
        proxy_pass ntp_upstreams;
    }
}

意思是把到达本机的123端口的upd包转发到 server 47.93.x.x:8123;

stream {
    upstream ntp {
       server 127.0.0.1:123;
                 }
    server {
        listen 8123 udp;
        proxy_pass ntp;
    }
}

在服务器上配置,吧8123端口的udp包转发到本地123端口,服务器要启动ntp服务。

这样,本地机器就做成了一个ntp桥接,但是本地这个机器使用ntpdate 127.0.0.1是不行的,因为会有123端口冲突,用其他本地机器访问这个机器的ip作为ntp服务就可以了。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值