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

Добавление шлюза для интерфейса

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

Текущая ситуация: настройка шлюза для конкретного интерфейса не распознается, вероятно, потому, что по умолчанию она имеет ту же метрику, что и шлюз, предоставляемый DHCP. Изменение метрики специфичного для интерфейса шлюза позволяет его распознать, но затем приводит к нежелательной ситуации, когда у зависящего от интерфейса шлюза нет более высокой метрики. Могу ли я что-нибудь сделать, если запретить изменение настроек, предоставляемых DHCP?

Подробности:

Я пытаюсь добавить шлюз для конкретного интерфейса, поэтому добавил строку:

default via 10.76.220.205 dev eth1

на route-eth0, но когда я перезапускаю сеть, я получаю следующую ошибку:

RTNETLINK отвечает: файл существует

Согласно Руководство по развертыванию RHEL:

Если шлюз по умолчанию уже назначен из DHCP, формат аргументов команды IP может вызвать одну из двух ошибок во время запуска или при выводе интерфейса из неактивного состояния с помощью команды ifup: «RTNETLINK отвечает: файл существует» или ' Ошибка: либо «to» - дубликат, либо «XXXX» - мусор. ', Где XXXX - шлюз, либо другой IP-адрес. Эти ошибки также могут возникать, если у вас есть другой маршрут к другой сети с использованием шлюза по умолчанию. Обе эти ошибки можно проигнорировать.

В настоящее время хосту назначен DHCP, но я хотел бы переопределить настройку шлюза для определенного интерфейса. Когда я запускаю «route», мой новый маршрут не отображается в списке, хотя я добавил указанную выше строку в файл route-eth0 и перезапустил сеть. Когда я добавляю метрику в файл route-eth0, например: default via 10.76.220.205 dev eth1 metric 1

Команда route показывает мой дополнительный шлюз. Похоже, что сеть распознает второй шлюз только в том случае, если у него другая метрика. (Метрика шлюза по умолчанию для шлюза, предоставленного dhcp, равна 0). Но в результате у меня, конечно, остается мой новый интерфейсный шлюз с метрикой выше, чем у шлюза, предоставляемого DHCP, и поэтому он остается неиспользованным. Есть предложения по решению этой проблемы?

Во-первых, я не думаю, что вы можете осмысленно устанавливать шлюз по умолчанию для каждого интерфейса отдельно.

Если вы говорите, что хотите, чтобы ваш шлюз по умолчанию исходил из вашей статической записи, а не из dhcp, вам нужно указать подсистеме DHCP не приобретать его.

Если не изменяет память, C62 использует dhclient, который, к сожалению, не имеет простого флага времени выполнения, который говорит «не устанавливать маршрут по умолчанию». Вместо, man dhclient.conf предлагает вам указать параметры, которые вы хотите установить dhclient, поэтому в /etc/dhcp/dhclient-eth0.conf ты захочешь что-то вроде

request subnet-mask, broadcast-address, domain-name, domain-search, domain-name-servers;

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