eddy_mut Posted May 6, 2006 Posted May 6, 2006 Не замечал было ли раньше такое, но как то обратил внимание почему через только что включенное vpn подключение интернет не пашет, переподключишься - заработает. Полез на сервак разобраться - смотрю, а он мне выдал адрес уже выданный другому клиенту Глюк проявляется без какой либо систематики, случайно. Как бороться может кто подскажет? Система: test-nas# uname -a FreeBSD test-nas.ncv.ru 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May 8 10:21:06 UTC 2005 root@harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 Вот конфиг ppp.conf: test-nas# less /etc/ppp/ppp.conf default: set log Warning pptp: set mtu 1460 set mru 1460 allow mode direct enable lqr set lqrperiod 5 enable echo set echoperiod 5 disable acfcomp protocomp deny acfcomp set server /var/run/ppp/ppp%d "" 0177 enable MSchapV2 enable pap enable chap set ifaddr 10.10.10.10 10.10.10.11-10.10.10.20 255.255.255.255 accept dns set dns 217.150.34.129 217.150.35.129 set rad_alive 10 set timeout 0 set radius /etc/radius.conf Вставить ник Quote
rus-p Posted May 6, 2006 Posted May 6, 2006 Нужно чтоб радиус отдавал не пустое место и не ноль, а конкретный адрес или 255.255.255.254 тем самым ты говоришь ppp выдать адрес присланный радиусом или заданный локально из диапазона 10.10.10.11-10.10.10.20 и не позволять клиенту самому согласоввывать IP адрес подключения. Вставить ник Quote
eddy_mut Posted May 10, 2006 Author Posted May 10, 2006 Позвольте уточнить: если я вышлю радиус сервером av-пару Framed-IP-Address=255.255.255.254, то это будет означать принудительную выдачу адреса из пула самого сервера? Вставить ник Quote
eddy_mut Posted May 10, 2006 Author Posted May 10, 2006 Не помогло. все равно через пару минут работы клиентов на сервере - хоть ктото но получит уже занятый адрес. Это при учете того что никто из абонентов не выставлял в свойствах подключения - запросить адрес указанный на стороне клиента. Вставить ник Quote
ShumBor Posted May 10, 2006 Posted May 10, 2006 1 сколько пользоватетей одновременно сидять? А то может быть пул закончился. 2 закрепить за каждым пользователем свой адрес в радиусе. Вставить ник Quote
eddy_mut Posted May 10, 2006 Author Posted May 10, 2006 1. Адресов в пуле 14. Проблемы проявляются от двух и более сессий. 2. Этого биллинг не умеет. :( буду трясти девелопера. Вставить ник Quote
rkorolev Posted May 11, 2006 Posted May 11, 2006 Скорее всего проблема в этом. Примените патч: --- sys/netinet/in.c.old Mon Sep 5 11:48:29 2005 +++ sys/netinet/in.c Mon Sep 5 11:50:07 2005 @@ -67,6 +67,10 @@ static int subnetsarelocal = 0; SYSCTL_INT(_net_inet_ip, OID_AUTO, subnets_are_local, CTLFLAG_RW, &subnetsarelocal, 0, "Treat all subnets as directly connected"); +static int sameprefixcarponly = 0; +SYSCTL_INT(_net_inet_ip, OID_AUTO, same_prefix_carp_only, CTLFLAG_RW, + &sameprefixcarponly, 0, + "Refuse to create same prefixes on different interfaces"); struct in_multihead in_multihead; /* XXX BSS initialization */ @@ -801,10 +805,17 @@ /* * If we got a matching prefix route inserted by other - * interface address, we are done here. + * interface address, we are done here. If we are + * configured to refuse such configuration, then refuse. */ - if (ia->ia_flags & IFA_ROUTE) - return 0; + if (ia->ia_flags & IFA_ROUTE) { + if (sameprefixcarponly && + target->ia_ifp->if_type != IFT_CARP && + ia->ia_ifp->if_type != IFT_CARP) + return (EEXIST); + else + return (0); + } } /* И вот это net.inet.ip.same_prefix_carp_only=1 в /etc/sysctl.conf Вставить ник Quote
eddy_mut Posted May 11, 2006 Author Posted May 11, 2006 Спасибо. Изменения описанные в патче уже есть в моем исходнике. А вот опцию в sysctl.conf добавил, сейчас буду проверять. Вставить ник Quote
eddy_mut Posted May 11, 2006 Author Posted May 11, 2006 непомогло Может обновить дерево исходников целиком и пересобрать ядро? Вставить ник Quote
rkorolev Posted May 11, 2006 Posted May 11, 2006 У нас стоит на 5.4-STABLE FreeBSD 5.4-RELEASE-p12 FreeBSD 5.4-RELEASE-p12 #0: Fri Mar 10 14:45:02 MSK 2006 Извиняюсь за глупый вопрос... А ты после добавления опции в sysctl перегружался? Или руками выставлял флаг в единичку? Вставить ник Quote
eddy_mut Posted May 11, 2006 Author Posted May 11, 2006 У меня стоят два сервера 5.4 и 6.0. Глюк заметил на более новой версии. Сейчас еще полезу проверять на 5.4. Обновлял только коллекции портов. В ядра добавлял лишь опции, ничего не обновлял в исходниках ядер. FreeBSD test-nas.ncv.ru 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May 8 10:21:06 UTC 2005 FreeBSD test-nas1.ncv.ru 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu May 4 14:39:13 MSD 2006 Опции такой в sysctl.conf у меня не было (в файле вообще опций не было), добавил руками и перезагрузился. Вставить ник Quote
eddy_mut Posted May 11, 2006 Author Posted May 11, 2006 На платформе 5.4 применил патч, пересобрал ядро и прописал опцию в sysctl.conf. Все это с перезагрузками соответственно. Не помогло :( А откуда патч брали? Гдеоб этом почитать. Может сам накопаю еще чего. Я помню есть на каком то сайте типа мантисса что-то для разработчиков FreeBSD. Вставить ник Quote
aap Posted May 11, 2006 Posted May 11, 2006 начните с простого - попробуйте сделать авторизацию без радиуса. Если все работает значит - что скорее всего, дело в радиусе. Смотрите где грабли по его логам. Вставить ник Quote
eddy_mut Posted May 11, 2006 Author Posted May 11, 2006 Но мой радиус не выдает адреса, его функция - лишь авторизовывать пользователей и вести аккаунтинг. Он здесь нипричем. Вставить ник Quote
rkorolev Posted May 12, 2006 Posted May 12, 2006 патч - в fido7.ru.unix.bsd там-же и дискуссия была на эту тему. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.