LINUX.ORG.RU
решено ФорумAdmin

dhclient применяет параметры, которые он не запрашивал в request

 ,


0

1

Система: виртуалка Debian Wheezy на Virtualbox

dhclient --version
isc-dhclient-4.2.2

К сетевому адаптеру присобачен NAT и настроен Port Forwarding для ssh - очень удобно, можно раздавать виртуалке инет и одновременно работать с ней по ssh. В отличие от вариантов с bridge, неважно, каким образом интернет приходит на хост - виртуалка его всё равно получит.

Эта виртуалка не должна получать default route по DHCP. Я исключил в dhclient.conf из request параметр routers. Но встроенная реализация DHCP в VirtualBox очень простая, она отдаёт фиксированный набор параметров независимо от того, что клиент запрашивал. И dhclient применяет полученные routeres, хотя он их не запрашивал! Проверил процесс получения пакетов Wireshark-ом - действительно, routers не запрашиваются, но прилетают.

Это баг или фича? Может я чего-то не понимаю?

З.Ы. Кому интересно - есть такое обходное решение:

auto eth0
iface eth0 inet dhcp
metric 255
post-up ip route del default dev eth0

metric нужен, чтобы оно не заменило имеющийся default route. Но меня волнует не решение, а странное поведение dhclient

★★★

dhclient получает всё то, что ему отправил DHCP-сервер. ИМХО ты можешь просто обнулить переменную с гейтвеями в скриптах dhclient'а.

Deleted
()
Ответ на: комментарий от beastie

Да, уже это нагуглил, но отписаться не успел. ИМХО криво сделано: вместо того, чтобы иметь возможность явно задать, чего я хочу/не хочу получать от сервера, нужно писать скрипты и в них отбрасывать ненужное

selivan ★★★
() автор топика
Ответ на: комментарий от selivan

Но это ИМХО криво

Наоборот это наиболее правильный способ. Зачем удалять маршрут, если его можно просто не создавать =).

Deleted
()
Ответ на: комментарий от Deleted

Нет, криво то, что я не могу сказать в конфиге: «применять только такие-то полученные параметры», а должен писать хитрые скрипты. А если сервер мне какую-нибудь неведомую хрень раздаст, которая что-то ломает и которую я в скриптах не учёл?

selivan ★★★
() автор топика
Последнее исправление: selivan (всего исправлений: 1)
Ответ на: комментарий от beastie

В supersede я должен задать свой вариант default gateway, а мне не нужно назначать его с помощью dhclient

selivan ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.