需求
有些服务器没有公网IP, 在有公网IP的服务器上把端口映射出去。
这样的需求有很多实现, 我比较钟爱socat, 简单就是美。
示例脚本
新建一个文件叫
intershow.sh
/usr/local/socat/bin/socat -d -d -lf /var/log/socat.log TCP4-LISTEN:9030,reuseaddr,fork,su=nobody TCP4:172.16.6.101:22 &
/usr/local/socat/bin/socat -d -d -lf /var/log/socat.log TCP4-LISTEN:9031,reuseaddr,fork,su=nobody TCP4:172.16.6.125:22 &
/usr/local/socat/bin/socat -d -d -lf /var/log/socat.log TCP4-LISTEN:9036,reuseaddr,fork,su=nobody TCP4:172.16.6.125:3306 &
建议使用以下命令启动
nohup ./intershow.sh &
socat可以映射TCP,UDP,UNIXSOCKET……
简单,强大。
参考 http://www.dest-unreach.org/socat/doc/socat.html