2012-11-18 83 views
0

我們有一個EC2服務器,在亞馬遜的ec2上有400個域/虛擬主機。 我們只使用一個公共IP(1.1.1.1)。 由於NAT的原因,我們在apaches config中使用內部IP(10.1.2.0)。 目前爲止這麼好。iptables NAT遠程IP到本地

一些cronscript需要訪問託管域,但這些cronjobs也託管在同一臺機器上。由於NAT不可能通過本地主機的主機名訪問任何託管域。 我一直在試圖與iptables來弄明白,但沒有運氣

看起來這是不工作:

iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 -j DNAT --to 10.1.2.0 

有什麼想法?當然,我可以將400多個域添加到/ etc/hosts,但是我必須跟蹤所有域,並且它非常靈活。當然,我們也可以改變cronjobs的工作方式,但我們現在需要一個'快速'修復。 這可能與iptables?

+0

的iptables -t NAT -A PREROUTING -p tcp的-s 1.1.1.1 --dport 80 -j DNAT --to目的地10.1.2.0 的iptables -t NAT -A POSTROUTING -j MASQUERADE 不似乎工作要麼.... – Ramon

回答

0

如果我理解你是正確的,你想重定向來自同一臺機器的流量。在這種情況下,您應該使用OUTPUT鏈。本地流程的數據包不通過POSTROUTING鏈。