需求: 內網一台超級計算機,無公網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