Как настроить два маршрута по умолчанию в Linux?

Как настроить два маршрута по умолчанию в Linux?

Я настраиваю сервер маршрутизации на Linux.

  1. Ethernet-соединение (eth0) с Интернетом (быстрое, но не позволяет получить доступ к некоторым сайтам);
  2. Ссылка OpenVPN (tun0) для предоставления доступа в Интернет локальным пользователям;
  3. OpenVPN-ссылка (tun1) на прокси-сервер, который является вторым интернет-ссылкой (медленной, бесплатной).

Моя цель такова: для общего доступа в Интернет маршрутизировать их через eth0; для сайтов, которые не могут быть связаны с eth0, маршрутизировать их через tun1.

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

Я попытался настроить quagga (с включенными zebra и ospfd) и хотел, чтобы он автоматически проходил через tun1, когда пользователи не могут получить доступ к сайту через ссылку 1 (eth0). На самом деле я настроил и tun1, и eth0 как маршруты по умолчанию, но я не получил того, что хотел.

Проблема заблокировала меня на несколько дней. Я не знаком с ospf, поэтому не знаю, возможно ли это с ospfd.

Мне нужны ваши предложения! Пожалуйста, поправьте меня, если есть лучший способ.

решение1

Я понимаю, что проблема в том, что вам нужно задать правила маршрутизации на клиентских машинах OpenVPN? Вы пробовали route pushing в конфигурации сервера OpenVPN?

push "route IP MASK vpn_gateway";

(заменятьИСиМАСКАсоответственно для соответствия вашим целям маршрутизации).

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

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