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

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

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

http://blog.csdn.net/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服务就可以了。






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值