У меня возникла проблема с проектом сетевого дизайна, над которым я работаю. Наша внутренняя сеть - 192.168.1.x. У нас есть два шлюза из нашей сети: №1 - 0,20 и №2 - 0,52. Обычно вы можете выбирать свой шлюз на уровне машины, но в этом и заключается наша проблема. У нас есть устройство безопасности, встроенное в наши два шлюза. Независимо от того, какой адрес уровня 2 это устройство получает при пересылке пакетов, оно получает адрес шлюза уровня 2 на своем мосту. Я должен упомянуть, что это поведение актуально только для протоколов, которые отслеживает устройство (http, smtp). Итак, конечный результат таков, независимо от того, какой шлюз настроен на отдельных машинах для рассматриваемых протоколов, все они получают один и тот же шлюз. не важно что.
Мне было поручено, чтобы разные серверы использовали шлюз №1 или шлюз №2 в зависимости от наших потребностей. Что ж, не очень хорошо, если эти серверы используют «проверенный» протокол.
Моя идея теперь состоит в том, чтобы маршрутизировать трафик после того, как он выходит из устройства безопасности, на основе протокола уровня 3 в пакете. Но я просто не знаю, что для этого использовать. Или, если на то пошло, если это даже лучший подход.
Д.
Вы можете использовать бесплатный брандмауэр / маршрутизатор под названием pfSense. Это позволяет принимать решения о маршрутизации на основе номеров портов и т.п.
Лучше всего «починить» это устройство безопасности! Однако второй вариант - настроить какую-то маршрутизацию с поддержкой L3 на любом устройстве, которым вы управляете. Если вы управляете шлюзами, вы можете использовать что-то вроде iptables, чтобы настроить либо адреса источника / назначения, либо полностью перенаправить пакет на другой шлюз.
Вот некоторая информация об использовании iptables для маскарадинга:
http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html