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

Как я могу перенаправить 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 для простоты настройки, но я могу понять даже теоретические ответы, которые я постараюсь адаптировать к своему случаю.

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

провайдеры

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

правила

#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

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