Top Banner
Hotspot utilizando softwares livres.
14

Hotspot Concluido

Dec 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hotspot Concluido

Hotspot

utilizando softwares

livres.

Page 2: Hotspot Concluido

1

Mauricio Botelho Penteado Ribeiro da Cruz RA:63893

Luiz Rodrigo Cardoso da Cunha RA:62410

Marcelo Henrique Petruz RA:64935

Daniel Bodowsky RA:63565

Willian Sanfelice RA:64935

Murilo Giusti RA:63653

Page 3: Hotspot Concluido

2

COOVACHILLI -Hotspot

Requisitos:

• UBUNTU 11.04 i386

• Freeradius

• Mysql

• Apache2

• DaloRadius

• PHP

• Coovachilli

• SSH

Configuração das Interfaces

• auto eth0

iface eth0 inet dhcp

• auto eth1

iface eth1 inet static

address 192.168.13.130

netmask 255.255.255.0

• auto eth2

iface eth2 inet static

address 192.168.56.2

netmask 255.255.255.0

Ativando o Root

#sudo passwd root

Instalações de pacotes necessários

#apt-get update

Page 4: Hotspot Concluido

3

#apt-get install apache2 apache2-doc apache2-utils ssl-cert libapache2-mod-php5 php5 php5-

common php5-mysql mysql-server mysql-client libmysqlclient15-dev freeradius freeradius-

mysql freeradius-utils freeradius-mysql php-pear php-db phpmyadmin mc php5-gd php-db

Durante a instalação dos pacotes digite as senhas desejadas.

Altere o arquivo /etc/apache2/mods-avaliable/dir.conf

Para :

DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3

index.pl index.xhtml

Feche o arquivo e salve.

Ative os módulos do apache2.

#a2enmod ssl && a2enmod rewrite && a2enmod suexec && a2enmod include && a2enmod

php5

Crie um link simbólico para testarmos.

# ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl

Gerar certificado.

Criar o diretório.

#mkdir /etc/apache2/ssl

Criar o certificado.

#make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

Altere o arquivo /etc/apache2/sites-available/default-ssl

De: SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem

Para: SSLCertificateFile /etc/apache2/ssl/apache.pem

Page 5: Hotspot Concluido

4

Remova a Linha : SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Restarte o APACHE

#/etc/init.d/apache2 restart

Testar o apache.

Digite no navegador de uma maquina que esta na mesma rede.

http://192.168.13.130

https://192.168.13.130

Se tudo der certo irá aparecer “It Works”

Mysql e Freeradius

Edite o arquivo /etc/freeradius/users

Descomente as linhas:

#"John Doe" Cleartext-Password := "hello"

#Reply-Message = "Hello, %{User-Name}"

Salve o arquivo e reinicie o freeradius.

# /etc/init.d/freeradius restart

Teste o freeradius.

# radtest "John Doe" hello localhost 1812 testing123

Se aparecer esta mensagem prossiga.

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=94, length=20

Criar o Banco de Dados

Entre no Mysql

#mysql –p

Entre com a senha Mysql (segredo)

Page 6: Hotspot Concluido

5

mysql> create database radius;

mysql> GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'segredo';

mysql> FLUSH PRIVILEGES;

mysql> quit

Agora edite o arquivo /etc/free radius/sql.conf

server = "localhost"

login = "radius"

password = "segredo"

Descomentamos a linha:

readclients = yes

Salve o arquivo.

Altere o arquivo /etc/freeradius/clientes.conf

Troque o que estiver em frente de “secret”

secret=”segredo”

Edite o arquivo /etc/freeradius/sites-enabled/default , descomentando as linhas que tiver sql.

authorize {

#files

sql

}

accounting {

sql

}

Page 7: Hotspot Concluido

6

session {

sql

}

Salve.

No arquivo /etc/freeradius/radiusd.conf descomente a linha.

$INCLUDE sql.conf

Importe as tabelas do freeradius já criadas pelo programador.

# mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql

Enter password: "segredo"

# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

Enter password: "segredo"

Cadastrar usuário:

mysql> use radius;

mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('diego', 'Password',

'teste');

mysql> quit

Reinicie o Mysql e Freeradius.

# /etc/init.d/mysql restart && /etc/init.d/freeradius restart

Teste o usuário.

# radtest teste teste localhost 1812 "segredo"

Se aparecer:

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=94, length=20

Esta tudo ok.

Page 8: Hotspot Concluido

7

Instalando o Coovachilli

Crie o diretório para fazer o download do Coovachilli

#mkdir /etc/downchilli

Baixe o pacote

# wget http://ap.coova.org/chilli/coova-chilli_1.0.13-1_i386.deb

Instale

#dpkg -i coova-chilli_1.0.13-1_i386.deb

Agora copie os arquivos a seus respectivos lugares.

# cd /etc/chilli/

# cp defaults config

# mkdir /var/www/auth

# cp www/* /var/www/auth/

# mkdir /var/www/auth/images

# cp www/coova.jpg /var/www/auth/images/

# mkdir /var/www/auth/uam

# cd /var/www/auth/uam

# wget http://ap.coova.org/uam/

# wget http://ap.coova.org/js/chilli.js

Entre e edite o arquivo /var/www/auth/uam/index.html.

Para: <script id='chillijs' src='http://192.168.10.1/js/chilli.js'></script>

OBS: Coloque o ip diferente da eth1

Edite "/etc/chilli/www/ChilliLibrary.js" e alteramos a linha:

Para: var chilliController = { interval:30 , host:"192.168.10.1" , port:3990 , ident:'00' ,

ssl:false , uamService: '' };

Page 9: Hotspot Concluido

8

Executa

# cat /etc/chilli/www/ChilliLibrary.js > /var/www/auth/ChilliLibrary.js

Edite /etc/default/chilli

Altere START_CHILLI=0 para START_CHILLI=1

Altere o arquivo /etc/chilli/config Para:

HS_LANIF=eth1

HS_NETWORK=192.168.10.0

HS_NETMASK=255.255.255.0

HS_UAMLISTEN=192.168.10.1

HS_UAMPORT=3990

HS_STATIP=192.168.10.0/24

HS_STATIP_MASK=255.255.255.0

#HS_DNS_DOMAIN=

HS_DNS1=8.8.8.8

HS_DNS2=177.53.80.4

HS_NASID=nas01

HS_UAMSECRET=segredo

HS_RADIUS=127.0.0.1

HS_RADIUS2=127.0.0.1

HS_RADSECRET=segredo

HS_UAMALLOW=192.168.10.0/24

Page 10: Hotspot Concluido

9

HS_UAMSERVER=192.168.10.1

HS_UAMFORMAT=https://\$HS_UAMSERVER/cgi-bin/hotspotlogin.cgi

HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html

HS_UAMSERVICE=https://192.168.10.1/cgi-bin/hotspotlogin.cgi

Salve.

Execute

# zcat -c /usr/share/doc/coova-chilli/hotspotlogin.cgi.gz > /usr/lib/cgi-bin/hotspotlogin.cgi

Edite a pagina de Login “/usr/lib/cgi-bin/hotspotlogin.cgi “

Altere para

$uamsecret = "segredo";

$uamsecret = "segredo";

Criando o VirtualHost

# vim /etc/apache2/sites-available/hotspot

Após criar o arquivo, Inclua as linhas:

NameVirtualHost 192.168.10.1:443

<VirtualHost 192.168.10.1:443>

ServerAdmin [email protected]

DocumentRoot "/var/www/auth/"

ServerName "192.168.10.1"

<Directory "/var/www/auth/">

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

Page 11: Hotspot Concluido

10

allow from all

</Directory>

Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/"

<Directory "/usr/share/freeradius-dialupadmin/htdocs/">

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory "/usr/lib/cgi-bin/">

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog /var/log/apache2/hotspot-error.log

LogLevel warn

Page 12: Hotspot Concluido

11

CustomLog /var/log/apache2/hotspot-access.log combined

ServerSignature On

SSLEngine on

SSLCertificateFile /etc/apache2/ssl/apache.pem

</VirtualHost>

Agora ative o VirtualHost:

# a2ensite hotspot

Reinicie o Apache

# /etc/init.d/apache2 restart

Mude as permissões

# chown -R www-data.www-data /var/www/auth/

# chown -R www-data.www-data /var/www/auth/*

# chown -R www-data.www-data /usr/lib/cgi-bin/hotspotlogin.cgi

# chmod 777 /usr/lib/cgi-bin/hotspotlogin.cgi

Com os passos acima concluídos vamos adicionar duas regras ao firewall do Coovachilli,

editando o arquivo /etc/chilli/up.sh.

Adicione estas linhas antes do ultimo parênteses:

[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null

iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE

Salve.

DaloRadius

Page 13: Hotspot Concluido

12

O DaloRadius é uma interface WEB interage com o Mysql e Freeradius.

Crie o diretório para fazer o Download.

#mkdir /etc/downldalo

Agora faremos o download

#wget'http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.98/dalora

dius-0.9-8.tar.gz'

Agora descompacte os arquivos.

#tar -xzvf daloradius-0.9-8.tar.gz

Copie o arquivo para o diretório /var/www

#cp daloradius-0.9-8 /var/www/ -R

Altere as permissões dos diretórios.

#chown www-data:www-data /var/www/daloradius-0.9-8 -R

#chmod 644 /var/www/daloradius-0.9-8/library/daloradius.conf.php

Execute

mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/mysql-daloradius.sql

digite a senha do Mysql.

Edite o arquivo /var/www/daloradius-0.9-8/library/daloradius.conf.php para:

'FREERADIUS_VERSION' = '2';

'CONFIG_DB_ENGINE' = 'mysql';

'CONFIG_DB_HOST' = '127.0.0.1'

'CONFIG_DB_USER' = 'radius'

'CONFIG_DB_PASS' = 'radpassword' 'CONFIG_DB_NAME' = 'radius'

Entre no Mysql

#mysql -u root -p

Page 14: Hotspot Concluido

13

Execute o comando.

>GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'%' IDENTIFIED BY

'radpassword'; >FLUSH PRIVILEGES;

Com o DaloRadius instalado e configurado, a adição de usuária é mais rápida e eficiente.

Para acessa-lo :

http://192.168.56.2/daloradius

Usuario:Administrator

Senha:radius