В AWS у нас есть 3 экземпляра в одной подсети/VPC. Мы хотели бы, чтобы экземпляр клиента делал DNS-запрос ко второму аналитическому экземпляру, который затем перенаправлял запрос третьему экземпляру, на котором запущена служба DNS. Затем служба DNS должна предоставить ответ экземпляру анализа, который затем должен ответить клиенту.
Цель состоит в том, чтобы экземпляр Analysis мог перехватывать трафик между экземплярами Client и DNS для целей анализа.
Экземпляр клиента -> Экземпляр анализа (NAT) -> Экземпляр DNS
Текущая настройка позволяет экземпляру клиента отправлять DNS-запрос через экземпляр Analysis в экземпляр DNS. Экземпляр DNS отвечает экземпляру Analysis за tcpdump
но экземпляр Client никогда не получает ответа от экземпляра Analysis.
У нас есть проверки источника/назначения в AWS для экземпляра Analysis, выполняющего NAT, отключенного.
Сначала мы включили пересылку в экземпляре Analysis:
sudo sysctl -w net.ipv4.ip_forward=1
Затем мы добавляем следующие правила IPTables в экземпляр Analysis.
sudo iptables -A FORWARD -p udp --dport 53 -d 192.168.1.151 -j ПРИНЯТЬ
sudo iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --к месту назначения 192.168.1.151
sudo iptables -t nat -A POSTROUTING -d 192.168.1.151 -s 192.168.1.156 -p udp --dport 53 -j SNAT --до 192.168.1.213
Другой РАЗМЕЩЕНИЕ
такие правила, как следующие, также были опробованы
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -p udp -d 192.168.1.151 --dport 53 -j SNAT --to-source 192.168.1.213
sudo iptables -t nat -A POSTROUTING -p udp -d 192.168.1.151 --dport 53 -j MASQUERADE
Все с тем же результатом, экземпляр клиента никогда не получает ответ DNS. Мысли о том, что может помешать экземпляру анализа вернуть ответ?