美文网首页
socat转发端口

socat转发端口

作者: 小黑佬 | 来源:发表于2019-12-19 11:14 被阅读0次

Socat 不支持端口段转发,只适用于单端口或者少量端口

  • tcp转发
    监听 0.0.0.0网卡的 15672 端口,并将请求转发至 172.17.0.15 的 15672 端口。
$ socat  -d -d -lf /var/log/socat.log TCP4-LISTEN:15672,bind=0.0.0.0,reuseaddr,fork TCP4:172.17.0.15:15672

1. -d -d  前面两个连续的 -d -d 代表调试信息的输出级别。
2. -lf /var/log/socat.log 指定输出信息的文件保存位置。 
3. TCP4-LISTEN:15672 在本地建立一个 TCP IPv4 协议的监听端口,也就是转发端口。这里是 15672,请根据实际情况改成你自己需要转发的端口。
4. bind 指定监听绑定的 IP 地址,不绑定的话将监听服务器上可用的全部 IP。
5. reuseaddr 绑定一个本地端口。
6. fork TCP4:172.17.0.15:15672 指的是要转发到的服务器 IP 和端口,这里是 172.17.0.15 的 15672 端口。

  • upd转发
    只要把 TCP4 改成 UDP4 就行了。
$ socat -d -d -lf /var/log/socat.log UDP4-LISTEN:123,bind=0.0.0.0,reuseaddr,fork UDP4:172.17.0.15:123

另外这个可以搭配supervisord把服务作为自启动
例子:(注意这个例子有点问题,请参考官方的案例)

cat /etc/supervisord.d/socat.ini 

[program:socat] ;
command=socat -d -d -lf /var/log/socat.log TCP4-LISTEN:8077,bind=0.0.0.0,reuseaddr,fork TCP4:183.xxx.xxx.xxx:8077; 
#directory=/root/ ; 
autorestart=true ; 
stderr_logfile=/var/log/socat.err.log ; 
stdout_logfile=/var/log/socat.out.log ; 
environment=ASPNETCORE_ENVIRONMENT=Production ; 
user=root ; 
stopsignal=INT

如何安装supervisord

yum install supervisor -y

相关文章

网友评论

      本文标题:socat转发端口

      本文链接:https://www.haomeiwen.com/subject/bllmnctx.html