Назад | Перейти на главную страницу

iptables перенаправляет пакет UDP по нескольким адресатам

Возможный дубликат:
Как отправить udp-пакеты на другой хост

Я использую несколько экземпляров в виртуальном частном облаке Amazon. Один экземпляр находится внутри подсети только для VPN (10.128.1.0/24), подключенной к корпоративной сети (172.16.32.0/24). Я ничего не контролирую на другом конце туннеля. Я контролирую только то, что происходит в VPC.

Есть физический сервер, который отправляет UDP-пакеты через туннель на прокси-сервере, который я пытаюсь настроить через iptables. У меня будет несколько серверов приложений в разных средах, которые все должны получать эти UDP-пакеты (в подсети 10.128.5.0/24). Моя первая попытка настроить iptables была:

iptables -t nat -A PREROUTING -s 172.16.32.0/24 -p udp --dport 1360 -j DNAT --to 10.128.5.10:1360 --to 10.128.5.11:1360

Проблема двоякая. Первый iptables больше не поддерживает несколько --to флаги. И во-вторых, насколько я понимаю, это будет циклический перебор пункта назначения, но мне нужно, чтобы пакеты UDP шли к обоим пунктам назначения одновременно.

ВОПРОС: Учитывая мои ограничения, как мне получить пакет UDP и отправить его одновременно в два разных места назначения? Я бы предпочел по возможности сохранить его в iptables.

ИЗМЕНИТЬ (для пояснения): у меня есть пакеты UDP, поступающие на прокси (сервер A). Я хочу, чтобы этот пакет был получен двумя другими серверами (B и C) и, возможно, другими в будущем. Адрес источника пакетов UDP, полученных B & C, не имеет значения, и B & C никогда не будет нуждаться в отправке какого-либо ответа. Это строго в один конец. Возможно ли это, и если да, то как?

Если пакет не адресован ни одной цели, вам придется преобразовать его в первую цель, tee это так, что он идет к этой первой цели, а затем NAT ко второй цели.

Если пакет уже дошел до одной из целей, просто tee он адресуется к цели, а затем выполняет преобразование в другую.