端口转发
Linux上
在Linux上我们可以很方便地实现端口转发,比如通过SSH-Tunnel,使用
1 | ssh -CfNg -L 监听IP:监听端口:目标IP:目标端口 localhost |
甚至可以通过目标局域网暴露出来的一个ssh端口转发到另一个局域网的内部的服务器上,更详细的参考另一篇之前写的文章ssh-tunnel
通过ssh开启的端口转发在系统重启后需要重新建立,而且如果需要建立很多端口转发这样不方便管理,这时候我们可以使用rinetd
工具
apt install rinetd
会以服务的形式安装rinetd
service rinetd status
可以查看运行状态
配置文件在/etc/rinetd.conf
修改配置后可以通过service rinetd reload
重新加载配置而不必重启服务
日志文件在/var/log/rinetd.log
Windows上
在Windows上其实也有个内置的工具可以完成端口转发,而且也很方便
开启端口转发
1 | netsh interface portproxy add v4tov4 listenaddress=监听IP listenport=监听端口 connectaddress=目标IP connectport=目标端口 |
其中监听IP可以填0.0.0.0
表示接收来着任意网卡接口的数据。
查看端口转发
1 | netsh interface portproxy show v4tov4 |
重启后也会保留设置,除非主动关闭
关闭端口转发
1 | netsh interface portproxy delete v4tov4 listenaddress=本地IP listenport=本地端口 |