我有一个Debian 6.0.7 x64 AWS EC2服务器,我正在运行几个QEMU虚拟机(不要问..长故事)。
我有一些IPTables规则来NAT /转发任何stream量(在端口8080和8081)从AWS服务器到VM内部IP分别在192.168.122.150/151。
当我恢复我的iptables规则(从一个iptables转储),或者我手动将一个IPTables规则附加到一个链(例如,FORWARD),源/目标子网将自动转换为.ec2.internal主机名,我可以似乎没有找出原因。
例如,IPTables附加命令:
iptables -A FORWARD -s 0.0.0.0 -d 192.168.122.0/24 -j ACCEPT
获取以下规则(注意目标子网已转换):
ACCEPT all -- ip-192-168-122-0.ec2.internal/24 anywhere
我已经问EC2论坛这里,但没有回应..任何人有什么想法可能导致这种转换?
当我使用文件中的iptables-restore进行导入时,转换也会发生。 如果我使用非192.168.xx子网,则不执行转换。 我非常肯定,这是违反了一些NAT / FORWARD规则,但我不能真正弄清楚发生了什么。
谢谢!
DNSparsing。 列出你的规则时,将-n选项传递给iptables来禁用DNSparsing(即iptables -nvL )。 我怀疑这是破坏什么。 只有在显示规则时才执行DNSparsing,这是为了您的方便,但我不知道谁真的觉得这个有用。