4

У меня машина Debian с двумя интерфейсами, настроенная с помощью dhcp:

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

При загрузке маршрут по умолчанию добавляется к eth1:

0.0.0.0         10.200.10.253   0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.200.10.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

Но мне нужно, чтобы маршрут по умолчанию был шлюзом на eth0. Удаление маршрута по умолчанию и запуск dhclient после загрузки:

$ sudo route del default
$ sudo dhclient -v eth0

Я знаю, что могу поставить это на rc.local , но есть ли более "чистый" способ сделать это?

Я не могу использовать статический адрес.

1 ответ1

5

Мне кажется, что оба DHCP-клиента порождены - каждый для своего соответствующего iface - получает шлюз по умолчанию и гонку. Так происходит, что тот, кто на eth1 надежно выигрывает (по любой причине).

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

Исходя из этого и этого, я бы попробовал добавить

interface eth1 {
    supersede routers ""
}

в /etc/dhcp/dhclient.conf и посмотрите, что произойдет. Идея состоит в том, чтобы supersede все routers предоставленные сервером DHCP, достигнутые через eth1 ни с чем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .