1

Я пишу здесь, чтобы спросить вас, была ли у вас проблема, похожая на мою.

Я использую Mikrotik RB750UP для своего офиса. Маршрутизатор управляет 3 разными глобальными сетями. Я не использую какие-либо балансировки или соединения таких линий, но я использую их только по причинам отработки отказа.

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

Мне нужно как-то маркировать трафик, который поступает в WAN, и позволить маршрутизатору отправлять ответ обратно с того же интерфейса WAN и IP.

Например: я отправляю запрос на порт WAN2_ip: с внешнего устройства. RB включает WAN1 (который также является первым выбором среди возможных правил маршрутизации) и использует это соединение для отправки ответа (который не является правильным).

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

Есть ли у вас предложения?

Спасибо

1 ответ1

1

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

Так, например, вы должны настроить что-то вроде следующего для 1-го соединения WAN и повторить для каждой дополнительной WAN.

(заменить / определить переменные $ {wan ...} соответствующими значениями)

# Get/Assign WAN1 gateway interface/IP
wan1_interface=eth0
wan1_gateway_ip_address="$(ifconfig br0 | grep 'inet addr:' | cut -d ':' -f2 | cut -d ' ' -f1)"

# Create routing table for WAN1
ip route replace default via ${wan1_gateway_ip_address} dev ${wan1_interface} table 100
ip rule add fwmark 0x7 table 100

# Setup policy for marking WAN1 traffic
iptables -t mangle -N wan1_policy
iptables -t mangle -A wan1_policy -j MARK --set-mark 0x7

# Mark traffic coming in on WAN1 interface
iptables -t mangle -A PREROUTING -i ${wan1_interface} -j wan1_policy

Я извиняюсь, если это немного грубо или неполно. К сожалению, я администратор Windows в своей профессии. Таким образом, я не склонен возиться с сетевыми аспектами или аспектами Linux/Unix достаточно часто, чтобы очень хорошо владеть этим уровнем. Но я уточню ответ, если смогу вспомнить более конкретную информацию из пыльных уголков моего мозга. :)

ОБНОВЛЕНИЕ: Я нашел старый скрипт, который использовал, и обновил приведенный выше пример более точными командами. Мне пришлось настроить их для вашей ситуации (я использовал их для направления трафика на VPN-соединение), но я думаю, что они должны быть хорошими сейчас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .