четвер, 5 квітня 2012 р.

Проблема с dhclient'ом для подключения к провайдеру

В один прекрасный день наш провайдер перешел на авторизацию с DHCP.

То есть авторизация идет по MAC адресу, тебе выдаются нормальные настройки если он коректен или выдается ip 10.x.x.x с доступом в только клиентский центр.

 Напомню я использую Linux (дистрибутив Fedora) и проблем как таких не возникало - DHCP так DHCP, подключался нормально.

Но одним чудным февральським днем я никак не мог подключится к и-нету. Видимо руки наших "одминов" с малым радиусом кривизны добрались до DHCP сервера.

В общем неважно. Факт в том что подсоединиться к и-нету я никак не мог а точнее я не мог получить ответ DHCP сервера. Можно было увидеть

# dhclient eth0  -v
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 11
...
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12
No DHCPOFFERS received.
No working leases in persistent database - sleeping.


через 2 дня все заработало нормально, а через время таже фигня.

ИЧСХ при этом на FreeBSD и на Windows все работало нормально.

ИЧСХ2 при неправильном МАС адрессе сетевой карты я спокойно получал ответ сервера DHCP.

 

Не сильный в премудростях DHCP я пошел гуглить. Что то с первого захода урожай был мал и воз остался там же. Еще и как показало будущее не проанализировал как следует дампы :(

Но второй заход оказался удачным.

Причина оказалась банальна и проста:

microsoft dhcp клиент когда отправляет широковещательный запрос  указывает в запросе параметр dhcp-client-identifier как "01макадрес_карты" (Option 61). ИЧСХ фряха туда же.

линуксовый dhclient по умолчанию так не делает.

Крепко выругавшись несколько раз  исправляю ситуацию редактируя конфиг dhclient'a (/etc/dhcp/dhclient.conf он у меня был пуст)  добавляю строку:
send dhcp-client-identifier 01:00:26:XX:XX:XX:XX;

где "01" префикс, а 00:26:XX:XX:XX:XX - МAC карты.

Ну и повторяем попытку

dhclient eth0 -v
...
Listening on LPF/eth0/00:26:xx:xx:xx:xx
Sending on   LPF/eth0//00:26:xx:xx:xx:xx
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPOFFER from x1.x2.x3.x4               #dhcp cервер ответил
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from x1.x2.x3.x4
bound to y1.y2.y3.y4  -- renewal in 33384 seconds.  # я получил свой ip

Бинго!


Чтиво по теме и источники инфы:
http://forum.radeon.ru/viewtopic.php?p=591530 - тут было увидено то что я искал :)
http://www.opennet.ru/tips/info/2539.shtml - в общем мало касается сабжа, но тоже инструкция для работы с кривыми провайдерами (по ссылке для Beeline/Corbina)

RFC стандарты
http://tools.ietf.org/rfc/rfc1497 - RFC 1497
http://tools.ietf.org/rfc/rfc1533 - RFC 1533
http://tools.ietf.org/html/rfc1534 - RFC 1534
http://tools.ietf.org/html/rfc2131 - RFC 2131 (std1)
http://tools.ietf.org/html/rfc2132 - RFC 2132 (std1)
http://tools.ietf.org/html/rfc3315 - RFC 3315 (ipv6)
http://tools.ietf.org/html/rfc3397 - RFC 3397
http://tools.ietf.org/html/rfc4361 - RFC 4361
http://tools.ietf.org/html/rfc4388 - RFC 4388
http://tools.ietf.org/html/rfc6148 - RFC 6148

http://www.networksorcery.com/enp/protocol/bootp/options.htm  - опции в виде листа
http://technet.microsoft.com/en-us/library/cc977367.aspx - "в ногу со временем"

1 коментар:

  1. Thanks for sharing, nice post! Post really provice useful information!

    Giaonhan247 chuyên dịch vụ vận chuyển hàng đi mỹ cũng như dịch vụ ship hàng mỹ từ dịch vụ nhận mua hộ hàng mỹ từ website nổi tiếng Mỹ là mua hàng amazon về VN uy tín, giá rẻ.

    ВідповістиВидалити