首页 > 解决方案 > 双 NAT iptables

问题描述

我有一个使用 VNS3 EC2(非常类似于 Linux 实例)作为 NAT 网关的专用网络。我希望能够允许流量到 Internet,或将其路由到另一个实例。

我有:

当源 IP 匹配防火墙规则(在本例中为 172.17.0.1)时,我希望实例 1 通过实例 2 将所有流量路由到 Internet。

我的防火墙规则是:

实例 1:

PREROUTING_CUST -i eth0 -s 172.17.0.0/24 -j DNAT --to-destination 172.17.1.2 POSTROUTING_CUST -d 172.17.0.0/24 -j SNAT --to-source 172.17.1.1 MACRO_CUST -o eth0 -s 0.0.0.0 /0 -j 伪装

实例 2: MACRO_CUST -o eth0 -s 0.0.0.0/0 -j MASQUERADE

如果我执行Lamda,它会超时,这表明流量被丢弃了,我猜。我怀疑我需要对来自实例 1 的请求进行 SNAT,否则实例 2 会将流量直接路由到 Lambda,而不是通过实例 1。但我有点希望可以通过 macro_cust 规则解决。

我已禁用源检查,如果我将 AWS 中的路由表更新为实例 2,则调用成功。知道有什么问题吗?

标签: amazon-web-servicesiptablesnat

解决方案


推荐阅读