生命不息
折腾不止

端口转发教程(三):使用socat进行单个端口的转发,同时支持tcp和udp

这是端口转发教程最后一篇拉。用 iptables 经常不成功, haproxy 又不能转发 udp 。那么如果你只有少数几个端口要转发的话,还有一个便利的工具就是 socat 。 socat 唯一麻烦的地方就是好像我没找到如何转发端口段,只能一个命令一个端口。。。不过如果只是自用转发少量端口的话还是蛮好用的。

socat 安装

socat 的安装也很简单,一般直接 yum ( centos )或者 apt-get ( ubuntu , debian )就能装。

yum install -y socat
apt-get update
apt-get install -y socat

socat 的使用

转发 TCP

nohup socat TCP4-LISTEN:30000,reuseaddr,fork TCP4:1.1.1.1:30000 >> socat.log 2>&1 &

说明:

TCP4-LISTEN:10000 监听 ipv4 的 10000TCP 端口。 10000 改成你自己需要转发的端口
fork TCP4:1.1.1.1:10000  转发到 1.1.1.1 的 10000 端口,根据需求修改自行修改 ip 和端口
nohup 后台运行。可以把这个命令写到   /etc/rc.local 里面开机启动启动。

转发 UDP

nohup socat -T 600 UDP4-LISTEN:10000,reuseaddr,fork UDP4:1.1.1.1:10000 >> socat.log 2>&1 &

很方便吧 。。把 tcp 改成 udp 就是转发 udp 了。。。。说明如上。也可以直接写到 /etc/local 里面开机自动启动。。

可见,如果你只有一个端口要转发,那么 socat 好像比较方便呢。。。

赞(20)
未经允许不得转载:91云(91yun.co) » 端口转发教程(三):使用socat进行单个端口的转发,同时支持tcp和udp

留言 17

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    转发纯ipv6的机子应该怎么弄?

    ljm7年前 (2017-06-19)回复
  2. #0

    我把端口500 4500 tcp udp都转发了,都是这个错误,ssr就没这种问题

    kk7年前 (2017-02-28)回复
  3. #0

    Strongswan ikev2转发失败,具体原因如下
    阿里云北京服务器装了socat,一台德国的服务器装了Strongswan ikev2
    端口都开放了
    拨号的时候提示”IKE 身份验证凭证不可接受”
    直连德国vpn没问题
    阿里云用socat ,德国服务器用ss连接没问题…..

    kk7年前 (2017-02-26)回复
    • vpn是用tcp+udp的哦

      Michael7年前 (2017-02-26)回复
    • ikev2我用的是,证书+用户密码模式
      不知道是不是因为发起连接和vpn接收到的ip地址(中转ip)不同,导致的验证失败?

      kk7年前 (2017-02-28)回复
  4. #0

    转发端口段用iptables如何实现?博主解决了吗?

    萌新7年前 (2017-02-09)回复
  5. #0

    您好,我想问一下能不能转发同一个端口的tcp和udp?

    xinian7年前 (2017-01-11)回复
    • 可以

      91yun7年前 (2017-01-11)回复
      • 那为什么我执行udp转发的时候为什么会提示我exit tcp转发?

        xinian7年前 (2017-01-11)回复
        • 那必然是你命令写错了。

          91yun7年前 (2017-01-12)回复
  6. #0

    对于自用或少数几个人使用的跳板,这个好像更方便

    madlaxcb8年前 (2016-08-01)回复
  7. #0

    不错不错。赞一个。

    Jack8年前 (2016-07-24)回复