Este é meu segundo artigo, talvez esteja mais para dica, mas quero deixar aqui uma situação inusitada que aconteceu comigo quando eu precisei montar um sistema autenticado para um cliente aqui, passei dias estudando até chegar neste ponto. É simples e bem personalizável.
radtest >> utilitário para testar login do freeradius
"John Doe" >> usuário que habilitamos anteriormente
hello >> senha do usuário
localhost >> maquina ou IP onde de encontra o servidor de radius
1812 >> porta onde está escutando
testing123 >> palavra secreta do freeradius
Neste ponto é de extrema importância o retorno dos testes, pois sem eles não estiverem 100%, revise todo o conteúdo.
Agora vamos fazer ficar interessante nosso servidor, vamos criar o banco no mysql:
# mysql -p
Enter password: "sua.senha.de.root.mysql"
mysql> create database radius;
mysql> GRANT ALL PRIVILEGES ON radius.* TO 'seu.user.radius'@'localhost' IDENTIFIED BY 'sua.senha.para.user.do.radius';
mysql> FLUSH PRIVILEGES;
mysql> quit
Agora edite o arquivo /etc/freeradius/sql.conf:
server = "localhost"
login = "seu.user.radius"
password = "sua.senha.para.user.do.radius"
Descomente esta linha:
readclients = yes
Salve!
Edite o arquivo /etc/freeradius/clients.conf e mude a string "secret", muito importante este ponto para a segurança do seu servidor.
secret = "sua.palavra.secreta"
Edite agora o arquivo /etc/freeradius/sites-enabled/default e altere da seguinte forma:
authorize { #files
sql
}
accounting {
sql
}
session {
sql
}
Salve!
Aqui está o pulo do gato da configuração, no Freeradius 2.X.x temos que editar o arquivo /etc/freeradius/radiusd.conf e descomentar a linha:
$INCLUDE sql.conf
Então descomente e salve o arquivo.
Vamos importar as tables para o mysql trabalhar:
# mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
Enter password: "sua.senha.de.root.mysql"
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
Enter password: "sua.senha.de.root.mysql"
Vamos cadastrar um usuário:
# mysql -p
Enter password:"sua.senha.de.root.mysql"
mysql> use radius;
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('usertemp', 'Password', 'senhatemp');
mysql> quit
Vamos testar e ver se esta OK! Reinicie o Freeradius e o MySQL com:
[2] Comentário enviado por msantoro em 09/08/2010 - 16:58h
Tenho usado o Mikrotik para trabalhar como Hotspot em minha rede... ele tem dado conta do recado muito bem por aqui... mas com ctz vou estar testando esta solução proposta por vc... Parabens pela contribuição...
Opção invalida
Deixei certificado padrão ate ai tudo bem.
E as linhas que pediu para criar no /etc/apache2/sites-available/hotspot
esta dando esse erro no restart do apache:
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Pesquisei sobre erro e ate achei algo mas não funcionou,porem quando eu coloco as linhas do arquivo default do apache fica normal mas nao aparece pagina de login.Me ajuda por favor.Valeuuu
Cara à respeito do erro do apache, apesar de não influenciar em nada, tem uma linha no arquivo hotspot lá chamada "ServerName 192.168.5.1", ai vc coloca o mesmo IP que você colocar na opção "HS_UAMLISTEN" do arquivo de configuração do chilli.
--------------------------------------------------------------------------------------------------------------------
e sobre não aparecer pagina de login você tem que testar para ver se abre "https://ip.do.servidor" se abrir blz, se não de uma olhada no conteúdo, e também não esqueça disso, a faixa de rede que você usar no chilli tem que ser diferente da faixa usada no ethX onde o chilli ta escutando.
[5] Comentário enviado por ajsg em 19/08/2010 - 02:10h
amigo, gostei muito do artigo, fiquei implementando ele no ubuntu server, deu tudo certo, com exceção do teste do freeradius que precisa ser com 127.0.0.1 e não localhost que dá erro no ubuntu na função udpfromto.
mas o meu problema maior foi no final, o teste de auntenticação, emulei via virtual box e tá tudo funcionando, se coloco ip na estaçao ela pinga para o server e vice versa, mas ele não mostra a página web de autenticação, poderia me ajudar?
ah, se tirar o ip da estação ele não recebe o ip por dhcp do chilli, tem alguma dica?
[8] Comentário enviado por ajsg em 23/08/2010 - 16:58h
ola andfeh, acabei de fazer o teste e tudo na mesma, deu certo o teste do acceept no mysql e a palavra secreta estava na linha do arquivo. Mas mesmo assim continua o erro. Se puder ver mais alguma coisa me avisa, estou pesquisando por aqui também.Abs,
[10] Comentário enviado por ademirdorneles em 24/08/2010 - 12:51h
Olá!!
Bom, fiz o passo-a-passo e me deparei com a seguinte situação, o pc cliente recebe o ip via dhcp tudo certo, porém não redireciona para a página de login! onde pode estar o erro? revisei e aparentemente não encontrei nada diferente doque vc passou no artigo!
[13] Comentário enviado por wagner_guitar em 22/10/2010 - 16:49h
Nao tou conseguindo fazer aqui estou confuso com esses ip.para.chilli.atuar e faixa.chilli.
Estou fazendo num cenario de teste com virtualbox e a maquina esta com uma placa em modo bridge e outra numa rede interna.
Ate aqui deu tudo certo >>""radtest usertemp senhatemp localhost 1812 "sua.palavra.secreta" ...""
Criei um cliente xp com a placa na rede interna do Vbox e no browser nao consigo ver a pagina de login, e se eu digitar o ip que esta na interface interna do hotspot aparece a pagina do apache (It's work)
[14] Comentário enviado por andfeh em 29/10/2010 - 09:38h
wagner_guitar, o esquema do "ip.para.chilli.atuar" é um ip diferente da faixa que tu setou na eth da rede interna, por ex., se tu colocou o ip 172.16.16.1 na eth onde tem os clientes, vc tem que colocar um ip de outra faixa pro chilli atuar, ex.: 193.193.193.1 e "faixa.chilli"= 193.193.193.0.
[15] Comentário enviado por mau_smo em 22/11/2010 - 10:52h
Olá pessoal,
Segui o artigo, mas estou com problema na hora de autenticar na página de autenticação, "ChilliSpot Login Failed".
Na linha de comando consigo autenticar com o comando radtest.
O cliente que coloco na interface de LAN, pega configuração ip do coovachilli, chega na página de autenticação, mas como falei antes, da falha de login.
Tem outro problema também, se no cliente eu coloco no browser por ex.: www.terra.com.br, da timeout (não é redirecionado para a página de login, mas se eu coloco
por exemplo: 200.154.56.80, ai sim é redirecionado para a página de login.
[16] Comentário enviado por andfeh em 07/12/2010 - 10:53h
Opa bom dia mau_smo, da uma olhada no teu firewall, isso pode ser o firewall fechando a porta de DNS (53), o esquema de "Login Failed", da uma olhada no arquivo hotspotlogin.cgi, tem aquelas "$uamsecret" tem que ser as mesmas que ta no conf do chilli.
[17] Comentário enviado por viniciuspedra em 02/02/2011 - 22:06h
Olá André! Parabéns pelo seu artigo!
É de grande utilidade e com toda certeza o mesmo já está na minha lista de favoritos, inclusive semana que vem farei uns testes com ele.
Na leitura me surgiu as seguintes dúvidas:
- Como fica o acesso ao MSN? O cliente primeiramente precisa se autenticar para liberar acesso utilizar o msn?
- É possível deixar o cliente com proxy e fixar ip?
Uma dica seria na hora de autenticar o comando em php verificar se determinado usuário está conectando pelo equipamento dele (Endereço MAC) pois caso contrário ele poderá ceder o usuário e senha dele a demais usuários que não tem autorização!
[18] Comentário enviado por ebortolin em 20/03/2011 - 18:41h
Caro!
Seguindo seu tutorial, instalei o coovachilli 1.2.6 com freeradius no slackware 13.1. Me deparei com um problema que nao conseguei resolver ainda. Eu consigo logar o usuario, mas, não consigo fazer navegar.
Existe algo a mais a ser adicionado no config ou no up.sh para que quando o usuario autentique consiga navegar?
[20] Comentário enviado por prgs.linux em 01/05/2011 - 16:39h
Manu otimo tutorial, e so fazendo uma ressalva.... sobre a dica que vc deu...."E não esqueça sempre que tiver dúvidas sobre como funciona consulte o manual do proprietário: Bíblia Sagrada. "
E na palavra que fortaleço meus conhecimentos...
e esta mensagem aparece no browser:
Browser error!
Browser does not support redirect!
o script de compartilhamento está devidamente configurado no servidor, a máquina cliente pinga o servidor e vice-versa, o servidor pinga na internet...
alguém conhece o problema? vlw!
[23] Comentário enviado por andyblessing em 09/12/2012 - 20:21h
Olá efetuei todo o procedimento e retornou o seguinte erro quando reseto o apache:
Syntax error on line 37 of /etc/apache2/sites-enebled/hotspot:
SSLCertificateFile file '/etc/apache2/ssl/apache.pem' does not exist or empty
Action 'configtest' failed.
The apache erros log may have more information.
e se não bastasse quando digito a senha no gnome pra logar ele começa a carregar pisca a tela e volta pra tela de login, já reinstalei o gnome e n funfou.
Estou usando o Debian Squeeze.
Alguem pode me ajudar please.
[24] Comentário enviado por andfeh em 10/12/2012 - 10:25h
Bom dia a todos, antes de mais nada, lembrem-se esse artigo é velho pacas, as técnicas que ensinei aqui ja estão defassadas. Prometo que assim que tiver um tempo, vou fazer um artigo com a versão nova do coova.
[25] Comentário enviado por andyblessing em 31/12/2012 - 17:59h
OLá estou usando o windows7 com Ubuntu12.04, em virtualbox com 2 placas de rede com dhcp na maquina local e dhcp na virtual, e configurei com bridge e permitir tudo no virtual box, fiz todo procedimento descrito no artigo, apenas troquei (ip.para.chilli.atuar) por 192.168.0.1 em todos os arquivos que pedia no artigo,Preciso de configurar ip na placa que distribui internet pra rede? conectei um note na placa de rede do meu pc, com dhcp e nao recebeu ip nenhum e como faço pra administrar o chili pelo navegador , usuarios senhas, e para compartilhar a internet para outro pc.desde já agradeço
[26] Comentário enviado por victormredes em 27/01/2014 - 12:23h
Bom dia
Estou com um problema, quando faço essas alterações, o freeradius não restarta.
Mesmo apenas adicionando o sql dentro das funções abaixo, ou adicionando as funções + comentado o files do authorize e também fazendo pé da letra( excluindo todo contéudo do arquivo e colando as linhas abaixo).
Edite agora o arquivo /etc/freeradius/sites-enabled/default e altere da seguinte forma:
[27] Comentário enviado por andfeh em 27/01/2014 - 15:09h
Boa tarde, seguinte, não é para limpar o arquivo ... apenas configure de modo que fique nessa ordem, por exemplo, na sessão authorize você procura a linha "files" e comenta, e procura a linhas sql e descomenta.
Caso esteja fazendo assim, pode rodar o freeradius em modo DEBUG, para poder analizar aonde esta o problema.
[29] Comentário enviado por tiagopraz em 28/04/2016 - 03:19h
Olá! Sei que este tópico é meio antigo, mas decidi usa-lo para fins de estudos e porque é o melhorzinho sobre o assunto, já que ninguém fez nenhum mais recente, pelo menos de 2013 pra cá.
Seguinte: O meu fica um tempinho na página de carregamento do coova e quando vai para o cgi-bin aparece a mensagem de que o servidor demorou de responder. Então abri o nmap na máquina cliente (windows 7) e coloquei para escanar por portas tcp (no resultado de tudo (intense scan) não aparece nenhuma porta aberta) no intense scan de portas tcp, apareceram as portas 3990 e 4990 tcp open. Tenho um script de firewall no init.d pois utilizava proxy transparente, desativei a linha de forwarding para a porta do proxy e desativei tambem o squid, a unica linha que ficou foi a de compartilhamento de internet. então adicionei as linhas no firewall:
iptables -A INPUT -s 192.168.100.0/255.255.255.0 -i eth1 -j ACCEPT
iptables -A OUTPUT -s 192.168.100.0/255.255.255.0 -o eth1 -j ACCEPT
Coloquei estas linhas para liberar tudo em entrada e saída na interface da rede lan (a interface de internet é a eth0), mas não adiantou.
Acho que até já colocaram aqui o mesmo que está acontecendo comigo:
[30] Comentário enviado por psydark em 28/12/2017 - 23:47h
Fala galera! Tranquilo?
É o seguinte, estou precisando muito por isso pra funcionar, porém o link pra baixar já não funciona mais, alguém aí consegue criar um outro pra baixar?