Hotspot com Ubuntu Server 11.04 32-Bits

Configuração de um servidor Hostspot com o Ubuntu Server 11.04 praticamente do zero.

[ Hits: 86.757 ]

Por: Eduardo Vit'Angelo em 23/08/2011


Configurações



Configuração do freeradius

Agora vamos configurar o freeradius:

#  nano  /etc/freeradius/clients.conf

Dentro da sessão "cliente localhost {", troque a senha da linha secret conforme o exemplo:

secret       = minhasenharadius

Edite o arquivo /etc/freeradius/sql.conf, alterando os parâmetros:

server =
login =
password =   ( aqui você coloca a senha do mysql fornecida durante a instalação do mysql)

# nano etc/freeradius/sql.conf
        server = "localhost"
        login = "root"
        password = "xxxx"

No arquivo /etc/freeradius/sites-available/default, descomente as linhas sql dentro das sessões "authorize {"    e  "accounting {":

# nano /etc/freeradius/sites-available/default

authorize {
          sql
}

accounting {
         sql
}

No arquivo /etc/freeradius/radiusd.conf descomente a linha #$INCLUDE sql.conf:

# nano /etc/freeradius/radiusd.conf

$INCLUDE sql.conf

Criação do banco de dados

Agora vamos criar o banco de dados do radius no mysql:

# mysql -p

Entre com a senha do mysql e digite os seguintes comandos:

mysql> CREATE DATABASE radius;
mysql> exit

Com o banco de dados criado vamos criar as tabelas necessárias:

# mysql -p radius < /var/www/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql

Configuração do daloradius

Modifique o arquivo /var/www/daloradius/library/daloradius.conf.php:

# nano /var/www/daloradius/library/daloradius.conf.php
$configValues['CONFIG_DB_PASS'] = 'xxxx';  // aqui você coloca a senha do mysql
$configValues['CONFIG_DB_NAME'] = 'root';
$configValues['CONFIG_DB_TBL_RADUSERGROUP'] = 'radusergroup';


No arquivo /var/www/signup-free/index.php troque "User-Password" por "Cleartext-Password" e troque "==" por ":=" :

# nano /var/www/signup-free/index.php
$sql = "INSERT INTO ".$configValues['CONFIG_DB_TBL_RADCHECK']." (id, Username, Attribute, op, Value) ".
    " VALUES (0, '$username', 'Cleartext-Password', ':=', '$password')";


E vamos preparar o daloradius para comunicar com o chillispot:

# nano /var/www/hotspotlogin/hotspotlogin.php

Troque a senha na linha abaixo:
$uamsecret = "uamsecret";
Página anterior     Próxima página

Páginas do artigo
   1. Fazendo as instalações
   2. Configurações
   3. Testando e Finalizando
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Transmissão de dados via telemetria: uma opção de comunicação remota

EyeOS - Mini Sistema Operacional nas Nuvens

Network Mapper - Nmap

Emuladores para seu sistema operacional

BOINC - Computação distribuída e aplicações científicas

  
Comentários
[1] Comentário enviado por removido em 23/08/2011 - 10:18h

Gostei. Vou testar !

[2] Comentário enviado por wagnerfs em 23/08/2011 - 12:51h

Muito bom. Vou testar assim que chegar em casa.

[3] Comentário enviado por magnored em 24/08/2011 - 10:10h

configurei td de acordo com o tuto...
porem qdo eu entro no http://192.168.1.192/daloradius e digito o login e senha
ele fica numa tela em branco http://192.168.1.192/daloradius/dologin.php


uso o centos 6 x86,...o que sera q pode ser?

os serviços mysqld, httpd e radiusd estao rodando perfeitamente sem erros

[4] Comentário enviado por edu.vitangelo em 24/08/2011 - 10:39h

magnored, o tutorial trata de uma instalação a partir do ubuntu. não tenho conhecimento em centos, porem no tuto o endereço para acesso do daloradius é https://192.168.182.1/daloradius/ em https e não o http://192.168.1.192/daloradius/. da uma conferida nas suas configuracoes.....
Eduardo

[5] Comentário enviado por magnored em 24/08/2011 - 10:44h

respondendo pra mim mesmo...
tive q instalar o repositorio EPEL no Centos para instalar o php-db, agora funcionou

[6] Comentário enviado por fabianomoura em 29/08/2011 - 08:51h

Ola Amigo,

fiz conforme descrito no artigo e funcionou perfeitamente, mais tenho um problema.... na tabela radius "radacct" nao esta registrando o acesso dos usuarios, alguma noção do que possa ser?

[7] Comentário enviado por fabianomoura em 29/08/2011 - 10:42h

falha minha, descobri o erro, pulei o passo
accounting {
sql
}


[8] Comentário enviado por iamloco em 30/08/2011 - 12:13h

tenho uma duvida testei até a parte do site do https://192.168.182.1/daloradius/ deu tudo ok, criei o user joao e senha 123 e testei deu accept ok

porém tranquei na parte do pppoeconf, o meu modem já está configurado em pppoe tem necessidade de configurar o pppoe do ubuntu? e não tem como deixar ip statico na eth0 como 192.168.1.100 (q é o ip da rede) e eth1 192.168.10.1 e apartir dae espalhar ip's?

[9] Comentário enviado por edu.vitangelo em 31/08/2011 - 22:14h

tem sim iamloco, basta vc configurar a eth0 ou por ip estatico ou por dhcp. configurei como pppoe porque pretendo logar a navegacao no squid de modo transparente, lembre-se de mudar a regra do firewall,
um detalhe que nao coloquei no tuto, foi carregar o ipforward . ou no proprio firewall, ou no sysctl.
abraços

[10] Comentário enviado por edu.vitangelo em 31/08/2011 - 22:20h

estou desevolvendo um hotspot baseado somente em php, javascript e mysql. muito mais simples e totalmente em portugues, logo logo to publicando aqui, como o meu forte nao é desenvolvimento web, serão telas simples, por isso vou contar com vcs para melhorar o projeto, abraços

[11] Comentário enviado por edu.vitangelo em 01/10/2011 - 14:18h

o sistema em php já está bem adiantando
utilizei o debian 6
primeiro instalei o apache, php5, mysql e o phpmyadmin.
adcionei a seguinte linha no /etc/apache2/ports.conf

Listen 12000

no arquivo /etc/apache2/sites-enabled/000-default mudei o NameVirtualHost *:80 para NameVirtualHost * e <VirtualHost *:80> para <VirtualHost *> restartei o apache e testei pelo navegador http://localhost:12000
como resultado abriu a pagina de teste do apache.

instalei o pacote udhcpd e configurei no /etc/udhcpcd.conf:
start 192.168.192.2 # a placa de rede local sevidor é 192.168.192.254
end 192.168.192.20
opt dns 192.168.192.254 # o bind9 esta instalado no servidor como cache
option subnet 255.255.255.0
opt router 192.168.192.254
option lease 864000

inseri a linha /etc/init.d/hotspot no arquivo /etc/rc.local antes da linha exit 0
criei o arquivo /etc/init.d/hotspot:
interna = eth0 # minha placa de rede interna
externa = eth1 # minha placa de rede externa
# zera as regras
iptables -X
iptables -F
iptables -t nat -X
iptables -t nat -F
# carrega o modulo do kernel
modprobe iptable_nat
var=1
contador=2 # o 2 se refere ao primeiro ip fornecido pelo udhcpd
until [$var = "0"]; do
maquina="192.168.192.$contador"
echo -n $maquina
echo " redirecionando para o hotspot"
iptables - t nat -A PREROUNTING -s $maquina -p tcp --dport 80 - j REDIRECT --to-port 12000
if [$contador = 20]; then
var =0
fi
count = 'expre $contador +1 '
done

iptables -t nat -A POSTROUTING -o $externa -j MASQUERADE

exit 0


e tornei o aquivo executável chmod a+x /etc/init.d/hotspot

fiz o teste , conectei uma estacão ao servidor , reiniciei os serviços udhcpd apache e rc.local
ao tentar navegar pela estação foi apresentada a pagina inicial do apache. blz primeira parte pronta
agora onde eu sofro desenvolver a parte web.




[12] Comentário enviado por edu.vitangelo em 01/10/2011 - 15:07h

com o phpmyadmin crie um banco de dados nomeado com hotspot
criei uma tabela com o nome usuarios com os campos id (autoincrement) nome(varchar,255) senha(varchar,255) nivel (varchar,10)
inseri os valores adminstrador senhaadm e adm nos campos nome, senha, nivel respectivamente
criei uma pagina em php em /var/www nomeada admin.php, onde posso cadastrar usuarios do sistema

<?
$senha = $_POST['senha'];
$usuario = $_POST['usuario'];
if ($_POST['usuario']){
$mysql_id =mysql_connect('localhost', 'root', 'senha do root no mysql');
$bd = mysql_select_db ('hotspot', $mysql_id) ;
$result = mysql_query(SELECT * FROM usuarios where nome = '$usuario' and senha = '$senha');
$number = mysql_num_rows($result);
if ($number == 0){
echo '
<form action = "#" method = "post">
LOGIN incorreto
<br>
NOME: <input type="text" name="usuario" value="">
<br> SENHA: <input type=password name="senha" value="">
<br> <input type="submit name="submit" value="Enviar">
</form>
';
}else{
while ($x mysql_fecth_row($result)){
if ($x[3] == 'adm'){
$validar = 2;
session_start();
$_SESSION['user'] =$usuario;
$_SESSION['senha'] =$senha;
$_SESSION['validacao'] =$validar;
echo ' <meta http-equiv="refresh" content="1 ;url=cadfun.php">';
}else{
$validar = 1;
session_start();
$_SESSION['user'] =$usuario;
$_SESSION['senha'] =$senha;
$_SESSION['validacao'] =$validar;
echo ' <meta http-equiv="refresh" content="1 ;url=caduser.php">';
}
}
}
}else{
echo '
<br>
NOME: <input type="text" name="usuario" value="">
<br> SENHA: <input type=password name="senha" value="">
<br> <input type="submit name="submit" value="Enviar">
</form>
';
}
?>



após criar essa pagina criei uma tabela no banco de dados chamda hospede comos campos nome, senha,ip
agora vou criar o arquivo cadfun.php, onde vou cadastrar os usuarios do hotspot que vao poder controlar os hospedes, e o arquivo caduser.php onde vou criar os usuarios hospedes.
posto assim que terminar






[13] Comentário enviado por hfsystem em 01/10/2011 - 23:59h

Database connection error
Error Message: DB Error: no such database
Debug: [nativecode=1049 ** Unknown database 'root'] ** mysql://root:zadroqfim@127.0.0.1/root


pq esta dando esse erro. onde foi que eu deixe errado.

[14] Comentário enviado por edu.vitangelo em 02/10/2011 - 17:25h

posta o conteudo dos arquivos de configuração principalmente esse. /var/www/daloradius/library/daloradius.conf.php

[15] Comentário enviado por leonardocruz em 14/10/2011 - 14:01h

Fala galera, blz? seguinte....
Segui os passos deste post e meu Hotspot esta funcioando peerfeitamente. Mas tem um porem agora.
Minha estrutura com Squid e Dansguardian foram pro beleleuu.
O QUE DEVO FAZER PARA TRABALHAR COM O HOTSPOT CRIADO JUNTAMENTE COM O SQUID TRANSPARENT E DANSGUARDIAN? ISSO EH POSSIVEL OU DEVO ESQUECER?

ABRACOS A TODOS AGUARDO UMA AJUDA AEE.

[16] Comentário enviado por waldson em 25/11/2011 - 17:25h

Amigo hfsystem vc ainda esta com esse problema
Database connection error
Error Message: DB Error: no such database
Debug: [nativecode=1049 ** Unknown database 'root'] ** mysql://root:zadroqfim@127.0.0.1/root

preste atenção no arquivo que o amigo edu.vitangelo falou
neste arquivo vc deve colocar alguns parametros veja se esta assim.

$configValues['CONFIG_DB_USER'] = 'root';
$configValues['CONFIG_DB_PASS'] = 'suasenha';
$configValues['CONFIG_DB_NAME'] = 'radius';

[17] Comentário enviado por stephanosouza em 12/12/2011 - 13:03h

Bom dia,

Ótimo Artigo...

Esta funcionando tudo bem, porém no meu caso esta acontecendo que quando vou logar um usuário, ele da falha de login. Porém o usuário e senha estão corretos, eles passam no "radtest" e se eu ficar insistindo ele autentica. ( depois de umas 8 vezes ).

Nos logos não estão mostrando nada que seja um erro. Logs Analisados ( daloradius.log, freeradius, mysql e messeges ).

Alguém poderia dar uma orientação?

Obrigado.


Stephano Souza

[18] Comentário enviado por ibarbusa em 10/01/2012 - 08:51h

quando executo o chilli -f -d esta me dando uma mensagem unrecognized option '-- local.conf'

como resolver ?

[19] Comentário enviado por fabiomattes2011 em 22/06/2012 - 11:03h

com o meu aconteceu isso no Chrome quando vou abrir o login:
"Erro de conexão SSL
Não foi possível estabelecer uma conexão segura com o servidor. Pode ser um problema com o servidor ou pode ser necessário um certificado de autenticação de cliente que você não tem.
Erro 107 (net::ERR_SSL_PROTOCOL_ERROR): Erro de protocolo SSL"

Tenho que gerar algum certificado?

[20] Comentário enviado por skldias em 03/08/2012 - 10:19h

Pessoal alguem sabe me dizer se vou ter problemas usando o ubuntu 12.04 ?? muito obrigado

[21] Comentário enviado por gessesp em 16/09/2012 - 16:14h

O meu problema é o mesmo do stephanosouza fiz tudo certinho mas não consigo logar se alguem poder me da uma força para por o Chillipost no Ubuntu 11 64bit eu agradeço

[22] Comentário enviado por andyblessing em 24/09/2012 - 21:59h

Olá Depois de instaldo e funcionando, como faço para compartilhar em outro pc ???

[23] Comentário enviado por wrgaspar em 12/01/2013 - 15:31h

Olá, não entendi como configurar o access point, voce poderia me dar uma dica. Obrigado.

[24] Comentário enviado por wrgaspar em 12/01/2013 - 15:31h

Olá, não entendi como configurar o access point, voce poderia me dar uma dica. Obrigado.

[25] Comentário enviado por fmabuti em 24/04/2013 - 11:42h

Pessoal,
Quando tento criar as tabelas necessárias, com o comando:

mysql -p radius < /var/www/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql


Occore o erro:

ERROR 1064 (42000) at line 128: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL,
PRIMARY KEY (id)
)' at line 6


Alguém pode me ajudar?


Obrigado.

[26] Comentário enviado por thiiagofernando em 09/06/2013 - 21:43h

quando vo criar as tabela da o seguinte erro

ERROR 1064 (42000) at line 128: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL,
PRIMARY KEY (id)
)' at line 6

[27] Comentário enviado por edu.vitangelo em 12/06/2013 - 08:38h

talvez esse link te ajude thiago:
http://sourceforge.net/p/daloradius/discussion/684102/thread/2b137c4a

[28] Comentário enviado por andyblessing em 23/06/2013 - 20:42h

Olá muito bom o tutorial, show de bola, mas tenho algumas dúvidas, como por exemplo, eu usar um ip nas duas interfaces de rede ao invéns de ppoe.

[29] Comentário enviado por suportetisgaf em 13/08/2013 - 21:33h

Olá galera do vol. sou novo aqui nno vol, Uso um link da unitelco, e tenho ip fixo na minha internet, e gostaria de na placa que distribui a internet eu colocar dhcp, tem como? se possivel como configuro isso.
Agradeço desde já abço a todos

[30] Comentário enviado por andyblessing em 25/09/2013 - 21:37h

Olá tem como bloquear sites???

[31] Comentário enviado por condealisson em 07/02/2014 - 14:45h

Olá pessoal!

Após instalar o daloradius me deparei com o seguinte problema ao me logar via web:

Database error
Error Message: DB Error: no such table
Debug info: SELECT id, username FROM operators WHERE username = 'Administrador' AND password = 'radius' [nativecode=1146 ** Table 'radius.operators' doesn't exist]

Solução:

# mysql -u root -p radius < /var/www/daloradius/contrib/db/mysql-daloradius.sql
--> Será necessário digitar a senha do root do mysql para concluir o comando.

Fonte: http://forum.mikrotik.com/viewtopic.php?f=10&t=52830#p350650

Abraços!

[32] Comentário enviado por suportetisgaf em 25/02/2014 - 21:36h

Olá como faz pra ter relatorio de acesso dos usuarios???


Contribuir com comentário