У меня есть сервер Debian 6.0.7 x64 AWS EC2, на котором я запускаю пару виртуальных машин QEMU (не спрашивайте .. длинная история).
У меня есть несколько правил IPTables для NAT / перенаправления любого трафика (на портах 8080 и 8081) с сервера AWS на внутренние IP-адреса виртуальной машины по адресу 192.168.122.150/151 соответственно.
Когда я восстанавливаю свои правила iptables (из дампа iptables) или вручную добавляю правило IPTables в цепочку (например, FORWARD), подсеть источника / назначения автоматически преобразуется во внутреннее имя хоста .ec2., и я могу Кажется, не понимаю, почему.
Например, команда добавления 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.x.x, преобразование не выполняется. Я почти уверен, что это нарушает несколько правил NAT / FORWARD, которые у меня есть, но не могу понять, что происходит.
Спасибо!
Разрешение DNS. Пройти -n
параметр iptables для отключения разрешения DNS при перечислении ваших правил (т.е. iptables -nvL
). Я сомневаюсь, что это что-то ломает. Разрешение DNS выполняется только тогда, когда правила отображаются, предположительно для вашего удобства, но я понятия не имею, кому это действительно полезно.