Vopros k Linux guru

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Evgen
Частый Гость
Сообщения: 26
Зарегистрирован: 27 дек 2005, 08:09
Откуда: Coquitlam BC

Vopros k Linux guru

Сообщение Evgen »

Rabotayu s Linux 2.4 (embedded SnapGear distribution). Problema s dhclient. Esli zapuskayu dhclient from command line (root) - vsio prekrasno rabotaet: DISCOVERY->OFFER->REQUEST->ACK. Poluchayu IP from dhcp server bez problem.
Kogda zapuskayu dhclient from rc script (poslednaya stroka v rc file), to dhclient posilaet DISCOVERY, a OFFER ot servera ne poluchaet. Na sniffer (Ethereal) ya viju oba packeta DISCOVERY and OFFER (both correct).
Snachala dumal chto eto timing issue, tipa interface ne uspevaet init. zakonchit k momentu zapuska dhclient. Vstavil v rc script delay:

rc:
.
.
.
ifconfig ix0 up
sleep 10
dhclient ixp0


Ne pomoglo. OFFER gde-to propadaet v nedrah Linuxa. U kavo kakie ideas? Zaranee blagodaren.
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Re: Vopros k Linux guru

Сообщение ajkj3em »

script под root'ом ?

dhcp clients обычно с raw/ip sockets работают, может этот конкретный
не обрабатывает ошибки открытия сокетов (типа EACCESS).
oblom
Читатель
Сообщения: 10786
Зарегистрирован: 20 фев 2003, 22:04

Сообщение oblom »

a tochno u tebia interface podnimaetsa ot etogo scripta?
Аватара пользователя
Evgen
Частый Гость
Сообщения: 26
Зарегистрирован: 27 дек 2005, 08:09
Откуда: Coquitlam BC

Сообщение Evgen »

script pod root.
interface podnimaetsia, naprimer ping rabotaet bez problem:

ifconfig ixp0 192.168.15.14 up
sleep 10
ping 192.168.15.1

proveril vse calls to socket(), bind(). Vezde est return code checking tipa:
if((sock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP)) < 0)
printf("error...");
Аватара пользователя
Evgen
Частый Гость
Сообщения: 26
Зарегистрирован: 27 дек 2005, 08:09
Откуда: Coquitlam BC

Сообщение Evgen »

Ok gentleman, zarabotalo :D
Delo bilo v LPF (Linux Packet Filter)

dhclient sent/received packets on LPF. Vsio chto ya sdelal - eto rezcomentiroval /* #define USE_SOCKETS */, posle chevo dhclient stal posilat cherez "sockets".

Chto konkretno bilo s LPF ne tak ya ne znayu. Skorei vsevo filter bil not initialized (pochemu-to?).
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Evgen писал(а):Ok gentleman
какой из нас ? :-) gentlemen или хотя бы gentlemans

так а почему собственно из скрипта не работало понятно стало ?
Аватара пользователя
Evgen
Частый Гость
Сообщения: 26
Зарегистрирован: 27 дек 2005, 08:09
Откуда: Coquitlam BC

Сообщение Evgen »

ne neponiatno :oops: No kopatsia jutko ne ohoto...
Ответить