Jump to content

Новая сборка СТГ 2.4


Recommended Posts

  • Replies 545
  • Created
  • Last Reply

Top Posters In This Topic

  • 2 weeks later...

to madf:

для rlm_radius

 

AnsPacket.AddAttribute(RadiusAttr(ServiceType,2));

AnsPacket.AddAttribute(RadiusAttr(FramedProtocol,1));

AnsPacket.AddAttribute(RadiusAttr(FramedIPAddress,ntohl((ui->property.ips.Get()[0]).ip)));

// AnsPacket.AddAttribute(RadiusAttr(FramedIPNetmask,"255.255.255.0"));

AnsPacket.AddAttribute(RadiusAttr(FramedMTU,1496));

AnsPacket.AddAttribute(RadiusAttr(FramedCompression,1));

AnsPacket.AddAttribute(RadiusAttr(FramedRouting,3));

 

нечто похожее необходимо чтобы оно с циской работало.

Link to post
Share on other sites
to madf:

для rlm_radius

 

AnsPacket.AddAttribute(RadiusAttr(ServiceType,2));

AnsPacket.AddAttribute(RadiusAttr(FramedProtocol,1));

AnsPacket.AddAttribute(RadiusAttr(FramedIPAddress,ntohl((ui->property.ips.Get()[0]).ip)));

// AnsPacket.AddAttribute(RadiusAttr(FramedIPNetmask,"255.255.255.0"));

AnsPacket.AddAttribute(RadiusAttr(FramedMTU,1496));

AnsPacket.AddAttribute(RadiusAttr(FramedCompression,1));

AnsPacket.AddAttribute(RadiusAttr(FramedRouting,3));

 

нечто похожее необходимо чтобы оно с циской работало.

 

ServiceType, FramedProtocol,FramedMTU,FramedCompression,FramedRouting элементарно добавляются секцией DEFAULT модуля files.

FramedIPAddress добавляется существующим модулем в секции postauth.

Just try...

Link to post
Share on other sites
..... элементарно добавляются секцией DEFAULT модуля files.

FramedIPAddress добавляется существующим модулем в секции postauth.

Just try...

 

Согласен, но не красиво это. И в реализации и идеологически.

Самое "опрятное" решение мини радиус сервер в формате модуля, может имеет смысл точить в эту сторону ?

Link to post
Share on other sites
Согласен, но не красиво это. И в реализации и идеологически.

Самое "опрятное" решение мини радиус сервер в формате модуля, может имеет смысл точить в эту сторону ?

Мини-радиус-сервер - велосипед и не-unixway.

Использовать rlm_stg как унифицированый доступ к базе Stg + опциональное управление доступом пользователя, а другие модули радиуса - для соответствующей модификации полей ответа - очень красивое и идеологически правильное решение.

Возможно, я сделаю в следующей версии модуля возможность управлять набором полей ответа. Но уж точно не буду делать свой радиус-сервер. IMHO, глупо это.

Link to post
Share on other sites
Возможно, я сделаю в следующей версии модуля возможность управлять набором полей ответа. Но уж точно не буду делать свой радиус-сервер. IMHO, глупо это.

 

Ок, сделаеш, дай на тесты :rolleyes:

Link to post
Share on other sites

Понадобился консольный конфигуратор, а он не собрался. Выдает следующее:

In file included from main.cpp:39:

/usr/local/include/getopt.h:108: error: declaration of C function `int getopt()' conflicts with

/usr/include/unistd.h:377: error: previous declaration `int getopt(int, char* const*, const char*)' here

gmake: *** [main.o] Error 1

 

система freebsd 6.3

а sgconf_xml выполняется с ошибкой: Missing name for redirect

что бы это значило?

 

....cпустя время....в sgconf_xml после -r всего-то нужно было добавить кавычки (а в хелпе об этом ни-ни...)

Link to post
Share on other sites

stg-2.405.9.8 со своим модулем к фрирадиусу и со стандартными скриптами впн шейпера не хочет приминимать пароль юзера, что там поправить можно?

 

старгазер

radius.cpp > 02:36:12 > RADIUS::RecvData 128 bytes incoming from '127.0.0.1:6667'
	radius.cpp > 02:36:12 > RADIUS::RecvData outerAddrLen = 16
	radius.cpp > 02:36:12 > RADIUS::Decrypt 16 blocks
	radius.cpp > 02:36:12 > RADIUS::ProcessData packet.login = 'test'
	radius.cpp > 02:36:12 > RADIUS::ProcessData packet.service = 'Framed-User'
	radius.cpp > 02:36:12 > RADIUS::ProcessData Authorization packet
	radius.cpp > 02:36:12 > RADIUS::CanAcctService svc = 'Framed-User'
	radius.cpp > 02:36:12 > RADIUS::Send sending packet with magic '0010001test'
	radius.cpp > 02:36:12 > RADIUS::Encrypt 16 blocks
	radius.cpp > 02:36:12 > RADIUS::Send 128 bytes sent len=128

фирадиус

rad_recv: Access-Request packet from host 127.0.0.1:1027, id=73, length=63
	Service-Type = Framed-User
	Framed-Protocol = PPP
	User-Name = "test"
	Calling-Station-Id = "192.168.0.5"
	NAS-IP-Address = 192.168.0.123
	NAS-Port = 0
 Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 2
 modcall[authorize]: module "preprocess" returns ok for request 2
 modcall[authorize]: module "chap" returns noop for request 2
 modcall[authorize]: module "mschap" returns noop for request 2
 rlm_eap: No EAP-Message, not doing EAP
 modcall[authorize]: module "eap" returns noop for request 2
rlm_stg: stg_authorize()
rlm_stg: stg_authorize() user name defined as 'test'
rlm_stg: stg_authorize() request username field: 'test'
rlm_stg: stg_authorize() Service-Type defined as 'Framed-User'
 modcall[authorize]: module "stg" returns updated for request 2
modcall: leaving group authorize (returns updated) for request 2
auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.
Delaying request 2 for 1 seconds
Finished request 2
Going to the next request
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Sending Access-Reject of id 73 to 127.0.0.1 port 1027
Waking up in 4 seconds...

 

впн ошибка 691

Link to post
Share on other sites

auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.

Неправильно настроен FreeRADIUS

Link to post
Share on other sites
auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.

Неправильно настроен FreeRADIUS

конфиги залиты стандартные, там вроде всё нормально настроено

Link to post
Share on other sites
конфиги залиты стандартные, там вроде всё нормально настроено

Но он (FreeRADIUS) же вам человеческим языком говорит - не найдена конфигурация для использованного Auth-Type!

Попробуй сперва добиться авторизации на FreeRADIUS без rlm_stg

Link to post
Share on other sites
  • 1 month later...

Может где-то было - не нашёл.

По поводу bpf пропускающего пакеты. Сегодня озадачился этим вопросом и вот что обнаружил. cap_bpf пропускает пакеты даже на быстрой машине при относительно небольшом количестве пакетов (до 10Kps). Покопавшись в работе bpf, изменил

plugins/capture/ether_freebsd/ether_cap.h следующим образом

 

-#define BUFF_LEN (128)

+#define BUFF_LEN (4096)

Судя по net/bpfstat дропы уменьшились в 3 раза. Судя по тому, что буфер при этом заполнен обычно на 2-3Кб - имеет смысл увеличить ещё.

Также по ходу дела возник вопрос - для чего устанавливается флаг BIOCIMMEDIATE (перед увеличением буфера я его убрал), ведь при нём буфер, фактически, используется для одного пакета и cap_bpf бегает за каждым пакетом.

Link to post
Share on other sites

Тем что нужно тестировать. cap_bpf - старый модуль, архитектурно он сделан так что может принимать не по одному пакету, а пачкой. Но сейчас принимает именно по одному. Почему так сделано - затрудняюсь сказать. По этому нужно тестировать.

Link to post
Share on other sites

Версия - stg-2.405.9.8.src.src

При выполнении ./build выдает следующее:

#############################################################################
   Building STG 2.4 for Linux
#############################################################################
Checking for -lexpat... yes
Checking for -lfbclient... no
Checking for -lmysqlclient... no
Makefile:136: deps: No such file or directory
gmake -C /home/stg-2.405.9.8/projects/stargazer/../../stglibs includes
gmake[1]: Entering directory `/home/stg-2.405.9.8/stglibs'
gmake includes -C stg_logger.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/stg_logger.lib'
cp -p stg_logger.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/stg_logger.lib'
gmake includes -C stg_locker.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/stg_locker.lib'
cp -p stg_locker.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/stg_locker.lib'
gmake includes -C crypto.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/crypto.lib'
cp -p ag_md5.h blowfish.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/crypto.lib'
gmake includes -C common.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/common.lib'
cp -p debug.h stg_error.h common.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/common.lib'
gmake includes -C script_executer.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/script_executer.lib'
cp -p script_executer.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/script_executer.lib'
gmake includes -C conffiles.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/conffiles.lib'
cp -p conffiles.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/conffiles.lib'
gmake includes -C hostallow.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/hostallow.lib'
cp -p hostallow.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/hostallow.lib'
gmake includes -C pinger.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/pinger.lib'
cp -p pinger.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/pinger.lib'
gmake includes -C dotconfpp.lib
gmake[2]: Entering directory `/home/stg-2.405.9.8/stglibs/dotconfpp.lib'
cp -p dotconfpp.h mempool.h /home/stg-2.405.9.8/projects/stargazer/../../include
gmake[2]: Leaving directory `/home/stg-2.405.9.8/stglibs/dotconfpp.lib'
gmake[1]: Leaving directory `/home/stg-2.405.9.8/stglibs'
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
/bin/bash: /usr/bin/g++: Permission denied
deps:1: *** пропущен разделитель.  Останов.

 

 

Подскажите в чем причина. Спасибо!

Link to post
Share on other sites

Ну по моему, все ясно. Permission denied - не хватает прав для запуска g++.

Хотя, если честно, первый раз такое вижу... Что за дистрибутив такой хитрый? Или админ еще более хитрый? :(

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...