V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
blues9
V2EX  ›  VPS

vps 上 UDP 转发的问题

  •  
  •   blues9 · 2017-03-10 23:07:50 +08:00 · 1026 次点击
    这是一个创建于 2613 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一台 vps 用来kexue上网($$-tunnel),但是 dns 请求死活转发不了。原因可能是 udp 转发不通。 用 do 或者 vultr 的机器就没问题,估计应该是 vps 本身内网 nat 导致的问题。 应该怎么解决?

    16 条回复    2017-03-16 15:22:42 +08:00
    chanssl
        1
    chanssl  
       2017-03-14 21:49:50 +08:00
    我用 Vultr 转发不了 UDP 数据流,不知道是什么原因, ss-libev 已经开启了 UDP 转发, UDP 端口也开放了,就是转发不了 UDP ,楼主有解决方法吗
    blues9
        2
    blues9  
    OP
       2017-03-14 21:59:20 +08:00
    @chanssl
    TCP 可以转发吗?
    你起服务的命令贴上来看看。我用 vultr 是没问题的。
    chanssl
        3
    chanssl  
       2017-03-14 22:02:43 +08:00
    @blues9 #2 TCP 可以转发。
    chanssl
        4
    chanssl  
       2017-03-14 22:07:03 +08:00
    启动 ss-server 的命令:
    chanssl
        5
    chanssl  
       2017-03-14 22:09:07 +08:00
    sockscap 代理后运行 NatTypeTester 的结果:
    搬瓦工的一键搭的可以 UDP 转发
    blues9
        6
    blues9  
    OP
       2017-03-14 23:08:05 +08:00
    @chanssl

    vultr 上有没有允许 udp 13645 端口的连接?比如:
    iptables -A INPUT -i eth0 -p udp --dport 13645 -j ACCEPT
    chanssl
        7
    chanssl  
       2017-03-14 23:14:34 +08:00
    @blues9 #6 有的, iptables 已经允许 UDP 端口 13645
    ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:13645
    ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:13645
    chanssl
        8
    chanssl  
       2017-03-14 23:30:09 +08:00
    贴一下 iptables -L -n 的输出结果:
    blues9
        9
    blues9  
    OP
       2017-03-16 09:45:00 +08:00
    @chanssl
    实在想不出什么原因。。你的 vultr 用的什么系统?
    前面有人说 MTU 的设置会导致 UDP 转发失败,你搜一下。
    chanssl
        10
    chanssl  
       2017-03-16 11:51:14 +08:00
    @blues9 #9 Centos 7 X64 安装 shadowsocks-libev 3.0.3 。我试过全新安装,还是一样。刚才尝试--mtu 1492 或者更高更低的值也还是一样。我也不知道什么问题了,等有空试试装 python 版本如何
    chanssl
        11
    chanssl  
       2017-03-16 12:00:15 +08:00
    @blues9 #9 刚才开了台测试机,安装了 python 版本,可以正常 udp 转发。
    blues9
        12
    blues9  
    OP
       2017-03-16 13:13:01 +08:00
    @chanssl
    看来还是实现机制不一样
    chanssl
        13
    chanssl  
       2017-03-16 13:24:40 +08:00
    @blues9 #12 嗯。不清楚什么问题,在 libev 的 issues 搜索到了类似的问题#354/#941 ,但是都没有解决。
    你装的也是 python 版本吗?
    blues9
        14
    blues9  
    OP
       2017-03-16 13:34:25 +08:00
    @chanssl
    我 server 端是装的 python 版, 路由器上是用的 ss-libv ;路由器连其他的 server 都是正常的,唯独这台 GCE 的服务器有问题, DNS 解析不了。
    chanssl
        15
    chanssl  
       2017-03-16 14:04:52 +08:00
    @blues9 #14 是不是你的 UDP 端口被禁用了?就像 Vultr 会默认禁用一些端口,无法开启。
    blues9
        16
    blues9  
    OP
       2017-03-16 15:22:42 +08:00
    @chanssl
    你是说 ss-server 的监听端口吗? 我已经在 gce 的防火墙上打开了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1173 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:41 · PVG 01:41 · LAX 10:41 · JFK 13:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.