Мы запускаем ubuntu 20.04 в AWS. Мы пытаемся настроить правило iptables, чтобы любой трафик MySQL с фиктивным IP-адресом перенаправлялся в базу данных MySql по адресу 172.31.6.173 в том же VPC.Позвольте мне объяснить:
IP-адреса в этой задаче:
Сервер Ubuntu (источник): 172.31.0.151
Сервер MySql (место назначения): 172.31.6.173
MySql Dummy IP: 6.6.6.6
Начиная с 172.31.0.151 (источник) мы будем подключаться к mysql по фиктивному IP-адресу (6.6.6.6), и он будет преобразован через NAT в пункт назначения (172.31.6.173).
Правила, которые мы использовали:
sudo iptables -t nat -A PREROUTING -s 172.31.0.151 -d 6.6.6.6 -j DNAT --to-destination 172.31.6.173
sudo iptables -A FORWARD -p tcp -d 172.31.6.173 -j ACCEPT
Первая строка указывает, что любой трафик из 172.31.0.151 с назначением для 6.6.6.6 будет перенаправлен на 172.31.6.173
Вторая строка принимает все TCP вперед на 172.31. 6.173.
Это единственные правила в iptables, если я запускаю sudo iptables -t nat -L
, результат будет:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT all -- 172.31.0.151 6.6.6.6 to:172.31.6.173
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Однако с этими двумя правилами из источника (172.31. 0.151), когда я пытался войти в MySql с фиктивного IP-адреса:
mysql -h 6.6.6.6 -u username -p
Вывод tcpdump: (сервер MySql является экземпляром RDS, что означает, что я не могу войти в систему для запуска tcpdump, поэтому я могу получить tcpdump только с исходного сервера) :
13: 41: 41.768171 IP 172.31.0.151.50374> 6.6.6.6.mysql: флаги [S], seq 3441229166, win 62727, параметры [mss 8961, sackOK, TS val 2723434614 ecr { {1}} 0, nop, wscale 7], длина 0
13: 41: 45.992114 IP 172.31.0.151.50374> 6.6.6.6.mysql: Flags [S], seq 3441229166, win 62727 , параметры [mss 8961, sackOK, TS val 2723438838 ecr 0, nop, wscale 7], длина 0
13: 41: 54.184186 IP 172.31.0.151.50374> 6.6.6.6.mysql: Flags [ S], seq 3441229166, win 62727, options [mss 8961, sackOK, TS val 2723447030 ecr 0, nop, wscale 7], length 0
Правило PREROUTING не вступает в силу , попытка входа i s по-прежнему ищет сервер на 6.6.6.6, вместо того, чтобы быть привязанным к IP-адресу 172.31.6.173.
Мы будем благодарны за любые советы. Спасибо.