elias292 Posted March 24, 2013 Хотелось бы плавно поменять платформу, а то что-то предшественник наворотил. В общем, есть сервер pppoe, он работает, пытаюсь поставить свой, только для своих, и возник вопрос: как заставить в linux -е стандартный pppoe-server игнорировать запросы на подключение с пустым service name ? А то у меня сервер быстрый, но не настроеный, и отвечает быстро, и все на него вешаются, что мне совсем не надо пока. Всякие обходные решения не надо, только такое: игнорировать запросы с пустым rp_pppoe_service Ну или таймаут какой сделать, но это не очень хорошо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted March 24, 2013 По-моему достаточно указать непустой service name(-S) при запуске pppoe-server Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
elias292 Posted March 24, 2013 По-моему достаточно указать непустой service name(-S) при запуске pppoe-server Да да! Я тоже так думал, НО: -S name Offer a service named name. Multiple -S options may be specified; each one causes the named service to be advertised in a Ser- vice-Name tag in the PADO frame. The first -S option specifies the default service, and is used if the PPPoE client requests a Service-Name of length zero. т.е. -S это просто то что сервер pppoe подставляет. если приходит клиент с пустым Service-Name. Я так думаю, что можно попробовать iptables -ом это дело фильтровать... Если совсем все плохо будет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted March 24, 2013 (edited) Не совсем так. Service name у сервера, это то что он в итоге предложит клиенту. И если клиент запрашивал не тот, связь установлена не будет, по крайней мере клиент с указанным SN не соединяется с 'пустым' сервером. Попробуйте, хотя вам это похоже не поможет. А как авторизация идет? Если файлами через /etc/ppp/xx_secret - там этот самый нейм можно прописать и оно работает. Edited March 24, 2013 by kayot Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
elias292 Posted March 24, 2013 (edited) все клиенты не заморачиваются с сервиснеймом, и запрашивают пустой. т.е. первый же pppoe сервер попытается их подключить. авторизация через радиус, и еще с билинга скрипты запускаются, которые лезут на NAS сервер и чего-то пытаются подправить. Уже когда клиент подключился. Я ж говорю, человек до меня был с фантазией. т.е. вот оно подключило клиента, авторизовало его, а потом с биллинга влезает скрипт и на интерфйсе клиента правит скорость. Есессно, мой сервер таких вольностей не позволяет, и скорость не выставляется. Пока разберусь хотелось бы, чтобы он пускал в себя только тех, кто сказал правильное service name, в смысле тестовое. Edited March 24, 2013 by elias292 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ktoto Posted March 24, 2013 авторизация через радиус Так проверяйте радиусом с какого NAS запрос идет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Shiva Posted March 24, 2013 А убрать из абонентского VLAN религия не позволяет? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
elias292 Posted March 24, 2013 Так проверяйте радиусом с какого NAS запрос идет. И клиент получит ошибку 691, хотя всего-то надо, чтобы тестовый НАС не отвечал на запросы. А убрать из абонентского VLAN религия не позволяет? Уже убрал, но я же сказал чего мне надо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted March 25, 2013 Предшественника обхаять вы поторопились, а сами банальную задачу (для сисадмина) решить не можете. А решается просто: в rp-pppoe например: pppoe-server.c } else { // Комментируем тут //ok = 1; /* No Service-Name tag in PADI */ } Изменение не тестировал. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
elias292 Posted March 25, 2013 Комментировать надо не только там, но еще тут: //ok = 1; /* Default service requested */ Но вообще, прикольная это штука, pppoe, т.е. если клиент запрашивает любой Service Name мой сервер все равно на него ответит, но укажет свой, и уже сам клиент должен решить будет ли он подключатся или как. мда. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...