[title]Socat不支持端口段转发,只适用于单端口或者少量端口,支持转发TCP和UDP。安装简单,使用方便。[/title]
安装方法如下:
Centos 系统:
yum install -y socat
Debian/Ubuntu 系统:
apt-get update apt-get install -y socat
使用方法如下:
TCP转发:
nohup socat TCP4-LISTEN:6666,reuseaddr,fork TCP4:x.x.x.x:8888 >> /root/socat.log 2>&1 &
UDP转发:
nohup socat UDP4-LISTEN:6666,reuseaddr,fork UDP4:x.x.x.x:8888 >> /root/socat.log 2>&1 &
[info]TCP4-LISTEN:6666:指监听端口
fork TCP4:x.x.x.x:8888:指被转发的服务器和端口[/info]
[title]其他操作[/title]
停止转发:
kill -9 $(ps -ef|grep socat|grep -v grep|awk '{print $2}')
卸载Socat:
Centos:
yum remove socat
Debian/Ubuntu系统:
sudo apt-get remove socat sudo apt-get autoremove
设置开机启动:
Centos:
chmod +x /etc/rc.d/rc.local vi /etc/rc.d/rc.local
Debian/Ubuntu系统:
chmod +x /etc/rc.local vi /etc/rc.local
[info]应用场景:比如说我本地网络连接SS服务器延迟是200ms,但是我手里有一台服务器(A)连接SS服务器是40ms并且本地网络到服务器(A)的延迟也很低,这时候就可以用到Socat进行端口转发,这样直接连接服务器(A)再通过端口转发即可以相对于直接连接SS服务器较低的延迟连接SS服务器。[/info]