在防火墙后面暴露具有高带宽的Web服务器



我必须在prem服务器上安装几个视频安全系统。服务器需要暴露在公共互联网上,但我无法控制防火墙(即路由器上的端口转发不是一个选项(。此外,带宽要求相当高,100-200mbps。这就是我的想法,但我愿意接受建议:

我在AWS中创建了一个linux EC2实例,它有一个公共IP和DNS。然后,我使用ZeroTier通过SD-WAN连接linux实例和所有prem服务器(VPN也是一个类似的概念(。然后,我在linux实例上配置了NAT预路由表,以将tcp流量传递到预处理单元的各个IP

即。如果linux实例的DNS是"DNS";proxy.com";预处理机器的本地IP为123.456.789.101,然后:http://proxy.com:8000将TCP流量传递到123.456.789.101:333

这很有效,并且运行了几个月,但我重新启动了我的Linux实例,肯定没有保存我的配置,因为所有的东西都被删除了,现在我一辈子都不知道我以前是如何做到这一点的!

我输入了以下行:sudo sysctl-w net.ipv4.conf.all.forwarding=1

sudo iptables-t nat-A PREROUTING-p tcp-dport 7565-j DNAT-到目的地10.241.94.154:7753

其中10.241.94.154是我的实例的本地ip,7563是我希望流量流向的地方。

但我似乎不能像以前那样工作了。

所以,有两个问题。

  1. 关于我哪里错了,或者我忘了什么,有什么想法吗
  2. 有更好的方法吗

谢谢

为了结束这个循环,我通过MASQUERADING修复了这个问题——连接看起来来自Linux实例,否则,它们可能会被windows机器的防火墙阻止。

线路为:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE

仍在寻找一种更理想、更安全的方式来处理这一过程,但目前这将奏效。

最新更新