admin 2024-11-20
172
很多情况下,我们往往需要通过对某个端口进行转发(端口映射)实现某些特殊功能,比如堡垒机和负载均衡什么的。在这里我就稍微总结了几种最常用的端口转发方式供大家参考。
Linux防火墙模式——反向NAT
这种模式大多是要求用户很快速的实现将外网的某个端口:80的流量引流到内网的一台主机10.0.0.1:8080中,本机内网这种模式性能是毋庸置疑的,但相对来说稳定性和可控性不佳,往往用于临时过渡。
_forward=1!/bin/sh
localIP='192.168.1.1'
removteIP='1.2.3.4'
ports='2580110'创建一个临时的管道文件tunnel
netcat-l-p810tunnel|netcat-l-p80|teetunnel
socat
其实这个命令根上一个非常类似,从名字上就看得出这个是针对于linux下socket文件的netcat。多数Linux都可以通过默认源来安装。由于是直接建立本地的socket文件,就不需要像上例那样创建管道文件了。
把所有本地的80号转移到10.0.0.1的8080上
socat-d-d-lTCP4-LISTEN:80,reuseaddr,fork,su=nobodyTCP4:10.0.0.1:8080
Windows的netsh
说到底我们用的最多的还是windows,尽管装一个cygwin可以实现几乎上面所有的操作,但最佳的解决方案还是用原生的吧。netsh是windows的一个网络工具,只要你愿意,你在命令行下可以通过它实现几乎所有的windows网络操作。
还是把本地80转移到10.0.0.1的8080
netshinterfaceportproxyaddlistenport=80connectaddress=10.0.0.1connectport=8080