使用 Amazon Linux 的 AWS 实例网关

使用 Amazon Linux 的 AWS 实例网关

我正在尝试在 aws ec2 amazon linux 机器上创建一个网关,以便无法访问互联网的工作机器可以通过网关获得访问权限。然后,我将在其上安装一个服务器,并在网关机器上安装 apache2 负载均衡器,以将 http 请求重定向到工作机器。我通常在 debian 和本地虚拟环境中执行此操作的方式是:

在网关机器上:

  • 启用 ipv4 转发
  • 添加用于后路由伪装的 iptable 规则
  • 重启网络

在工作机器上:

  • 将默认网关添加到 /etc/network/interfaces
  • 重启网络

就是这样。在 amazon linux 机器上,作为基于 redhat 的发行版,我按以下方式执行:

  • 启用 ipv4 转发
  • add iptable rule for postrouting masquerading
  • 重启网络

在工作机器上:

  • ip route add default via GATEWAY_MACHINE_IP

然后它就挂了,因为我失去了 ssh 连接。我还尝试修改 /etc/sysconfig/network-scripts/ 中的接口文件,但在重新启动网络时,我失去了 ssh 连接。

网关机器位于安全组中,该安全组允许来自所有来源的所有 IPv4 传入连接和来自我的本地计算机的 ssh,并允许到任何目的地的所有传出流量。

工作机器位于不同的安全组中,该组允许来自和到网关机器的所有流量以及来自我的本地计算机的 ssh。

我注意到 AWS 仅使用一个接口进行公共和私有连接,所以这可能与正在发生的事情有关?

我希望有人能告诉我我做错了什么,以及是否有可能在 AWS 中完成我尝试做的事情

答案1

同一台机器上有正向代理(一种互联网网关)和反向代理(负载均衡器)?这在 AWS 中通常行不通。

在 AWS 中,正向代理(私有子网到互联网)需要禁用源/目标检查。反向代理需要启用它。

您应该使用两个不同的服务器。或者,您可以使用 AWS 托管服务、NAT 网关(托管正向代理)和应用程序负载均衡器(反向代理)。

相关内容