Маршрут по порту в конфигурации с несколькими провайдерами

Маршрут по порту в конфигурации с несколькими провайдерами

Я использую межсетевой экран Shorewall и успешно настроил несколько источников интернет-провайдеров.

В настоящее время он балансирует весь трафик на обоих провайдеров. Я хочу направить трафик ssh на провайдера ISP1 и трафик www на провайдера ISP2. Как это сделать?

решение1

Я думаю, вам нужно будет создать несколько таблиц маршрутизации. Одна — ваша таблица по умолчанию, предназначенная для обычного трафика, следующая — ваша специальная таблица SSH, которая содержит записи маршрутизации только для соединения с провайдером, которое вы хотите использовать.

Далее настройте iptables для маркировки пакетов, которые исходят от вашего IP-адреса и прослушиваемого порта SSH.

Наконец, вы можете настроить записи правил IP для маршрутизации на основе метки брандмауэра.

В документации LARTC содержится много информации (но вы, возможно, уже ее видели, раз уж дошли до этого места):http://lartc.org/howto/lartc.rpdb.html

Итак, в качестве примера:

  1. Добавьте новую таблицу маршрутизации с именем.

    echo SSH 500 >>/etc/iproute2/rt_tables
    
  2. Добавьте маршрут по умолчанию в другую таблицу маршрутизации, которая выполняет нужную задачу.

    ip route add default via $ISP2_GW table SSH 
    
  3. Настройте правило, чтобы fwmark использовал эту новую таблицу.

    ip rule add fwmark 0x0001 table SSH
    
  4. Наконец, настройте правило iptables для маркировки ваших пакетов.

    iptables -I PREROUTING -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001
    iptables -I OUTPUT     -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001
    

Надеюсь, это правильно настроит то, что вам нужно. Вам также нужно будет убедиться, что эта конфигурация выдержит перезагрузки! НО я оставлю это вам в качестве упражнения.

Связанный контент