需求: 内网一台超级计算机,无公网ip,外网一台普通机器,有公网ip,将外网请求转发到内网机器
实现:socat
安装:
wget http://www.dest-unreach.org/socat/download/socat-2.0.0-b9.tar.gz tar xvf socat-2.0.0-b9.tar.gz cd socat-2.0.0-b9 ./configure make make install
公网机器:
socat -d -d -d tcp-l:80,reuseaddr,bind=0.0.0.0,fork tcp-l:8080,bind=0.0.0.0,reuseaddr,retry=10 只有在 tcp 80 端口有请求时才会生成侦听 tcp 8080 端口,监听两个端口
内网机器:
socat -d -d -d -v tcp:vpsip:8080,forever,intervall=10,fork tcp:localhost:80
将 lan 内的电脑不断尝试连接 vps 的 tcp 8080 端口,当连接成功后台会连到 localhost 提供的 tcp 80 端口应用。
例如:
socat -d -d -d -v tcp:外网ip:8080,forever,intervall=10,fork tcp:localhost:9200