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

Маршрутизация трафика так, чтобы он исходил от одного (статического) IP-адреса.

У нас есть три набора компьютеров: клиенты, один прокси и несколько серверов.

Клиенты (многие) хотят подключиться к серверам (многие), используя TCP на определенном и согласованном порту. В настоящее время они делают это напрямую. Соединения всегда исходят от клиентов. И все хорошо, и мир хорош.

Однако мы хотели бы ввести в уравнение прокси / шлюз / маршрутизатор. Цель состоит в том, чтобы привязать статический IP-адрес к «прокси», чтобы серверы видели весь трафик как исходящий от статического IP-адреса.

Клиенты отправляют запросы к нескольким серверам, используя несколько протоколов (например, они также отправляют HTTP-запросы). Мы хотим «проксировать» только один протокол. Всем другим протоколам следует разрешить маршрутизацию как обычно.

Я думаю, что эту проблему можно переформулировать для любого протокола. Как оказалось, протокол (порт) - LDAP. Но я считать это в значительной степени не имеет значения (если только не существует приятного и удобного программного обеспечения LDAP-прокси).

Я не верю, что это важно, но наша среда - это AWS. Мы не используем VPC. Почему это может иметь значение, так это то, что у машин есть только один сетевой интерфейс.

Мы пробовали несколько подходов, но не смогли заставить их работать. Я буду рад вашему вкладу - даже если он говорит нам, что то, что мы хотим сделать, невозможно!

Спасибо.

Renen.

Я не совсем уверен, что понимаю, что вы пытаетесь сделать. Тем не мение:

Простой сетевой прокси должен работать для того, что, я думаю, вы описываете. Их много, в том числе баланс и xinetd, последний из которых может быть уже установлен в вашей системе. Это оба TCP-прокси (они не будут работать со службами на основе UDP), но они охватывают HTTP, LDAP и, вероятно, большинство других протоколов, о которых вы будете заботиться.

Нечто подобное можно сделать, поместив «маскирующий» маршрутизатор (возможно, систему Linux) между вашими клиентами и сервером. Более подробную информацию об этом можно найти Вот.

Было бы полезно узнать, какие методы вы пробовали. Предполагая, что вы не хотите запускать прокси-клиент на своих клиентских машинах, я предлагаю исходный NAT на вашем граничном маршрутизаторе.

В Linux с iptables:

iptables -t nat -A PREROUTING -i $outside_interface -d $your_servers/netblock \
         -p tcp --dport $ldap -j SNAT --to $source_address

Большинство брандмауэров, не являющихся игрушечными, должны уметь имитировать такое поведение.