Как я могу перенаправить HTTP(S) трафик на другой шлюз?

У меня есть сеть, такая как 192.168.0.0/15, со шлюзом по умолчанию, установленным на 192.168.0.1. Все рабочие станции сети используют этот шлюз для всех видов доступа в Интернет. Сейчас я тестирую новое интернет-соединение с другим провайдером и для этого использую второй шлюз в той же подсети с 192.168.0.2 в качестве IP-адреса. Я хочу перенаправить только трафик HTTP и HTTPS на этот второй шлюз, не затрагивая адрес шлюза по умолчанию, установленного внутри каждой рабочей станции. Как я могу выполнить эту задачу? Что я должен изменить в конфигурации или маршрутах первого межсетевого экрана шлюза? Я пытался с DNAT, как:

DNAT    loc:192.168.0.1       loc:192.168.0.2    tcp    80

но ничего не получалось. Я использую Shorewall для простоты настройки, но я могу понять даже теоретические ответы, которые я постараюсь адаптировать к своему случаю.

1 ответ

Хорошо, я решил сам, используя маркировку пакетов:-) Я создал два файла в /etc/shorewall, которые называются tcrules и provider. Вот содержимое обоих:

провайдеры

#NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS
Provider1   1       202     -               eth1         192.168.0.2     loose

tcrules

#MARK    SOURCE              DEST        PROTO    DEST
#                                                 PORT(S)
202:P    eth1:!192.168.0.2  0.0.0.0/0   tcp      80
202:P    eth1:!192.168.0.2  0.0.0.0/0   tcp      443

С этой конфигурацией я могу теперь перенаправить все входящие соединения HTTP(S) (сторона LAN) с моего первого шлюза на второй, чтобы я мог проверить моего нового интернет-провайдера:-P

Спасибо вам всем!

Другие вопросы по тегам