Проблема с сетевым переключением

Это соответствует всем параметрам, переданным сценарию. В Вашем примере это окружается в кавычках; это важно, поскольку кавычки инкапсулируют (по-видимому), пробел между параметрами. Исключение кавычек в сценариях оболочки может часто быть источником для ошибок.

Здесь, в случае удара, взятого из страницы справочника:

 *      Expands to the positional parameters, starting from one.  When the expansion  occurs
          within  double  quotes, it expands to a single word with the value of each parameter
          separated by the first character of the IFS special  variable.   That  is,  "$*"  is
          equivalent  to  "$1c$2c...",  where c is the first character of the value of the IFS
          variable.  If IFS is unset, the parameters are separated by spaces.  If IFS is null,
          the parameters are joined without intervening separators.

удачи

кв/см.

3
10.06.2014, 15:24
1 ответ

Настройки DHCP не должны содержать адрес шлюза в / etc / network / интерфейсы . Например, для настройки DHCP на eth0 вам понадобятся как минимум следующие строки:

auto eth0
    iface eth0 inet dhcp

После правильной настройки ifup и ifdown должны работать правильно, тогда вы можете поставить любые сценарии, которые вы хотите запускать при изменении состояния интерфейса в /etc/network/if-up.d и /etc/network/if-down.d . Однако, если ваш DHCP-сервер настроен правильно, он должен предоставлять конфигурацию DNS своим клиентам, поэтому настройка вручную не требуется

РЕДАКТИРОВАТЬ

Для автоматического изменения настроек DNS вам необходимо добавить необходимую конфигурацию к каждому соответствующему интерфейсу в / etc / network / interfaces , даже если интерфейс использует DHCP.
Настройки DNS в / etc / network / interfaces передаются в resolvconf , когда ifup и ifdown вызываются с помощью сценариев ловушек в / etc / network / if- (вверх | вниз) .d каталог.

Когда вы вызываете интерфейс с помощью ifup , его настройки DNS добавляются к /etc/resolv.conf , что и происходит. И наоборот, те же настройки удаляются, когда интерфейс отключается с помощью ifdown . Но даже если вы используете ifdown , если нет статических настроек DNS в / etc / network / interfaces , тогда настройки для этого интерфейса не будут удалены из / etc / resolv .conf .

Таким образом, ваша запись для eth1 должна выглядеть так:

auto eth1    
    iface eth1 inet dhcp  #assigns an address in the 192.168.0.0/24 space with 192.168.0.1 as DNS
    metric 200            #without this line I get RNETLINK answers: file does not exist
    dns-search cable.provider.com

Кроме того, вы можете использовать параметр -v с ifup и ifdown , чтобы включить подробный вывод и увидеть, какие именно сценарии ловушек выполняются.

Источники: man resolvconf man интерфейсы

1
27.01.2020, 21:31

Теги

Похожие вопросы