У меня есть многосетевой сервер, на котором запущен bgp через quagga
Если я запускаю приложение на этом сервере, которое инициирует соединение, по умолчанию оно выбирает интерфейс с наименьшей метрикой, то есть адрес соседа маршрутизатора bgp, что прискорбно, так как эти адреса соседей даже не доставляются. вверх по течению.
В случае, если программное обеспечение, инициирующее соединение, не имеет возможности привязки к определенному IP-адресу, можно ли привязать приложение к определенному IP-адресу другим методом? настройка показателей для предпочтения интерфейса не представляется жизнеспособной при динамической маршрутизации.
Есть возможность запустить bgp в джейле и использовать vnic, если больше ничего не работает
РЕДАКТИРОВАТЬ
Я награжу награду, если кто-нибудь объяснит:
как это сделать.
Объясняет, как это сделать в Linux, если в BSD это невозможно.
Содержит авторитетную ссылку, почему это невозможно в настоящее время.
Обычно мы добавляем маршруты к серверу, которые сообщают ему, что следующим переходом является определенный IP-адрес. Он будет использовать карту, которая находится в той же подсети, на следующем переходе.
Вы не сказали, какая ОС, но я вижу в вашем теге freebsd, так что я предполагаю это.
По сути, вы должны сделать freebsd маршрутизатором для добавления статических маршрутов. Для получения дополнительных сведений посетите сайт freebsd.org, используя эта ссылка. Следующая информация оттуда.
30.2.2. Настройка маршрутизатора со статическими маршрутами
Предоставлено Аль Хоангом.
Система FreeBSD может быть настроена в качестве шлюза или маршрутизатора по умолчанию для сети, если это система с двойным подключением. Система с двойным подключением - это хост, который находится как минимум в двух разных сетях. Обычно каждая сеть подключается к отдельному сетевому интерфейсу, хотя IPaliasing можно использовать для привязки нескольких адресов, каждый из которых находится в другой подсети, к одному физическому интерфейсу.
Чтобы система могла пересылать пакеты между интерфейсами, FreeBSD должна быть настроена как маршрутизатор. Стандарты Интернета и хорошая инженерная практика не позволяют проекту FreeBSD включать эту функцию по умолчанию, но ее можно настроить для запуска при загрузке, добавив эту строку в /etc/rc.conf:
gateway_enable = "YES" # Установите YES, если этот хост будет шлюзом
Чтобы включить маршрутизацию сейчас, установите для переменной sysctl (8) net.inet.ip.forwarding значение 1. Чтобы остановить маршрутизацию, установите для этой переменной значение 0.
Таблица маршрутизации маршрутизатора требует дополнительных маршрутов, поэтому он знает, как достичь других сетей. Маршруты могут быть либо добавлены вручную с использованием статических маршрутов, либо маршруты могут быть автоматически изучены с использованием протокола маршрутизации. Статические маршруты подходят для небольших сетей.
Примеры конфигурации и дополнительные сведения см. На странице эта ссылка на freebsd.org