Петак, Новембар 17, 2006

dhclient: недовршена посла, или о нелогичним инструкцијама у скрипти

Ако имате Линукс на лаптопу, или било којој машини која мења место, овај текст може бити од користи.


Прецизније, уколико користите вашу Линукс машину бар у два различита мрежна окружења, где су IP адресе додељене на два различита начина, динамички и статички, шансе су да ћете се суочити са описаним проблемом.


Претпоставимо да у мрежи А немате DHCP сервер. Стога сте статички исконфигурисали вашу мрежну карту. Један од услова да изађете на Интернет јесте да у конфигурацији имате и адресу рутера (default gateway) који вас везује за Интернет.


У мрежи Б желите да преузмете IP адресу динамички и у ту сврху највероватније користите dhclient, замену dhcpcd-а.


Сјајно, ради се о елегантној еволуцији старијег програма. Нови клијент, dhclient, је лепо осмишљен јер је програмски део подељен у два дела: сам бинарни фајл dhclient (садржи константи део протокола) и скрипте dhclient-script. То значи добра портабилност.


Одлично. Само што у наведеном контексту, без додавања или одузимања линија, ствар не ради.


Наиме, динамичка конфигурација се лепо распита за IP адресу ваше мрежне карте, узме и адресу(е) DNS сервера, али заборави на адресу рутера.


Ех да, уколико постоји статичка конфигурација рутера (сценарио А), скрипта преузме све податке од DHCP сервера осим те једне адресе преко које шаљете све ваше пакете у свет.


Зашто баш та адреса GATEWAY=N.N.N.N, статички подешена једнако као и друге информације, представља проблем скрипти да динамички преузме нову адресу рутера?


Као прво краткорочно решење, користите команду: route add default gateway n.n.n.n

n.n.n.n стоји за IP адресу рутера (пример: 10.0.0.254).


Друго решење, поставите DHCP сервер.


За информацију, старији клијент dhcpcd је функционисао коректно: када се узима динамичка конфигурација, СВЕ информације из статичке конфигурације картице (ниво мреже) се игноришу.

dhcp [Одговори]

xmm... nisam probao dhclient :) verovatno je na ovom rh-u 6 :) poprilicno stari dhcpd ... doduse secam se da sam za diskless koristio jos bootp protokol ;) ALi nisam siguran da sam najbolje shvatio problem iz tvog opisa. Ruter je RUTER ili kompjuter koji glumi ruter? Mozda ima negde u dhclientu da se definise ruter..?

Comment by dmc (11/18/2006 00:51)

RE: DHCP [Одговори]

mislis na dhcpCd ;)
Auh, posle toliko teksta (ako si pazljivo citao) nije ti bas ohrabrujuci komentar.
1) Ruter je ruter.
2) Problem je da ako si dao IP adresu tvog rutera (na pr. pod RH, u fajlu
/etc/sysconfig/network-scripts/ifcfg-ethX :
GATEWAY=N.N.N.N),
onda onog trenutka kada probas da uzmes sve podatke od DHCP servera sa komandom dhclient ethX, adresa novog rutera (uglavnom DHCP servera) nije uzeta u obzir - a to samo zato sto imas GATEWAY=N.N.N.N . Glupo, ne ?

Comment by veljko (11/18/2006 02:24)

Додај коментар

Додај коментар





Запамти ме