V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jsjcjsjc
V2EX  ›  Linux

443 端口不能处理 UDP 流量吗?

  •  
  •   jsjcjsjc · 2022-02-19 19:19:42 +08:00 · 5799 次点击
    这是一个创建于 1006 天前的主题,其中的信息可能已经有所发展或是发生改变。
    安装了宝塔,尝试在 443 端口接受 UDP 流量后转发

    发现压根就接收不到 UDP 流量,宝塔的技术说 443 端口是无法设置 udp 的..

    我想着 443 只是一个端口,应该啥流量都可以处理的吧
    33 条回复    2022-02-22 21:02:43 +08:00
    0ZXYDDu796nVCFxq
        1
    0ZXYDDu796nVCFxq  
       2022-02-19 19:21:43 +08:00 via Android   ❤️ 1
    Quic: ???
    HTTP3: ???
    端口和协议无关
    可能你防火墙或者云主机的防火墙没有开放 443/udp
    jsjcjsjc
        2
    jsjcjsjc  
    OP
       2022-02-19 20:30:21 +08:00
    @gstqc 宝塔技术人员说 443 就不能处理 UDP
    https://www.bt.cn/bbs/thread-85570-1-1.html
    learningman
        3
    learningman  
       2022-02-19 20:32:59 +08:00   ❤️ 1
    他放屁呢,怎么可能有端口不接受 udp ,你先检查下防火墙和安全组吧
    Droi
        4
    Droi  
       2022-02-19 20:53:50 +08:00   ❤️ 1
    防火墙开 443/udp ,换宝塔的 443/tcp 端口。
    用自己的 web 服务(如 nginx)监听 443/udp 转发数据,再反代宝塔端口到 443/tcp
    documentzhangx66
        5
    documentzhangx66  
       2022-02-19 20:57:37 +08:00   ❤️ 1
    一款应用程序,既可以收发指定端口的 tcp 数据,也可以收发指定 udp 端口的数据,甚至可以两者一起收发,甚至可以同时收发多个 tcp 、udp 端口。这取决于你的代码怎么写。

    所以,如果一款应用程序,比如纯粹的 TCP 程序,它的代码里就没有收发 UDP 的功能,那么它就没办法收发 UDP 。

    或者,如果一款支持 UDP 的应用程序,比如 nginx ,但如果它没有配置收发 UDP ,那么它也没办法收发 UDP 。比如只配置了 http 的 nginx 。

    所以,你问的这个问题,有两点需要确认:

    1.你说的这款程序,它本身支持 UDP 收发功能吗?

    2.如果支持,那么这款程序,是否在配置项里,打开了 UDP 功能,并且 UDP 端口配置为 443 端口?

    另外补充一点小知识,tcp 端口,与 udp 端口,可以配置在同一个端口号。
    miyuki
        6
    miyuki  
       2022-02-19 21:10:22 +08:00 via iPhone
    @jsjcjsjc 不过目前已经 2022 年了,虽然国内 UDP 稀烂没法用,但这应该算是一个常识了
    neroxps
        7
    neroxps  
       2022-02-19 21:31:19 +08:00 via iPhone   ❤️ 1
    emmm 宝塔运维也没说错。他们程序因为占用了 433 nginx 默认就是 https 协议。

    但是 433 udp 如果其他程序监听依然能用。
    a8Fy37XzWf70G0yW
        8
    a8Fy37XzWf70G0yW  
       2022-02-19 21:32:12 +08:00 via Android   ❤️ 1
    非常贊成其他人的說法:
    單個埠口所能支持的程式並不是強制要求無法更改的的,僅是一種約定俗成的標準而已。如果自己擁有對伺服器的控制權,那絕大多數情況下都可以自行任意設定某個服務所使用的埠口。
    cpstar
        9
    cpstar  
       2022-02-19 21:39:54 +08:00   ❤️ 3
    虽然端口都是 1-65535 ,但实际上 TCP 一套 1-65535 ,UDP 一套 1-65535 ,相当于各是各的,普遍意义上的 443 ,会默认为 HTTPS ,即 TCP 443 端口,但如果非要 UDP 443 那也毫无问题。然后就是端口监听了,监听 TCP443 还是 UDP443 ?没有监听 UDP443 ,数据包给谁?那表征必然就是连不通了。最后就是防火墙问题了,配置防火墙的时候当然也是三个选项:TCP 、UDP 、TCP/UDP 。

    不是科班出身,至少相关的知识也得是需要掌握的,如果没有掌握知识就瞎扯一通,那就等着打脸吧。
    jsjcjsjc
        10
    jsjcjsjc  
    OP
       2022-02-19 21:48:07 +08:00
    @neroxps 关键是那个运维看到我的提问后,不应该告诉我宝塔如何在 443 接收 UDP 流量吗? 而不是直接说 443 不支持 UDP?
    其实我觉得肯定可以,所以希望宝塔运维回复一下方法,但是他的回复让我直接怀疑了~~
    jsjcjsjc
        11
    jsjcjsjc  
    OP
       2022-02-19 21:51:25 +08:00
    @cpstar 我也是这么理解的,但是宝塔上貌似没有设置 UDP 和 TCP,只发现已经开放了 443 端口

    应该是其他地方有设置吧,所以我去宝塔论坛发帖了
    cpstar
        12
    cpstar  
       2022-02-19 21:57:08 +08:00
    不清楚这个“宝塔”是个啥东西哈(也懒得搜了),但是如果说开放 443 ,如果是一个正经对互联网提供服务且具备一定网络安全风险意识的,大概率只开了 TCP 443 。
    如果这是一个应用程序,属你可控的,可以通过 netstat -tunl 来查看监听情况,前半部分是 TCP 的监听,后半部分是 UDP 的监听,如果都监听了,那两部分都会有同一个端口号。
    jousca
        13
    jousca  
       2022-02-19 22:19:17 +08:00
    这个宝塔的运维也是个半罐子~~~~~~~~

    一般原因是你防火墙没开 UDP 443 而已。TCP 和 UDP 是不同的协议。技术上可以共用 443 端口。

    我的梯子就是用的 UDP 443 …… 我上面 TCP 443 是给了网站。 互相不干扰。
    jousca
        14
    jousca  
       2022-02-19 22:21:21 +08:00   ❤️ 1
    @cpstar 就是一个傻瓜型的 linux 管路软件……小白专用。但凡懂点 linux 的都不屑于用那个东西。
    cfanmark
        15
    cfanmark  
       2022-02-19 23:19:57 +08:00
    宝塔直接安装的 nginx 好像还不能响应 QUIC(UDP)
    lysS
        16
    lysS  
       2022-02-20 00:42:46 +08:00   ❤️ 1
    宝塔这种建议别用
    jsjcjsjc
        17
    jsjcjsjc  
    OP
       2022-02-20 08:50:07 +08:00
    @jousca 表这样嘛...虽不是从小白慢慢出来的呢
    jsjcjsjc
        18
    jsjcjsjc  
    OP
       2022-02-20 09:05:09 +08:00
    尝试了,ufw allow 443/udp,ufw status`显示 OK,但还是接收不到 UDP,不知道是不是其他地方需要做设置
    aecra
        19
    aecra  
       2022-02-20 10:46:00 +08:00 via Android
    你这需求完全可以脱离宝塔了,不然肯定是伪需求
    jsjcjsjc
        20
    jsjcjsjc  
    OP
       2022-02-20 11:44:08 +08:00
    @aecra 不要这么上纲上线哈~~~就是好奇闲的,想看看宝塔为啥不行
    vance123
        21
    vance123  
       2022-02-20 12:13:06 +08:00
    复习下网络知识:socket 是由源 IP 地址,源端口,目的 IP 地址,目的端口和传输层协议确定的五元组,进程将流量转发给 socket 也就是传输层,socket 再将流量转发给网络层。
    disk
        22
    disk  
       2022-02-20 13:03:06 +08:00
    你没装宝塔时能不能转,不一定是宝塔的问题。如果是,那么要么宝塔自己占用了 443/udp ,要么它出于某些原因把 433/udp 封锁了。
    jsjcjsjc
        23
    jsjcjsjc  
    OP
       2022-02-20 14:12:52 +08:00
    @disk 感谢回复
    不过一台新 VPS,应该不至于吧
    OliveGlaze
        24
    OliveGlaze  
       2022-02-20 15:42:17 +08:00
    如果你的 VPS 是国内小鸡的话,去问问老板兼客服是不是禁用了 UDP 。有些国人奸商为了降低运营成本会在母鸡上就禁用 UDP 。
    msg7086
        25
    msg7086  
       2022-02-20 16:20:56 +08:00
    宝塔的技术人员懂的可能还没你多。
    jousca
        26
    jousca  
       2022-02-20 17:26:11 +08:00
    @jsjcjsjc 如果是 VPS ,很有可能机房在出口防火墙上就阻止了 443 UDP ,正常情况下,QUIC 协议使用 UDP 443 ,但是很多机房安全策略认为 UDP 443 是危险的,所以默认给它拦截了。只开放 TCP 443.
    jsjcjsjc
        27
    jsjcjsjc  
    OP
       2022-02-20 18:21:10 +08:00
    @msg7086 老哥,见效了
    我都用宝塔了~~~
    luanma
        28
    luanma  
       2022-02-20 20:13:18 +08:00
    TCP/UDP 是 2 个协议,端口相同但是不冲突
    jsjcjsjc
        29
    jsjcjsjc  
    OP
       2022-02-20 22:11:41 +08:00
    @luanma 我也是这么理解的,等明天宝塔上班后看看有没有啥建议吧,估计沟通上有点问题
    neroxps
        30
    neroxps  
       2022-02-20 22:26:17 +08:00 via iPhone   ❤️ 1
    @jsjcjsjc 建议先用 nc -l -p 443 测试下
    jsjcjsjc
        31
    jsjcjsjc  
    OP
       2022-02-21 08:21:01 +08:00
    @neroxps 就是用这个测试的
    neroxps
        32
    neroxps  
       2022-02-21 09:47:50 +08:00
    @jsjcjsjc #31 得加 -u 打漏了
    jsjcjsjc
        33
    jsjcjsjc  
    OP
       2022-02-22 21:02:43 +08:00
    @neroxps 感谢,重装系统后还是不行,确实是 VPS 的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 21:47 · PVG 05:47 · LAX 13:47 · JFK 16:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.