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

Увеличение метрики маршрута по умолчанию в CentOS с помощью DHCP

Я настраиваю сервер (точнее, виртуальную машину), на котором работает CentOS 6.4. у меня есть eth0 адаптер на машине CentOS, подключенной к Интернету (через мостовую сеть на хосте). Адаптер eth0 настраивается через DHCP. Все идет нормально.

Я также хочу, чтобы на сервере работал VPN-клиент и чтобы он подключился через tun0 адаптер к интернету. Клиент VPN успешно подключается с помощью OpenVPN. Он производит default маршрут с метрикой 0.

Итак, во-первых, это возможно, правда? Во-вторых, насколько я понимаю, это можно сделать двумя способами: увеличить метрику route что проходит через eth0 или уменьшите метрику route что проходит через tun0.

Я пытался сделать и то, и другое, но пока безуспешно. Я пробовал это: добавление METRIC=100 линия в /etc/sysconfig/network-scripts/ifcfg-eth0, однако это не меняет метрики маршрута.

Я также пробовал добавить metric вариант для client.conf файл для OpenVPN. Это тоже не повлияло (я считаю, что это из-за того, что pull вариант в этом файле).

Моя самая радикальная идея заключалась в том, чтобы вручную удалить route для eth0 и замените его тем же маршрутом, но с более высокой метрикой. К сожалению, я тоже не могу этого сделать, поскольку перезапуск сети приведет к сбросу настроек, а запуск демона, который делает это все время, не кажется хорошим решением.

Я открыт для предложений и идей. Спасибо.

Итак, если я правильно понимаю проблему, то в основном у вас есть компьютер с интерфейсом, настроенным на DHCP, и вы хотите подключиться к VPN и передавать весь свой трафик через VPN.

У вас возникают проблемы, когда DHCP-сервер продлевает аренду, он повторно добавляет шлюз, предоставленный DHCP-сервером.

Я предлагаю вам обновить client.conf и заменить redirect-gateway вариант с redirect-gateway def1. Это указывает OpenVPN добавить два маршрута, которые более конкретны, чем шлюз по умолчанию, вместо того, чтобы удалять уже существующий шлюз по умолчанию и добавлять новый.

Когда вы используете redirect-gateway def1 вы получите таблицу маршрутов, которая выглядит примерно так, как показано ниже. Поскольку наиболее точным совпадающим маршрутом является тот, который используется, маршруты для 0.0.0.0/1, и 128.0.0.0/1 взять прецедент по маршруту по умолчанию, но без беспорядочной работы по удалению / замене маршрута по умолчанию. Это также отменяет требование о том, чтобы никакое другое программное обеспечение не изменяло маршрут по умолчанию.

# ip route
10.3.195.17 dev tun_rem  proto kernel  scope link  src 10.3.195.18 
172.26.222.0/23 dev eth1  proto kernel  scope link  src 172.26.222.204 
0.0.0.0/1 via 10.3.195.17 dev tun_rem 
128.0.0.0/1 via 10.3.195.17 dev tun_rem
default via 172.26.222.1 dev eth1 

Если redirect-gateway настройка не устанавливается в вашем client.conf, тогда вам может потребоваться также добавить "route-nopull возможность игнорировать маршруты, полученные от VPN-сервера.