Страница 1 из 1

Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 20:59:02
kpp
Имеем FreeBSD 7.2
Ситуация такая.
Был один канал в инет - настройки сетевого интерфейса статические.
default route через него - это основной канал.

Подключили еще один канал в инет.
Сетевой интерфейс настраивается через DHCP, при чем каждые 3-4минуты идет пересинхра.
При этом слетает default route, перезатирается resolv.conf
Провайдер отказывается напрячься и настроить под нас статический канал.
Адрес всегда выдается один и тотже, шлюз тоже.
Но если руками прописать в сетевом интерфейсе эти параметры - инета нет.

Есть ли возможность на фре настроить чтобы не слетал default route и resolv.conf ?

Заранее спасибо.

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 21:31:54
reLax
Лично не сталкивался с такой проблемой, но знаю что есть некий dhclient. Ввиду вышесказанного более информации предоставить не могу, поэтому покурите ман на тему man dhclient.conf (require)

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 21:36:04
kpp
Курю этот ман, пока просветления не наступило... :pardon:

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 21:40:51
reLax
kpp писал(а):Курю этот ман, пока просветления не наступило... :pardon:

Код: Выделить всё

require [option] [, ... option];
             The require statement lists options that must be sent in order
             for an offer to be accepted.  Offers that do not contain all the
             listed options will be ignored.

Код: Выделить всё

EXAMPLES

           timeout 60;
           retry 60;
           reboot 10;
           select-timeout 5;
           initial-interval 2;
           reject 192.33.137.209;

           interface "ep0" {
               send host-name "andare.fugue.com";
               send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
               send dhcp-lease-time 3600;
               supersede domain-name "fugue.com rc.vix.com home.vix.com";
               prepend domain-name-servers 127.0.0.1;
               request subnet-mask, broadcast-address, time-offset, routers,
                       domain-name, domain-name-servers, host-name;
               require subnet-mask, domain-name-servers;
               script "/etc/dhclient-script";
               media "media 10baseT/UTP", "media 10base2/BNC";
           }
Говорю же - сам не пробовал. Но по моему все понятно.Offers that do not contain all the listed options will be ignored. - ну ?
Даже переведу по китайски - "Предложения, которые не содержат указанные варианты будут игнорированы" )))

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 21:59:31
GRooVE
Рабочий конфиг

Код: Выделить всё

root@server [~]# cat /etc/dhclient.conf
interface "re2" {
        prepend domain-name-servers 127.0.0.1;
       script "/etc/pf/up-prov2-dhcp.sh";
}

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:04:04
kpp
а что в скрипте /etc/pf/up-prov2-dhcp.sh ?

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:16:24
kpp

Код: Выделить всё

timeout 60;
           retry 60;
           reboot 10;
           select-timeout 5;
           initial-interval 2;
           reject 192.33.137.209; - вот тут непонятно, по доке "Любые предложения, присланные сервером DHCP со значением IP-адреса (192.33.137.209 в данном случае) будут отвергнуты"

        interface "ep0" {
               send host-name "andare.fugue.com";                 - имя хоста моего - для прова нет имени моего  - убираю ??
               send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;   - макадрес моей сетвухи
               send dhcp-lease-time 3600; 
               supersede domain-name "mouse.ua", routers;    - указанная опция всегда будет использовать значение даже если сервер DHCP пришлет другое значение для нее.
               prepend domain-name-servers 127.0.0.1;                                     - тут непонятно, зачем указывать локалхост?
               request subnet-mask, broadcast-address, time-offset, routers,
                       domain-name, domain-name-servers, host-name;                - это то, что клиент будет запрашивать у сервера, вопрос согласится ли с этим сервер??
               require subnet-mask, domain-name-servers;
               script "/etc/dhclient-script";                                                       - непонятно зачем скрипт ? 
               media "media 10baseT/UTP", "media 10base2/BNC";                   - это понятно
           }

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:24:08
kpp
В resolv.conf
автоматом вписываются

Код: Выделить всё

search mouse.ua
nameserver 1.1.1.1
nameserver 2.2.2.2

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:31:45
kpp
send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; - макадрес моей сетвухи
ан нет, это не макадрес...

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:41:17
kpp
Прописал такое:

Код: Выделить всё

timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;

interface "mos1" {
send dhcp-lease-time 3600;
# - указанная опция всегда будет использовать значение даже если сервер DHCP п
supersede routers 10.10.10.1;
#  - тут указываем DNS сервера провайдера
prepend domain-name-servers 1.1.1.1,2.2.2.2;
#  - это то, что клиент будет запрашивать у сервера
request subnet-mask, broadcast-address, time-offset,
            domain-name, host-name;
require subnet-mask;
media "media 10baseT/UTP";
}
на первый взгляд работает, что скажут спецы?

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:43:37
kpp
Смущает строка

Код: Выделить всё

search mouse.ua
вставляемая в resolv.conf при настройках по умолчанию...

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-23 22:51:41
kpp
Не, таки слетает все равно.. через время

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-24 0:13:08
Lycane
Могу предложитЬ костылЬ :)
Пишем в resolv.conf то, что там должно бытЬ чтоб всё работало, залочиваем его от перезаписи. А в крон пихаем скрипт что то типа route add(change) default xx.xx.xx.xx и чтоб выполнялся раз в 3-4 минуты :)

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-24 0:23:35
GRooVE
я же дал рабочий конфиг, ничего лишнего:

Код: Выделить всё

# cat /etc/dhclient.conf
interface "re2" {
        prepend domain-name-servers 127.0.0.1; #Сюда вписываешь DNS сервер(а) своего прова
       script "/usr/local/etc/route.script"; #Этот скрипт выполняется при обновлении DHCP. Можешь сюда нужные маршруты запихнуть
}

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-24 0:40:03
kpp
Lycane писал(а):Могу предложитЬ костылЬ :)
Пишем в resolv.conf то, что там должно бытЬ чтоб всё работало, залочиваем его от перезаписи. А в крон пихаем скрипт что то типа route add(change) default xx.xx.xx.xx и чтоб выполнялся раз в 3-4 минуты :)
Гы.. это слишклм костыльный костыль ;)
GRooVE писал(а):я же дал рабочий конфиг, ничего лишнего:

Код: Выделить всё

# cat /etc/dhclient.conf
interface "re2" {
        prepend domain-name-servers 127.0.0.1; #Сюда вписываешь DNS сервер(а) своего прова
       script "/usr/local/etc/route.script"; #Этот скрипт выполняется при обновлении DHCP. Можешь сюда нужные маршруты запихнуть
}
script "/usr/local/etc/route.script" не выполняется почему-то при обновлении DHCP, выполняется только при

Код: Выделить всё

# dhclient mos1
В скрипте

Код: Выделить всё

#!/bin/sh
/usr/sbin/setfib 1 /sbin/route add default 10.10.10.1

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-25 20:16:06
kpp
В принципе победил.
Но есть еще одна проблема.
После перезагрузки этот канал в инет надо долго раскочегаривать... не пойму что не так
в rc.conf

Код: Выделить всё

ifconfig_mos1="DHCP"
dhclient.conf

Код: Выделить всё

interface "mos1" {
prepend domain-name-servers 1.1.1.1,2.2.2.2;
script "/etc/dhclient-script";
}
dhclient-script

Код: Выделить всё

#!/bin/sh
/usr/sbin/setfib 1 /sbin/route delete default
/usr/sbin/setfib 1 /sbin/route add default 10.1.1.1
После перегруза инета через этот канал нет, Ип-адрес не присвоен, при перегрузке матюки что 10.1.1.1 недоступен.
Приходится руками делать

Код: Выделить всё

ifconfig mos1 inet 10.1.1.2
dhclient mos1
ifconfig mos1 down
ifconfig mos1 up
И даже так не сразу начинает работать... :shock:
Но если уже заработало - не отпадает - проверял всю ночь :cz2:
Подскажите куда копать??

Re: Провайдер выдает инет через DHCP - слетает default route

Добавлено: 2009-10-26 0:42:17
FenX
после запуска dhclient`а, последний начинает мониторить default маршрут, ip на заданном интерфейсе
и днсы в resolve.conf
как только происходит ручное изменение чего-либо из выше перечисленного - dhclient отваливается, считая что юзер сам будет всё мониторить.

попробуй просто:

Код: Выделить всё

$ cat /etc/dhclient.conf
......
interface "mos1" {
        send dhcp-lease-time 31536000; # 31536000 seconds = 1 year
        request subnet-mask, broadcast-address, time-offset, routers, domain-name-servers;
        require subnet-mask, domain-name-servers;
}
т.е. фактически запросить от сервера инфу не на 1 час (3600), а на год :)
чтобы след. запрос сервер послал либо после ребута, либо после года простоя :)))