Попытка настроить небольшой AWS Box (Debian Linux) для работы в качестве маршрутизатора, принимающего общедоступный трафик (eth0 — единый сетевой интерфейс) и перенаправляющего его на другой общедоступный IP-адрес, разные порты, а затем отправляющего трафик обратно клиентам.
Сопоставления портов (TCP и UDP):
Исходный IP-адрес, исходный порт, целевой IP-адрес, целевой порт
ВСЕ, 27106,168.119.149.150,27015
ВСЕ, 8000.168.119.149.150.7777
ВСЕ, 8001.168.119.149.150.7778
Что я пытаюсь сделать:
Трафик в:
Общедоступный IP-адрес (клиентское приложение) [27106,8000,8001] -> Linux Box -> Целевой общедоступный сервер (AA) [27015,7777,7778]
Обратный трафик:
Общедоступный сервер (AA) [27015,7777,7778] -> Linux Box -> Общедоступный IP-адрес (клиентское приложение) [27106,8000,8001]
/etc/iptables/rules.v4 в настоящее время:
*натуральный
: ПРЕДВАРИТЕЛЬНАЯ ПРОВОДКА ПРИНЯТА [0:0]
:ВВОД ПРИНЯТЬ [0:0]
:ОТПРАВКА ПРИНЯТИЯ [0:0]
: ВЫВОД ПРИНЯТ [0:0]
-A PREROUTING -p tcp -m tcp --dport 27106 -j DNAT --назначение 168.119.149.150:27015
-A PREROUTING -p udp -m udp --dport 27106 -j DNAT --назначение 168.119.149.150:27015
-A PREROUTING -p tcp -m tcp --dport 8000 -j DNAT --назначение 168.119.149.150:7777
-A PREROUTING -p udp -m udp --dport 8000 -j DNAT --to-destination 168.119.149.150:7777
-A PREROUTING -p tcp -m tcp --dport 8001 -j DNAT --назначение 168.119.149.150:7778
-A PREROUTING -p udp -m udp --dport 8001 -j DNAT --назначение 168.119.149.150:7778
-A ОТПРАВКА -p tcp -m tcp --dport 27015
-A ОТПРАВКА -p udp -m udp --dport 27015
-A ОТПРАВКА -p tcp -m tcp --dport 7777
-A ОТПРАВКА -p udp -m udp --dport 7777
-A ОТПРАВКА -p tcp -m tcp --dport 7778
-A ОТПРАВКА -p udp -m udp --dport 7778
СОВЕРШИТЬ
*фильтр
:ВВОД ПРИНЯТЬ [0:0]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [0:0]
СОВЕРШИТЬ
кот /proc/sys/net/ipv4/conf/eth0/форвардинг
возвращает 1
Конечные точки брандмауэра AWS настроены на прием всего трафика [TCP/UDP] — так что это не так, я могу только думать, что неправильно настроил файл правил?
Проблема в том, что это не работает так, как я ожидаю, - может ли кто-нибудь дать несколько советов о том, что я делаю неправильно?