将所有网络流量转发到另一个AWS实例

时间:2016-03-01 16:57:03

标签: amazon-web-services forward traffic reroute

我需要将所有流量从一个AWS实例转发到另一个AWS实例。

我正在尝试在云中设置Bro监视器。请参阅图片以获取概述。 目前我设置的方式是将TestVM的流量重新路由到Bro worker(NAT),后者将所有内容转发给bro_master。但是我的问题是TestVM在一个私有子网中,我需要用一个带有公共IP的蜜罐替换它 - 它仍然需要将所有流量转发给bro_worker。此时它不可能,因为它的NAT,我无法分配一个弹性IP。

如何将所有来自TestVM的流量转发到Bro_worker并使TestVM公开可用?

由于 Overview

3 个答案:

答案 0 :(得分:2)

对于那些正在向另一个IP搜索AWS ec2实例的人来说,它就像一个魅力,见下文。

  1. 您必须以root用户身份登录,sudo无效,因此请先使用sudo su -
  2. 允许端口80(不要忘记在aws安全组中允许端口80): iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
  3. 转发到另一个IP(使用 - 而不是长划线,也不确定为什么上面的答案有D,因为删除,使用A):
    1. iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination <DESTINATION_IP>
    2. iptables -t nat -A POSTROUTING -p tcp -d <DESTINATION_IP> --dport 80 -j MASQUERADE
  4. 如果您想在重启后保留设置,请保存:sh -c "iptables-save > /etc/iptables.rules"

答案 1 :(得分:0)

我没有完全理解这种情况,但我认为您需要的是反向代理或负载均衡器。

答案 2 :(得分:0)

您可以在Linux服务器上配置IPTable,以将一台服务器上的所有流量重定向到另一台服务器。检查:How to redirect traffic to another machine in linux以获取分步流程。

以下是博客中解释的步骤:

第1步

# echo 1 >/proc/sys/net/ipv4/ip_forward

第2步:告诉IPTables将流量重定向到新服务器:

# iptables -t nat -D PREROUTING -p tcp –dport 80 -j DNAT –to-destination <DESTINATION IP>

第3步:这是IPTables魔术发生的地方。通过这一步,我们告诉IPTables重写到新服务器的端口80的连接的来源,似乎来自旧服务器。

# iptables -t nat -D POSTROUTING -p tcp -d <DESTINATION IP> –dport 80 -j MASQUERADE

最后一步是必需的,因为如果我们不告诉新服务器的Web服务器连接来自客户端计算机,它会认为它们来自旧服务器。

其他参考资料