картина:
имеем роутер на 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?
гугль, маны, факи не помогли.
rc.inet1 + dhcpcd + кубтелеком
Модератор: Модераторы разделов
-
ford1813
- Сообщения: 383
- ОС: Slackware
Re: rc.inet1 + dhcpcd + кубтелеком
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
-
gr3m1in
- Сообщения: 27
- ОС: Gentoo x86_64 Linux
Re: rc.inet1 + dhcpcd + кубтелеком
wertik писал(а): ↑19.07.2009 12:25gr3m1in писал(а): ↑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.
решение не слишком изящное, но работает.
тему можно закрывать.