Как я могу перенаправить 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
Спасибо вам всем!