最常用的几个端口转发的例子

很多情况下,我们往往需要通过对某个端口进行转发(端口映射)实现某些特殊功能,比如堡垒机和负载均衡什么的。在这里我就稍微总结了几种最常用的端口转发方式供大家参考。

Linux防火墙模式——反向NAT

这种模式大多是要求用户很快速的实现将外网的某个端口eth0 1.1.1.1:80的流量引流到内网的一台主机10.0.0.1:8080中,本机内网IP eth1 10.0.0.2这种模式性能是毋庸置疑的,但相对来说稳定性和可控性不佳,往往用于临时过渡。

sysctl net.ipv4.ip_forward=1 #这个配置非常重要!

iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.0.0.1

iptables -t nat -A POSTROUTING -s 10.0.0.1/255.0.0.0 -d 10.0.0.1 -p tcp -m tcp –dport 8080 -j SNAT –to-source 10.0.0.2

Haproxy

这个方式其实根防火墙模式很相似,不过经过HAproxy的封装,增加了很多方便的配置,你可以很方便的配置出简单的负载均衡规则,状态监控,日志方式甚至于配置心跳等,适合作为中等以上规模的负载均衡集群。

具体的配置大家可以参考官方文档或者直接修改安装包内的默认配置文件,非常浅显易懂!

SSH tunnel

不得不说,SSH是一个很强大的工具。它完全可以应付简单的端口转发和链路加密。适用于低流量的两台互信主机之间的信息加密,它还有个特点是它支持带宽压缩,可以节约部分带宽资源。

配置方式:

通过ssh的tunnel达到邮件在传输的过程中不会受到中间人攻击造成数据泄露。

故名思义,tunnel就是在邮件服务器和企业防火墙之后设置一条逻辑上的隧道。这条隧道一方面为了数据安全,另一方面,由于ssh的压缩功能也能在一定程度上减少邮件这类纯文本传输的网络需求。

先决条件:

Unix like的邮件系统,并安装了ssh-server,本例中假定邮件服务器ip为1.2.3.4

企业路由器和内网:路由最好有科学和防火墙功能。

内网的 一台主机,配置不必太高(我用了虚拟机,64M内存已经足够近百人使用),安装有ssh-client,如果是win主机,推荐使用putty的安装版本。经过测试,个人觉得FreeBSD下的性能较好。考虑到安全,这台主机尽量不要安装远程控制台并尽可能上锁。本例假定ip 192.168.1.1。

注意整个系统的安全策略,账户策略等,相比中间人攻击这样的“高级”黑客行为,破解密码,利用漏洞永远是成本最低的方法。

SSH隧道实现安全Mail系统示意

第一步:设置公钥方式登录:

内网主机上运行mkdir -p ~/.ssh;cd ~/.ssh;ssh-keygen –d,如果变态一点可以使用ssh-keygen -b 4096 -d增加强度,之后 不要输入任何信息,一律回车带过,很多人不能实现ssh的无验证通过,大多是因为这里没有弄好。这样~/.ssh目录下将会出现id_dsa 和id_dsa.pub两个文件。

将内网主机的id_dsa.pub文件拷贝邮件服务器,并在邮件服务器上执行cat id_dsa.pub >> ~/.ssh/authorized_keys 。尝试在内网主机上执行 ssh A主机的IP ,成功地话应该没有提示密码(即直接得到A主机的控制台)。

如果经常来小站做客的朋友会觉得这段很熟,没错它贴自这里,如果你用了windows作为内网主机,请参考这里的内容。

第二步:配置管道:

写个脚本 vi /usr/sbin/ssh_tunnel

#!/bin/sh
localIP='192.168.1.1'
removteIP='1.2.3.4'
ports='25 80 110' #3个端口,smtp http pop3
for port in $ports
do
    /usr/bin/ssh -C -N -f -L $localIP:$port:$removteIP:$port root@$removteIP  &
done
chmod 755 /usr/sbin/ssh_tunnel

修改rc.local文件,在其中加入 /usr/sbin/ssh_tunnel,当然要放在exit那条之前。

windows不是很熟,写个笨蛋批处理吧ssh_tunnel.cmd

start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:25:1.2.3.4:25 [email protected]
start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:80:1.2.3.4:80 [email protected]
start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:110:1.2.3.4:110 [email protected]

其实putty的那个plink效果完全等同于ssh,当然,win下面主要是用里面的窗口程序,大多数人不怎么用而已。win下比较烦的是每次重起后都要手工加载key,执行这个批处理。希望对win熟的朋友可以提供自动解决方法。

第三步:设置邮件服务器防火墙

通过邮件服务的防火墙关闭除25和22之外的所有端口。这样做是最安全的,但这样的后果是在企业局域网之外只能发不能收邮件。科学是比较好的折中方案。当然,如果你的邮件系统只需要内部收发邮件(那还要什么邮件系统?),你尽可以连25号也封上。

第四步:设置本地邮件客户端

将局域网内所有邮件客户端的smtp和pop都设置为192.168.1.1即可。我这里由于用了webmail,webmail同样也通过192.168.1.1访问

如果企业有自己的DNS服务器,甚至整个公司都在域管理模式之下。不妨通过本地的DNS服务器用本地IP覆盖掉外网真实IP。这样即便没有科学,只要不封邮件服务器的110端口,在邮件客户端中设置域名,对用户来说在任何地方都是透明的。

总结:

这种模式,从邮件服务器到企业局域网内的传输是加密透明的,外部很难窃取,如果定期为两边的ssh更换强化的秘钥,效果几乎可以达到变态的要求。据说4096位的秘钥的破解成本已经到了天文数字。

这种方式相对成本较低,不需要太多的投入,特别是在多个分支机构之间成本优势更加突出。本想通过smtp的tls和pop的SSL进行加密,可outlook下对没有根秘证书签名的秘钥会弹出讨厌的警告框,反而增加了用户的不安。申请根证书的签名价格也不菲。

由于企业的邮件系统最多的邮件往往来自于内部,这种方式可以减少差不多一半以上的互联网带宽。把带宽留给更重要的应用。

同理,利用此种方式可以实现其他多种安全方案,达到双宿主机或者多机虚拟的效果,进而可以为企业节约宝贵的外网IP资源。

netcat

工具几乎所有的linux都默认安装了netcat工具(部分Linux的版本用的是OpenBSD-nc,与netcat略有不同,尽管名字一致),这可是一个强大的tcp/ip工具哦。感觉这样的操作有点黑科技的意思了,建议做调试的时候可以用用。

这个例子是把本地的81号端口的访问转移到80号

mknod tunnel p #创建一个临时的管道文件tunnel

netcat -l -p 81 0 < tunnel | netcat -l -p 80 | tee tunnel

socat

其实这个命令根上一个非常类似,从名字上就看得出这个是针对于linux下socket文件的netcat。多数Linux都可以通过默认源来安装。由于是直接建立本地的socket文件,就不需要像上例那样创建管道文件了。

把所有本地的80号转移到10.0.0.1的8080上

socat -d -d -l TCP4-LISTEN:80,reuseaddr,fork,su=nobody TCP4:10.0.0.1:8080

Windows 的netsh

说到底我们用的最多的还是windows,尽管装一个cygwin可以实现几乎上面所有的操作,但最佳的解决方案还是用原生的吧。netsh是windows的一个网络工具,只要你愿意,你在命令行下可以通过它实现几乎所有的windows网络操作。

还是把本地80转移到10.0.0.1的8080

netsh interface portproxy add listenport=80 connectaddress=10.0.0.1 connectport=8080

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/129960.html<

(0)
管理的头像管理
上一篇2025-02-25 20:51
下一篇 2025-02-25 20:52

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注