У меня есть вопрос относительно менеджера RedHat 6 по Корпоративной сети (NM):
Мой Linux подключен к двум сетевым интерфейсам.
1 – eth0: Нормальный Ethernet, который подключен к компании LAN
2 – eth1: аппаратный ключ USB, который подключен к сотовой сети (CDC-ECM)
интерфейс eth0 всегда соединяется, и интерфейс eth1 непостоянный (соединение может прийти и уйти),
Когда оба соединились, NM уделяет первостепенное значение eth0. При значении маршрут по умолчанию (0.0.0.0) всегда определяется через него.
Я хочу изменить политику NM, что она отдаст более высокий приоритет eth1. Когда интерфейс eth1 не соединен, маршрут по умолчанию должен определенный через интерфейс eth0 и когда eth1 соединен, маршрут по умолчанию должен пройти eth1.
Я искал сеть о том, как сделать это и играемый со сценариями NM, и ifcfg-eth0 / ifcfg-eth1 файлы (попробовал DEFROUTE и другие опции), но не мог заставить его работать.
Кто-либо может предложить то, что должно быть правильным способом сделать это с помощью NM?
Спасибо!
Правка: Добавить решение ОП из комментариев:
Answer:
Network Manager всегда может выбрать беспроводной или проводной в качестве основного (на основе других вопросов здесь), который, кажется, включает в себя взаимодействие с метрикой маршрута и dhcp, рекламой маршрутизатора (где NM следует за 1 метрикой), взаимодействие вверх/вниз и RedHat-специфику.
Предположим, что вы используете его: DHCP может сбросить ваш маршрут на "лучший" в соответствии с метрикой маршрута¹. Более высокие значения метрик являются более "дорогими", поэтому предпочтительнее использовать менее дорогостоящие метрики . В списке Network Manager здесь отмечено, что метрики беспроводной dhcp-сети оштрафованы на +100, и разработчики NM говорят, что NM должна просто выбрать правильный маршрут, но метрики могут быть и лучшим методом устройства. Я не уверен, что это относится к вашему eth1, но вы можете это контролировать:
Обменяв номера (10 и 20) с этим ответом для ваших интерфейсов, я получаю:
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
METRIC=20
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
METRIC=10
Этот ответ говорит, что это должно предпочитать беспроводное соединение и выполнять изящный обход отказа между интерфейсами.
Если вы хотите, чтобы NM выбрала в качестве устройства, ключевые слова интерфейса GMambaG также рассматриваются в RedHat docs для маршрутов static, в которых отмечаются неожиданные проблемы, связанные с использованием нескольких шлюзов + GATEWAYDEV. Чтобы проверить это, запустите оба интерфейса и попытайтесь возобновить работу после удаления протокола eth1. Если у вас возникли проблемы (например, прерывистые таймауты), вы должны быть в состоянии восстановиться, удалив изменения и перезапустив сеть:
$ sudo service network restart
Если все остальное не работает, реклама маршрутизатора (ICMP типы 9 и 10, я думаю) может повлиять на ваши таблицы маршрутов; согласуйте с сетевым администратором, прежде чем пытаться их заблокировать.
Правка: Уменьшил текст этого ответа, поместив сверху решение ОП.
¹ Если вы не используете DHCP, у вас должен быть ручной шлюз. Эта статья предлагает использовать NM_CONTROLLED="нет", чтобы предотвратить автоматическое переключение NM на шлюз этого интерфейса.
.Red Hat использует последний интерфейс в качестве шлюза по умолчанию.
Чтобы установить eth1
по умолчанию, добавьте его в / etc / sysconfig / сеть
:
GATEWAYDEV = eth1
См .: https://access.redhat.com/solutions/41459
Он должен обрабатываться при каждом вызове ifup
. Вы можете проверить маршруты с помощью ip route show