Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Hotspot com Ubuntu Server 11.04 32-Bits
Linux user
edu.vitangelo
23/08/2011
Configuração de um servidor Hostspot com o Ubuntu Server 11.04 praticamente do zero.
Por: Eduardo Vit'Angelo
[ Hits: 18689 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Fazendo as instalações

Hardware e instalação do Ubuntu

Hardware utilizado:
  • Servidor com duas placas de rede;
  • Notebook com conexão wireless e putty instalado;
  • Roteador sem fio tp-link;
  • Conexao ADSL pppoe.
Inicialmente o roteador esta acessando a internet, e fornecendo DHCP para a rede, o notebook está conectado ao roteador pela rede com fios, e navegando normalmente, o servidor esta conectado pela rede com fios.

Primeiro é preciso instalar o Ubuntu Server 11.04, versão 32 bits, não consegui instalar com a versão 64 bits.

Vá para http://www.ubuntu.com/download/server/download, escolha a versão 32 bits e faça o download.

Faça a instalação básica, na seleção de pacotes só coloquei como extra o servidor ssh.

Após a instalação e o reinicio do servidor entre com o usuário e senha fornecido durante a instalação e atribua uma senha ao usuário root:

# sudo passwd root

Configuração de rede inicial

Logue-se como root, verifique as configurações de rede:

# ifconfig

A interface eth0 deve estar ativa e com o IP fornecido pelo roteador, caso a interface eth1 esteja configurada e não a eth0, proceda a correção, primeiro pare a rede:

# /etc/init.d/networking stop

Edite o arquivo /etc/network/interfaces, deixando da seguinte forma:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

auto eth1

Inverta os cabos de rede se necessário, reinicie a rede e verifique novamente:

# etc/init.d./networking start
# ifconfig

Estando tudo ok, grave bem o IP da interface eth0 caso for utilizar o putty.

Atualização e pré-instalação dos pacotes

A partir desse ponto eu utilizei o putty no Windows, devido a mobilidade, você pode fazer o mesmo. Fica mais fácil copiar e colar os comandos, execute a atualização:

# apt-get update

E instale os pacotes:

# apt-get install mysql-server phpmyadmin freeradius freeradius-utils freeradius-mysql apache2 php-pear php-db phpmyadmin mc bind9

Durante a instalação dos pacotes será solicitada uma senha para o servidor mysql grave bem essa senha.

Configuração do apache2

Habilite o modulo ssl no apache2

# a2enmod ssl
# a2ensite default-ssl
# /etc/init.d/apache2 restart

E vamos ao primeiro teste. No navegador de internet digite http://xxx.xxx.xxx.xxx, onde xxx.xxx.xxx.xxx é o ip o seu servidor. Deve aparecer a página inicial do apache, em seguida digite https://xxx.xxx.xxx.xx, deve aparecer a mesma página anterior ou a mensagem de erro de certificado.

Instalação do daloradius

Agora vamos instalar o daloradius, uma interface gráfica em web para auxiliar na criação de usuários:

# cd /tmp
# wget 'http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius-0.9-8/daloradius-0.9-8.tar.gz'
# tar xvzf daloradius-0.9-8.tar.gz
# mv /tmp/daloradius-0.9-8 /var/www/daloradius
# chown -R www-data:www-data /var/www/daloradius
# cp -r /var/www/daloradius/contrib/chilli/portal2/* /var/www/
# rm /var/www/index.html
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

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

Gostei. Vou testar !

[2] Comentário enviado por sr. caridade 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 ?


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.