Amazon ec2 iptables NAT远程ip到本地

Amazon ec2 iptables NAT远程ip到本地,amazon-ec2,iptables,nat,forward,Amazon Ec2,Iptables,Nat,Forward,我们有一个EC2服务器,在亚马逊的EC2上有400个域/虚拟主机。 我们只使用一个公共IP(1.1.1.1)。 由于NAT,我们在apaches配置中使用内部IP(10.1.2.0)。 到目前为止还不错 一些cronscript需要访问托管域,但这些cronjob也托管在同一台机器上。由于NAT,无法通过主机名从本地主机访问任何托管域。 我一直在尝试用iptables解决这个问题,但是运气不好 看起来这不起作用: iptables -t nat -A PREROUTING -p tcp -d 1

我们有一个EC2服务器,在亚马逊的EC2上有400个域/虚拟主机。 我们只使用一个公共IP(1.1.1.1)。 由于NAT,我们在apaches配置中使用内部IP(10.1.2.0)。 到目前为止还不错

一些cronscript需要访问托管域,但这些cronjob也托管在同一台机器上。由于NAT,无法通过主机名从本地主机访问任何托管域。 我一直在尝试用iptables解决这个问题,但是运气不好

看起来这不起作用:

iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 -j DNAT --to 10.1.2.0
有什么想法吗?当然,我可以在/etc/hosts中添加400多个域,但是我必须跟踪所有域,这不是很灵活。当然,我们也可以改变cronjobs的工作方式,但我们现在需要一个“快速”解决方案。
iptables是否可以实现这一点?

如果我理解正确,您希望重定向来自同一台机器的流量。在这种情况下,您应该使用输出链。来自本地进程的数据包不会通过后路由链。

iptables-t nat-A PREROUTING-p tcp-s1.1.1.1--dport 80-j DNAT--to destination 10.1.2.0 iptables-t nat-A POSTROUTING-j MASQUERADE似乎也不起作用。。。。