Integração captive portal + freeradius + postgresql
-
Obrigado Reinaldo….estou vendo o material e pensando como fazer.....
Ate entao nao tinha usado o Freeradius, estou vendo como ele funciona bem....
Ate peguei o modulo: Integração Freeradius ao captive portal e squid da sysquad ( http://sys-squad.com/sys/curso/48), que o marcelo ministra....Ja deu uma boa luz para quem era um zero a esquerda nesse ponto...
Estou pensando em talvez colocar o Freeradius em um servidor separado, de forma que possa alterar as configurações dele e consultar essa base ( so divagação, nao sei como funciona bem ainda)...
Ou talvez um sistema intermediario em php-postgresql que faça a consulta a esse meu sistema existente e copie pra uma tabela com os campos usados pelo freeradius.. tambem so divagação, me parece retrabalho desnessário.... -
Marcos, bom dia!
Eu desenvolvi um monitor em Delphi que faz a leitura em um banco MSSQL(Faculdade) e alimenta o banco do freeradius e outro que lê um banco firebird(Hotel) e alimenta o freeradius.
Os dois sistema estão funcionando a um bom tempo.
-
Reinaldo, eu estava vendo se teria como fazer isso so com o pfsense e o freeradius dele, sem precisar de um sistema intermediario….Mas acho que nao vai rolar....
Eu brinquei com delphi a uns 10 anos atras quando estava no tecnico...rss...depois nao mexi mais.....
Como o sistema e base rodam em windows seria uma opção interessante....fazer um monitor pra ler essa base do postgresql e alimentar o freeradius do pfsense..... 8)
Ando meio enferrujado em programação e desenvolvimento ( mais de um ano afastado disso).....vamos ver o que aparece... ;D -
Atualizando…
Vendo este artigo:
http://www.vivaolinux.com.br/artigo/Freeradius-servidor-radius-eficiente-e-completo?pagina=4Entendi melhor como funciona o freeradius, e como ele autentica numa base de dados.
Pelo visto vou precisar criar um banco de dados com as tabelas do freeradius, e uma aplicação/monitor que leia consulte a minha base postgresl atual, faça o tratamento das variaveis e alimente a base usado pelo freeradius.
Onde o username do freeradius vai ser o campo cpf da minha base e o passawrd o campo registro. -
Bom, fiz um pouco diferente. Criei uma vm basica com apache-php-mysql, criei a base do freeradius no mysql (usei o exemplo que vem no pacote do freeradius do centos), e um script que consulta a base postgres e insere os dados nessa do freeradius do mysql ( depois de pronto coloco o codigo aqui).
Tenho o pfsese 2.2.24 64 bits, instalei o pacote do freeradius, mas ele nao inicia…vi nos logs esses erros:
ep 16 12:48:47 radiusd[18985]: Failed to load virtual server <default>Sep 16 12:48:47 radiusd[18985]: /usr/local/etc/raddb/sites-enabled/default[69]: Errors parsing authorize section.
Sep 16 12:48:47 radiusd[18985]: /usr/local/etc/raddb/sites-enabled/default[185]: Failed to parse "sql" entry.
Sep 16 12:48:47 radiusd[18985]: /usr/local/etc/raddb/sites-enabled/default[185]: Failed to find "sql" in the "modules" section.
Sep 16 12:48:47 radiusd[18985]: /usr/local/etc/raddb/sql.conf[2]: Instantiation failed for module "sql"Lembro de ter visto algo no forum, mas nao consegui achar mais…....</default>
-
Você liberou o msql da vm para receber conexão externas?
-
Ola Reinaldo, liberei sim pois antes de liberar ele dava tambem que nao pode conectar ao servidor mysql root@ip…etcc...
Depois que liberei ficou esse erro ainda.... -
No seu MySql tem a tabela NAS? Se não tiver a tabela NAS tem duas soluções, ou vc cria ela pelo script da pagina do projeto freeradius ou desmarque a opção cliente na Guia SQL do FreeRadius.
-
Humm…vou ver se tem essa tabela, usei o /etc/raddb/sql/mysql/schema.sql da instalação do freeradius de um centos para criar as tabelas no mysql.....
-
Ola Reinaldo, agora que consegui retomar isso.
Nao tem a tabela NAS
as tabelas que tenho no banco radius:
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radpostauth |
| radreply |
| radusergroupQue sao as tabelas do schema.sql
Agora usei
mysql> SOURCE /etc/raddb/sql/mysql/nas.sqlE criou a tabela nas….
Vamos ver se agora vai.... -
Ajustes feitos…foi agora...
Detalhe, o campo: attribute da tabela radcheck precisa ser colocado como User-PasswordEstou sem o script aqui, depois coloco ( sao so umas 10 linhas de php)