V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lamesbond
V2EX  ›  Linux

彦祖们,求推荐一款 Linux 端口转发软件

  •  
  •   lamesbond · May 20, 2021 · 9512 views
    This topic created in 1804 days ago, the information mentioned may be changed or developed.

    我们公司是在一台 DMZ 主机,linux 系统上用 iptables 做端口转发,但是 iptables 转发后就看不到客户端的 IP 了,被 iptables 做了源地址转换。nginx 和 haproxy 能看到客户端 IP,但是配置比较麻烦,有时需要批量端口转发,比如 80-90 批量转发到 80-90 端口,没有 iptables 方便。 能看到客户端 IP,配置方便,支持批量端口转发,有这样的软件不

    42 replies    2021-06-20 19:10:54 +08:00
    DaGongRen001
        1
    DaGongRen001  
       May 20, 2021
    可以使用 frp
    brader
        2
    brader  
       May 20, 2021   ❤️ 1
    v2ray 能满足到这个要求,但是配置也挺复杂的,需要一定的学习能力。
    darknoll
        3
    darknoll  
       May 20, 2021   ❤️ 1
    gost
    defunct9
        4
    defunct9  
       May 20, 2021
    go-tcp-proxy_1.0.2_linux_amd64
    hulala1021
        5
    hulala1021  
       May 20, 2021
    可以安装个 nginx 图形化管理工具来配置 nginx
    KyonLi
        6
    KyonLi  
       May 20, 2021
    geeglo
        8
    geeglo  
       May 20, 2021
    @KyonLi 这文章错误的。
    EPr2hh6LADQWqRVH
        9
    EPr2hh6LADQWqRVH  
       May 20, 2021
    只能说你 DMZ 主机的 iptables 配置得不对,错误地进行了 SNAT,好好改一下,入方向包不要覆盖源地址
    icepie
        10
    icepie  
       May 20, 2021
    caddy
    Ehco1996
        11
    Ehco1996  
       May 20, 2021 via iPhone
    github.com/Ehco1996/ehco

    推荐一下我自己写的,支持配置文件
    zhoudaiyu
        12
    zhoudaiyu  
    PRO
       May 20, 2021 via iPhone
    Socat 是不是
    gaozihang
        13
    gaozihang  
       May 20, 2021
    rinetd
    lixiang2017
        14
    lixiang2017  
       May 20, 2021 via Android
    firewalld
    oxromantic
        15
    oxromantic  
       May 20, 2021
    先搞清楚你要转发什么协议还需要知道源地址,如果 HTTP 协议 nginx 之类反向代理都支持,修改 x-forward
    如果你要转发 FTP 协议,那么协议本身不支持源地址表达,就没法做成你要的效果,除非转发前自己把源地址存到共享空间
    d0m2o08
        16
    d0m2o08  
       May 20, 2021
    我都是用 nc 没测试过能不能看到源地址

    nc -l -k -p 80 -c "nc 1.2.3.4 80"
    henices
        17
    henices  
       May 20, 2021
    socat
    sleepm
        18
    sleepm  
       May 20, 2021 via Android
    traefik
    lchqfnu
        19
    lchqfnu  
       May 20, 2021
    rinetd
    NaVient
        20
    NaVient  
       May 20, 2021
    rinetd
    hanyceZ
        21
    hanyceZ  
       May 20, 2021
    你也是啊,肖战
    micookie
        22
    micookie  
       May 20, 2021
    rinetd
    xuanbg
        23
    xuanbg  
       May 20, 2021
    nginx
    whitelee8080
        24
    whitelee8080  
       May 20, 2021
    rinetd
    CallMeReznov
        25
    CallMeReznov  
       May 20, 2021
    最近用了一款 rinetd,可以很简单的转发端口,但不知道为什么一旦转发的数据量起来后就会出现断流的情况,没仔细研究,解决了问题就给关了
    kiolygenius
        26
    kiolygenius  
       May 20, 2021
    gost +1
    weizhen199
        27
    weizhen199  
       May 20, 2021
    tinyPortMapper,比 scop 还轻量化
    udp2raw tunnel 大佬的作品
    UserDMM
        28
    UserDMM  
       May 20, 2021
    名字都叫错了,我是冠希.....
    abersheeran
        29
    abersheeran  
       May 20, 2021
    @UserDMM 冠希哥,听说你在 LA 的高桥遇到一群混混被打劫了三百块?
    zliea
        30
    zliea  
       May 20, 2021
    rinetd+1
    SenLief
        31
    SenLief  
       May 20, 2021
    socat?
    princeofwales
        32
    princeofwales  
       May 21, 2021
    nginx 转发端口哪里复杂了
    motianya211314
        33
    motianya211314  
       May 21, 2021
    rinetd
    salmon5
        34
    salmon5  
       May 21, 2021
    iptables >socat >nginx >rinetd,注意 rinetd 有伪造的: https://github.com/boutell/rinetd/issues/8
    salmon5
        35
    salmon5  
       May 21, 2021
    rinetd 谨慎使用
    CoderLife
        36
    CoderLife  
       May 21, 2021
    rinetd +2
    XQUX9al72490iGLh
        37
    XQUX9al72490iGLh  
       May 21, 2021
    c++手写一个吧
    SaigyoujiYuyuko
        38
    SaigyoujiYuyuko  
       May 22, 2021
    L7 的转发不保证源地址 除非 Proxy Protocol 没记错的话 frp 支持端口段转发+Proxy Protocol
    ducks
        39
    ducks  
       May 24, 2021
    @DaGongRen001 单个配置域名太蛋疼了把
    lamesbond
        40
    lamesbond  
    OP
       May 26, 2021
    感谢彦祖们的回复,试了 frp,得单独配置服务端和客户端,太麻烦弃了,gost 也是服务端客户端,rinetd 看到文章说不稳定,不敢用,找到 haproxy-wi 工具,官网一看要收费,算了,就用 nginx web 界面配置把,或者 lvs 。
    这些工具都没法像 iptables 那样一条命令转发多个端口,比如 8000~8009 转发到 8000~8009,或许我该针对 nginx 或 lvs 写个批处理脚本?
    123zsr123
        41
    123zsr123  
       May 29, 2021
    和目标服务器建一个 vpn 再用 iptables 只做 DNAT 就可以看到客户端地址了
    wxlg1117
        42
    wxlg1117  
       Jun 20, 2021
    我试过 n 多端口转发,持久和量大算 goproxy 最好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1007 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 105ms · UTC 19:18 · PVG 03:18 · LAX 12:18 · JFK 15:18
    ♥ Do have faith in what you're doing.