Hotspot com Ubuntu Server 11.04 32-Bits

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

[ Hits: 85.460 ]

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


Testando e Finalizando



Teste do freeradius

Reinicie o freeradius:

# /etc/init.d/freeradius restart

Vamos testar, no navegador vá para https://192.168.182.1/daloradius/ entre com o usuário administrator e senha radius, vá em Management, depois em new user, forneça um nome de usuário e uma senha, por exemplo: usuário joao e senha 123. Em password type escolha ClearText-Password e clique em apply, no terminal execute:

# radtest joao 123 localhost 0 minhasenharadius

Se aparecer:

Access-Accept packet from host 127.0.0.1

Está tudo ok!

Caso contrário revise as configurações.

Instalação e configuração do chillispot

Agora vamos instalar o chilispot:

# apt-get install chillispot

Durante a instalação forneça os seguintes parâmetros:

ip do servidor radius1   = 127.0.0.1
ip do servidor radius2   = 127.0.0.1
Radius  secret sharde = minhasenharadius
Ethernet interface for DHCP to Listen = eth1
URL of UAM server = https://192.168.182.1/cgi-bin/hotspotlogin.cgi
URL of UAM homepage  = http:/192.168.182.1:3990/prelogin
Shared passoword between chillispot and webserver =uamsecret

Pare o freeradius:

# /etc/init.d/freeradius stop

Edite o arquivo /usr/lib/cgi-bin/hotspotlogin.cgi:

# nano /usr/lib/cgi-bin/hotspotlogin.cgi

E troque a senha:
$uamsecret = "uamsecret";


Habilite o chilispot:

# nano /etc/default/chillispot

Trocando a linha ENABLED=0, por ENABLED=1.

# /etc/default/chillispot
#
# Enable on system start?
# Change to 1 if you want it to be enabled.
# Please make sure you have configured chillispot first.
ENABLED=1
#
# chillispot default configuration
CHILLICFG=/etc/chilli.conf
#
# daemon arguments
DAEMON_ARGS="--conf $CHILLICFG"

Vamos revisar as configurações do chilispot:

# nano /etc/chilli.conf

As seguintes tags devem estar assim:

net 192.168.182.0/24
dns1 200.204.0.10      (o dns primario seu provedor)
dns2 200.204.0.238   ( o dns secundario do seu provedor)
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiusauthport 1812
radiussecret minhasenharadius
dhcpif eth1
uamserver https://192.168.182.1/cgi-bin/hotspotlogin.cgi
uamhomepage https://192.168.182.1:3990/prelogin
uamsecret uamsecret
uamlisten 192.168.182.1
uamport 3990

Configurações finais

Agora vamos parar a rede:

# etc/init.d/networking stop

E vamos configurar a rede:

Ligue o modem diretamente na placa eth0, edite as configurações de rede:

# nano /etc/network/interfaces

E deixe assim:

auto lo
iface lo inet loopback
auto eth0
auto eth1

Digite o comando abaixo:

# pppoeconf

E configure sua conexão ADSL.

Edite o exemplo do firewall em /usr/share/doc/chillispot/firewall.iptables, trocando a tag EXTIF="eth0" por EXTIF="ppp0", copie para /usr/local/bin:

# cp /usr/share/doc/chillispot/firewall.iptables /usr/local/bin/

E de permissão para executar:

# chmod +x /usr/local/bin/firewall.iptables

Acrescente a seguinte linha no arquivo /etc/rc.local antes de "exit 0":

# nano /etc/rc.local

/usr/local/bin/firewall.iptables

configure seu roteador para não fornecer DHCP, e altere o IP da lan no roteador para 192.168.182.2, conecte um cabo da eth1 para uma das portas lan do roteador e reinicie o servidor.

Seu hotspot está pronto.
Página anterior    

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

Warsaw no Fedora 28 funcionando - Internet Banking

Conectividade Social vs. proxy Squid transparente

A internet é inocente

Acesso remoto para principiantes

Gravando mp3 usando o XMMS

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts