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

Linux 服务器转发流量用什么?

  •  
  •   jatsz2020 · 2022-04-27 22:33:40 +08:00 · 8610 次点击
    这是一个创建于 975 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一台 linux 服务器,假设 IP 为 IP1 ,需要把流量转发到其他服务器

    IP1:10000  →  IP2:20000

    IP1:10001  →  IP3:2341

    类似这样

    问题 1 ,有哪些软件可以做到

    问题 2 ,后面的 IP2,IP3 ,以及端口,会经常更换的情况,哪个软件更适合

    谢谢

    47 条回复    2023-07-13 14:30:06 +08:00
    xavierskip
        1
    xavierskip  
       2022-04-27 22:46:59 +08:00
    socat
    ampedee
        2
    ampedee  
       2022-04-27 22:48:45 +08:00 via iPhone
    iptables 或者 ipvs?
    x86
        3
    x86  
       2022-04-27 22:50:16 +08:00
    redir
    rekulas
        4
    rekulas  
       2022-04-27 22:50:33 +08:00
    nginx 一把梭路过
    hefish
        5
    hefish  
       2022-04-27 22:51:33 +08:00   ❤️ 1
    楼上说的几个办法,都能实现。。。
    datou
        6
    datou  
       2022-04-27 22:53:11 +08:00
    iptables 最简单
    seers
        7
    seers  
       2022-04-27 22:58:23 +08:00
    nginx 吧,还能负载均衡,修改配置生效也不麻烦
    x86
        8
    x86  
       2022-04-27 23:01:43 +08:00
    是在不行就搞现在矿工那一套,带 web 端的,单纯转发和带 SSL 证书的也可以,另外还带监控啥的
    linglin0924
        9
    linglin0924  
       2022-04-27 23:16:39 +08:00
    前几天在 V2EX 上看到分享的。 挺好的,现在还在用着。简单明确功能丰富的转发。

    https://github.com/dushixiang/4dnat
    Silently
        10
    Silently  
       2022-04-27 23:35:54 +08:00 via iPhone
    gost
    jinliming2
        11
    jinliming2  
       2022-04-27 23:39:33 +08:00 via iPhone
    iptables 或者 nftables 。
    iptables 的资料多一些,但是各种参数不太好记。我倾向于用 nftables ,资料也不少,配置文件也便于阅读理解。
    你这个就是个简单的 DNAT ,生成个 DNAT 的路由规则就行了,指定匹配源地址 NAT 到目的地址
    A01514035
        12
    A01514035  
       2022-04-27 23:46:53 +08:00
    闲蛋中转面板
    nightwitch
        13
    nightwitch  
       2022-04-27 23:54:28 +08:00
    iptables ,需要 root 权限,而且配置稍微复杂点。
    socat 一行就可以,但是要自己编译
    cubecube
        14
    cubecube  
       2022-04-28 00:09:14 +08:00
    iptables 性能最好,因为网络协议栈没走全,也不会存在各种程序进程可能的 bug
    NSAgold
        15
    NSAgold  
       2022-04-28 01:41:46 +08:00 via Android
    会经常更换的话建议整个带网页端面板的,改起来方便
    wtks1
        16
    wtks1  
       2022-04-28 02:05:33 +08:00 via Android
    gost
    0fU7PIOlMD4mp0r4
        17
    0fU7PIOlMD4mp0r4  
       2022-04-28 03:15:31 +08:00
    @x86 方便推荐几个矿工 WEB 端?
    xzysaber
        18
    xzysaber  
       2022-04-28 07:54:41 +08:00
    v2fly 的 Dokodemo-door 入站协议满足你的需求。
    zliea
        19
    zliea  
       2022-04-28 08:15:39 +08:00 via iPhone
    rinetd
    rebecca554owen
        20
    rebecca554owen  
       2022-04-28 08:22:06 +08:00 via Android
    极光面板,整合这些转发了。
    bybyte
        21
    bybyte  
       2022-04-28 08:34:59 +08:00
    1.iptables
    2.nginx
    3.glider
    4.gost
    Ehco1996
        22
    Ehco1996  
       2022-04-28 08:38:30 +08:00   ❤️ 1
    试试我写的这个 https://github.com/Ehco1996/ehco

    一行命令 `ehco -l 1.1.1.1:10000 -r 2.2.2.2:10000`
    star7th
        23
    star7th  
       2022-04-28 09:15:53 +08:00
    如果你会 nodejs ,用这个,很简单 https://blog.star7th.com/2019/06/2356.html
    imswing
        24
    imswing  
       2022-04-28 09:22:50 +08:00
    推荐 realm ,iptables 不能 bbr
    ByteCat
        25
    ByteCat  
       2022-04-28 11:04:20 +08:00
    iptables 配起来比较繁琐,而且是转发报文,不支持 BBR 之类的;
    目前在用的是 realm ,看起来性能还可以,不过国人写的,配置比较简单
    zhoudaiyu
        26
    zhoudaiyu  
       2022-04-28 11:05:46 +08:00
    haproxy 可以试试
    littlewing
        27
    littlewing  
       2022-04-28 11:20:21 +08:00
    lvs
    bthulu
        28
    bthulu  
       2022-04-28 11:26:22 +08:00
    把服务器换成路由器
    holinhot
        29
    holinhot  
       2022-04-28 11:27:54 +08:00
    socat 性能不如 iptables 吧
    sadfQED2
        30
    sadfQED2  
       2022-04-28 12:30:01 +08:00 via Android
    haproxy +1
    opengps
        31
    opengps  
       2022-04-28 13:24:56 +08:00
    其使用 frp 也行
    l4ever
        32
    l4ever  
       2022-04-28 13:39:07 +08:00
    rinetd
    重定向端口.
    tozp
        33
    tozp  
       2022-04-28 13:40:23 +08:00 via iPhone
    teleport ?
    CokeMine
        34
    CokeMine  
       2022-04-28 13:52:29 +08:00 via Android
    iptables 内核级别性能应该比较好吧。但是没法 v4 转 v6 或者 v6 转 v4 (
    liaowm5
        35
    liaowm5  
       2022-04-28 14:23:03 +08:00
    nginx 配置 upstream 性能怎么样呀
    Kasumi20
        36
    Kasumi20  
       2022-04-28 14:34:41 +08:00
    用我这个 https://github.com/develon2015/remote_bind ,不用动服务器配置,后端客户端通过密码去注册端口。
    missdeer
        37
    missdeer  
       2022-04-28 15:20:28 +08:00
    haproxy 有奇怪的 bug ,用着用着就突然断流了,在不同 Linux 发行版不同硬件设备不同年代的版本上都遇到过,不知道什么原因
    nginx 做 4 层或 7 层转发,且有负载均衡需求的,目前看来非常稳定
    不需要负载均衡的,iptables 可能是效率最高的,还不用装额外软件
    march1993
        38
    march1993  
       2022-04-28 15:21:15 +08:00
    redir 命令?
    JohnSmith
        39
    JohnSmith  
       2022-04-28 17:05:44 +08:00
    iptables + nftables flowtable (offload)
    性能好又快
    Huelse
        40
    Huelse  
       2022-04-28 17:12:13 +08:00
    一般 linux 自带的 natcat
    Buges
        41
    Buges  
       2022-04-28 17:16:10 +08:00 via Android
    原始转发直接防火墙 dnat 就好了啊,没必要用那些用户态程序承担无谓的开销。
    FabricPath
        42
    FabricPath  
       2022-04-29 15:51:42 +08:00
    ipvs 性能、扩展性、易用性是最好的。所有用户态代理( nginx 之类),在这个场景性能都差很多


    ipvsadm -A -t 1.0.0.1:1111 -s rr
    ipvsadm -a -t 1.0.0.1:1111 -r 2.0.0.1:2222 -m -w 1
    ipvsadm -a -t 1.0.0.1:1111 -r 2.0.0.2:2222 -m -w 1
    gengchun
        43
    gengchun  
       2022-05-07 23:22:54 +08:00
    看了这个问题。

    这个连 IP1 和 IP2, IP3 是不是公网 IP ,基本 IP 类型,后端有没有 root 权限,如果是内网 IP 在不在一个 vlan 这些统统没有说。

    缺少这些信息,只能是用户态代理 L4/L7 转发。

    还有
    @nightwitch 能告诉我哪个发行版没有带 socat 要自己编译的?
    nightwitch
        44
    nightwitch  
       2022-05-07 23:34:06 +08:00
    @gengchun 没有 root 权限,用不了包管理。
    gengchun
        45
    gengchun  
       2022-05-08 06:23:15 +08:00
    @nightwitch 现代解决方案都是虚拟化隔离,类似 unix 的场景都是几十年前的事情了。真没有 root 。socat 这么简单的,预编译好的静态二进制也是一堆的。直接扔到 ~/.local/bin 不香吗?
    codefun666
        46
    codefun666  
       2022-05-14 08:28:21 +08:00
    Nginx 比较简单方便啊
    jiekeop
        47
    jiekeop  
       2023-07-13 14:30:06 +08:00
    @Ehco1996 牛🐂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   965 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:20 · PVG 04:20 · LAX 12:20 · JFK 15:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.