rc.inet1 + dhcpcd + кубтелеком

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
gr3m1in
Сообщения: 27
ОС: Gentoo x86_64 Linux

rc.inet1 + dhcpcd + кубтелеком

Сообщение gr3m1in »

картина:
имеем роутер на slackware-current (2.6.29.2) с несколькими интерфейсами, один из которых смотрит в локалку кубтелекома.
по dhcp кубтелеком навязывает нежелательные маршруты (в том числе по-умолчанию) и dns-серверы.
хочется откреститься от них, т.к. используется локальный BIND и ручная маршрутизация в нескольких подсетях вида 10.х.х.х.
в rc.inet1 используется dhcpcd.
порывшись в нём руками, удалось избавиться от навязываемых маршрутов, но не получается игнорировать dns-адреса,
их всё равно запихивают в /etc/resolv.conf, параметр -R не помогает.
после курения манов, попытки использовать /etc/dhcpcd.sh не помогли, т.к. к моменту его выполнения все значения,
полученные от dhcp-сервера уже прикруччены.
их можно в дальнейшем сносить скриптом, но это как-то криво.
так же не смог найти конфиг для dhcpcd, где можно было бы что-то поуказывать. нашел только конфиг для dhcpd.
если использовать dhclient, то в его конфиге можно явно указать, какие значения принимать от dhcp-сервера,
а также после этого выполнить доп.скрипт с произвольным кодом, в частности с маршрутами и правилами iptables.

собственно вопрос:
как заставить dhcpcd на определённом интерфейсе получать только указанные значения? и где их указывать?
есть ли альтернативные варианты rc.inet1 с использованием dhclient?

гугль, маны, факи не помогли.
Спасибо сказали:
ford1813
Сообщения: 383
ОС: Slackware

Re: rc.inet1 + dhcpcd + кубтелеком

Сообщение ford1813 »

gr3m1in писал(а):
18.07.2009 15:40
картина:
имеем роутер на slackware-current (2.6.29.2) с несколькими интерфейсами, один из которых смотрит в локалку кубтелекома.
по dhcp кубтелеком навязывает нежелательные маршруты (в том числе по-умолчанию) и dns-серверы.
хочется откреститься от них, т.к. используется локальный BIND и ручная маршрутизация в нескольких подсетях вида 10.х.х.х.
в rc.inet1 используется dhcpcd.
порывшись в нём руками, удалось избавиться от навязываемых маршрутов, но не получается игнорировать dns-адреса,
их всё равно запихивают в /etc/resolv.conf, параметр -R не помогает.
после курения манов, попытки использовать /etc/dhcpcd.sh не помогли, т.к. к моменту его выполнения все значения,
полученные от dhcp-сервера уже прикруччены.
их можно в дальнейшем сносить скриптом, но это как-то криво.
так же не смог найти конфиг для dhcpcd, где можно было бы что-то поуказывать. нашел только конфиг для dhcpd.
если использовать dhclient, то в его конфиге можно явно указать, какие значения принимать от dhcp-сервера,
а также после этого выполнить доп.скрипт с произвольным кодом, в частности с маршрутами и правилами iptables.

собственно вопрос:
как заставить dhcpcd на определённом интерфейсе получать только указанные значения? и где их указывать?
есть ли альтернативные варианты rc.inet1 с использованием dhclient?

гугль, маны, факи не помогли.

Могу ошибаться , но для отказа получения dns серверов с dhcp сервера нужно раскоментировать

#DHCP_KEEPRESOLV[4]="yes" # If you dont want /etc/resolv.conf overwritten

Привести её к виду

DHCP_KEEPRESOLV[4]="no" # If you dont want /etc/resolv.conf overwritten
Контакты для связи:

E-mail: ford1813@gmail.com

Telegram: @ford1813
Спасибо сказали:
Аватара пользователя
gr3m1in
Сообщения: 27
ОС: Gentoo x86_64 Linux

Re: rc.inet1 + dhcpcd + кубтелеком

Сообщение gr3m1in »

wertik писал(а):
19.07.2009 12:25
gr3m1in писал(а):
18.07.2009 15:40
картина:
имеем роутер на slackware-current (2.6.29.2) с несколькими интерфейсами, один из которых смотрит в локалку кубтелекома.
по dhcp кубтелеком навязывает нежелательные маршруты (в том числе по-умолчанию) и dns-серверы.
хочется откреститься от них, т.к. используется локальный BIND и ручная маршрутизация в нескольких подсетях вида 10.х.х.х.
в rc.inet1 используется dhcpcd.
порывшись в нём руками, удалось избавиться от навязываемых маршрутов, но не получается игнорировать dns-адреса,
их всё равно запихивают в /etc/resolv.conf, параметр -R не помогает.
после курения манов, попытки использовать /etc/dhcpcd.sh не помогли, т.к. к моменту его выполнения все значения,
полученные от dhcp-сервера уже прикруччены.
их можно в дальнейшем сносить скриптом, но это как-то криво.
так же не смог найти конфиг для dhcpcd, где можно было бы что-то поуказывать. нашел только конфиг для dhcpd.
если использовать dhclient, то в его конфиге можно явно указать, какие значения принимать от dhcp-сервера,
а также после этого выполнить доп.скрипт с произвольным кодом, в частности с маршрутами и правилами iptables.

собственно вопрос:
как заставить dhcpcd на определённом интерфейсе получать только указанные значения? и где их указывать?
есть ли альтернативные варианты rc.inet1 с использованием dhclient?

гугль, маны, факи не помогли.

Могу ошибаться , но для отказа получения dns серверов с dhcp сервера нужно раскоментировать

#DHCP_KEEPRESOLV[4]="yes" # If you dont want /etc/resolv.conf overwritten

Привести её к виду

DHCP_KEEPRESOLV[4]="no" # If you dont want /etc/resolv.conf overwritten


спасибо за ответ.
в самом скрипте rc.inet1 от наличия этого параметра зависит присутствие -R в строке параметров, передаваемых dhcpcd.
т.е. нет разницы, передан этот параметр руками в консоли и скриптом из конфига, в обоих вариантах не получилось...
в конечном итоге скрипт rc.inet1 был попросту расковырян руками и пересажен на dhclient с параметрами -nw.
решение не слишком изящное, но работает.
тему можно закрывать.
Спасибо сказали: