Вы находитесь на странице: 1из 17

Ubuntu+Freeradius2+CoovaChilli+Daloradius

REQUERIMIENTOS DEL SISTEMA

Para la instalación y configuración del servidor RADIUS con un portal cautivo para la Universidad Nacional de Loja es
necesario ciertos requerimientos importantes tanto en hardware como en software. Tomando en cuenta el estudio
realizado durante el desarrollo del presente proyecto se ha considerado que los requerimientos mínimos para el correcto
funcionamiento del servidor son los siguientes:

Hardware:
Procesador: Intel Core2Duo CPU E7500 @ 2.93 GHz x 2
2 GB de Memoria RAM
320 GB de Disco Duro
Dos tarjetas de red Ethernet

Software:
Ubuntu Server 12.04
FreeRADIUS versión 2.1.10
CoovaChilli versión 1.2.6
daloRADIUS versión 0.9.9

1. CONFIGURACIONES PREVIAS

Suponiendo que ya se tiene instalado Ubuntu Server 12.04 LTS edición servidor con las aplicaciones necesarias para el
funcionamiento como Servidor LAMP, Servidor DNS, Open SHH, Samba. LAMP debe de estar instalado si o si para el
servidor.

Luego de la instalación del sistema operativo lo primero que se debe hacer es actualizar el listado de paquetes, lo que se
realiza con el siguiente comando.

sudo apt-get update

2. NETWORK INTERFACE CARD

Editar el archivo interfaces, para abrirlo escribir en la terminal el siguiente comado:

nano /etc/network/interfaces

Debe quedar de la siguiente manera:

# The loopback network interface


auto lo
iface lo inet loopback

# Web in Connection, provide internet, LAN


auto eth0
iface eth0 inet static
address 192.168.1.x
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254

# Web OUT Connection, conected to Acces Point used by CoovaChilli


auto eth1
iface eth1 inet static
address 10.1.0.1
netmask 255.255.255.0

NOTA: (sudo /etc/init.d/networking restart #para reiniciar ajustes de red) o reinciar el sistema

3. AJUSTE WEBMIN, DESCARGA Y APLICACION DEL KEY

En la terminal:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Agregar repositorios de webmin en sources.list

sudo nano /etc/apt/sources.list

Agregar al final:

deb http://download.webmin.com/download/repository sarge contrib


deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

4. INSTALAR PAQUETES NECESARIOS

En la terminal:

sudo apt-get install unzip fakeroot ssh build-essential rrdtool snmp snmpd php5-cli php5-gd php5 php5-mysql php5-
gmp php-pear php5-snmp php5-adodb php-db make ssl-cert freeradius freeradius-mysql freeradius-utils curl perl
openssl libnet-ssleay-perl libauthen-pam-perl libio-pty-perl git-core gcc webmin libssl0.9.8 libapache2-mod-auth-
mysql php5-common libapache2-mod-php5 mysql-server apache2

5. CONFIGURACIÓN DEL IP_FORWARD

El mecanismo de IP forwarding se encarga de la retransmisión de los paquetes que se reciben por una interfaz física y de
retransmitirlos por otra interfaz. El IP forwarding debe ser habilitado, pues una vez que el usuario se autentique a través
del portal cautivo se redireccionará su tráfico hacia la interfaz de red eth0, permitiendo así que el usuario pueda navegar.
Para habilitar la función de IP forwarding se necesita configurar el archivo /etc/sysctl.conf con el siguiente comando:

sudo nano /etc/sysctl.conf

Allí se busca la línea net.ipv4.ip_forward=1 y se la descomenta.

net.ipv4.ip_forward=1
Además, es necesario cambiar el valor a 1 del IP forwarding en /proc/sys/net/ipv4/ip_forward con el siguiente comando:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

Y se reinicia nuevamente el servicio de networking.

sudo /etc/init.d/networking restart

6. ACTIVACIÓN DEL MODO TUN COOVA

Para finalizar con la configuración de las interfaces de red, se debe habilitar el módulo tun, ya que este permitirá a
Coovachilli hacer un “túnel” entre las interfaces eth0 y la red virtual que crea en eth1. Para ello ejecutamos los siguientes
comandos:

sudo modprobe tun

Con esta orden cargamos el módulo tun en el kernel del sistema directamente sin tener que reiniciar. Además tenemos
que agregarlo la palabra “tun” al final del archivo /etc/modules

sudo nano /etc/modules

Al final agregamos

tun

7. CONFIGURACIÓN DE LA BASE DE DATOS

Luego de la instalación de los paquetes de FreeRADIUS se tiene que realizar la configuración de la base de datos que va
a usar FreeRADIUS para obtener los usuarios.

Se accede a la consola de MySQL, se digita la contraseña y se crea la base de datos que va a utilizar FreeRADIUS en
este caso se llama hotspot (radius). Se puede realizar la siguiente secuencia de comandos en la terminal:

mysql –u root –p
mysql> CREATE DATABASE hotspot;
mysql> quit
mysql -u root -psql123 < /etc/freeradius/sql/mysql/ippool.sql
mysql -u root -psql123 < /etc/freeradius/sql/mysql/schema.sql
mysql -u root -psql123 < /etc/freeradius/sql/mysql/nas.sql
mysql –u root –p
mysql> GRANT ALL PRIVILEGES ON hotspot.* TO 'radius'@'localhost' IDENTIFIED BY 'radius';
mysql> FLUSH PRIVILEGES;
mysql> quit

8. CONFIGURACIÓN DE LA CONEXIÓN CON LA BASE DE DATOS.

Se edita el archivo /etc/freeradius/sql.conf que es un archivo donde se encuentran todas las configuraciones de conexión
de FreeRADIUS con MySQL.
sudo nano /etc/freeradius/sql.conf

En el archivo se debe modificar las líneas correspondientes a la conexión con el server de MySQ como lo son:

Server: “localhost”
Login: “radius” que es el usuario que se creó anteriormente.
Password: “radius” que es la clave que corresponde a ese usuario.

Debe quedar asi:

sql {
database = “mysql”
driver = “rlm_sql_${database}”
server = “localhost”
login = “radius”
password = “radius”
radius_db = "hotspot"

acct_table1 = "radacct"
acct_table2 = "radacct"
postauth_table = "radpostauth"
authcheck_table = "radcheck"
authreply_table = "radreply"
groupcheck_table = "radgroupcheck"
groupreply_table = "radgroupreply"
usergroup_table = "radusergroup"
deletestalesessions = yes
sqltrace = no
sqltracefile = ${logdir}/sqltrace.sql
num_sql_socks = 5
connect_failure_retry_delay = 60
nas_table = "nas"
$INCLUDE sql/${database}/dialup.conf

Además dentro del mismo archivo se descomenta la variable: readclients = yes. El descomentar esta línea permite que
se lea los clientes radius desde la base de datos.

readclients = yes

Luego se edita el archivo de configuración principal de FreeRADIUS, y se procede a descomentar la línea $INCLUDE
sql.conf y otros, ejecutar:

sudo nao /etc/freeradius/radiusd.conf

Y se descomenta las líneas siguientes:

prefix = /usr
exec_prefix = /usr
sysconfdir = /etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log/freeradius
raddbdir = /etc/freeradius
radacctdir = ${logdir}/radacct
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/freeradius
db_dir = ${raddbdir}
libdir = /usr/lib/freeradius
pidfile = ${run_dir}/freeradius.pid
max_request_time = 30
cleanup_delay = 5
max_requests = 1024

listen {
type = auth
ipaddr = *
port = 0

}
listen {
ipaddr = *
port = 0
type = acct
}

hostname_lookups = no
allow_core_dumps = no
regular_expressions= yes
extended_expressions= yes

log {
destination = files
file = ${logdir}/radius.log
syslog_facility = daemon
stripped_names = no
auth = no
auth_badpass = no
auth_goodpass = no
}

checkrad = ${sbindir}/checkrad

security {
max_attributes = 200
reject_delay = 1
status_server = yes
}

proxy_requests = yes
$INCLUDE proxy.conf
$INCLUDE clients.conf

thread pool {
max_servers = 32
min_spare_servers = 3
max_spare_servers = 10
max_requests_per_server = 0
}

modules {
$INCLUDE ${confdir}/modules/
$INCLUDE eap.conf
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
}

instantiate {
exec
expr
expiration
max_all_mb
noresetcounter
logintime
}

$INCLUDE policy.conf
$INCLUDE sites-enabled/

9. CONFIGURACIÓN DEL CLIENTE LOCALHOST

nano /etc/freeradius/clients.conf

Se edita la contraseña que se encuentra en el parámetro secret dentro del cliente localhost.

client localhost {
ipaddr = 127.0.0.1
secret= radius
require_message_authenticator = no
nastype = other# localhost isn't usually a NAS...
}

10. CONFIGURACIÓN DE LA AUTORIZACIÓN Y CONTABILIDAD

Se debe editar el Archivo: /etc/freeradius/sites-available/default y agregar la variable "sql" en las secciones de:
authorize{}, accounting{}, session{}, post-auth{}.

En terminal

/etc/freeradius/sites-available/default

Decomentamos las siguientes líneas de cado apartado

authorize {
preprocess
chap
mschap
suffix
eap {
ok = return
}
unix
files
sql
noresetcounter
dailycounter
monthlycounter
expiration
logintime
pap
}

authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}Auth-Type MS-CHAP {
mschap
}
unix
}

preacct {
preprocess
acct_unique
suffix
files
}

accounting {
detail
unix
radutmp
sradutmp
sql
attr_filter.accounting_response
}

session {
radutmp
sql
}
post-auth {
sql
exec
}
pre-proxy {
}
post-proxy {
eap
}

11. Editar el archivo counter.conf, en la terminal ejecutar:

sudo nano /etc/freeradius/sql/mysql/counter.conf

Y al final editamos la reglas para que quede asi:

sqlcounter dailycounter {
counter-name = Daily-Session-Time
check-name = Max-Daily-Session
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = daily
query = "SELECT SUM(acctsessiontime - \GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \FROM
radacct

WHERE username = '%{%k}' AND \UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'"


}

sqlcounter monthlycounter {
counter-name = Monthly-Session-Time
check-name = Max-Monthly-Session
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = monthly
query = "SELECT SUM(acctsessiontime - \GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM

radacct WHERE username='%{%k}' AND \UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'"


}

sqlcounter noresetcounter {
counter-name = Session-Timeout
check-name = Session-Timeout
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(Acctsessiontime) FROM radacct WHERE UserName='%{%k}'"
}

sqlcounter max_all_mb {
counter-name = Max-All-MB
check-name = Max-All-MB
reply-name = ChilliSpot-Max-Total-Octets
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(AcctInputOctets) + SUM(AcctOutputOctets) FROM radacct WHERE UserName='%{%k}'"
#query = "SELECT SUM(AcctInputOctets)/(1024*1024) + SUM(AcctOutputOctets)/(1024*1024) FROMradacct
WHERE

UserName='%{%k}'"
}

sqlcounter octetslimit {
counter-name = Max-All-MB
check-name = Max-All-MB
reply-name = Chillispot-Max-Total-Octets
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(acctinputoctets+acctoutputoctets) from radacct WHERE UserName='%{%k}'"
}

12. ARRANCANDO FREERADIUS

Detener freeradius

sudo /etc/init.d/freeradius stop

Iniciamos modo debug

sudo /usr/sbin/freeradius -X
Si todo esta configurado correctamente en la terminal aparecerá en espera del siguiente orden. Lo detenemos con Ctrl +
C. Luego lo iniciamos de nuevo con el comando:

sudo /usr/sbin/freeradius

13. FREERADIUS

mysql -u root -p
mysql> use radius;
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('radius','Password','radius');
mysql> quit

/etc/init.d/freeradius restart

Para comprobar la conexión y funcionalidad tanto del script perl como la configuración de FreeRADIUS existe el
comando radtest el cual permite simular una solicitud de acceso RADIUS y comprueba tanto conectividad como
parámetros de envío. Ejecutamos:

radtest radius radius 127.0.0.1 0 radius


O

radtest radius radius 127.0.0.1 0 hotspot


O

radtest radius radius 127.0.0.1 1812 radius

y debe arojar al final:

Sending Access-Request of id 42 to 127.0.0.1 port 1812


User-Name = “radius”
User-Password = “radius”
NAS-IP-Address = x.x.x.x
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=198, length=20

En este caso, al ser correctas las credenciales la solicitud de acceso receptada se acepta al usuario.

14. COOVA-CHILLI

Para configurar Coovachilli lo primero que hay que realizar es descargar la última versión desde la página oficial de
Coovachilli. En terminal ejucatar:

wget hhtp://ap.coova.org/chilli/coova-chilli_1.2.2_i386.deb

Instalar con el commando

dpkg –i coova-chilli_1.2.2_i386.deb

Por defecto coova esta desctiva, se active editando el fichero default. Abrir el archivo con:
sudo nano /etc/default/chilli

Y luego cambiar:

START_CHILLI=0

Por

START_CHILLI=1

Y en versiones recientes de coova chilli puede que sea necesarior cambiar la ultima línea por la siguiente

HS_USER=”root”

Dentro de los archivos de CoovaChilli viene un archivo de ejemplo donde están todas las configuraciones globales del
portal cautivo. Se procede a copiar el archivo de muestra y renombrarlo como config. Ejecutamos:

sudo cp /etc/chilli/defaults /etc/chilli/config

Se edita el archivo anteriormente creado en donde se encuentran todas las directivas, las cuales se modificaran de
acuerdo a las necesidades. Ejecutar:

sudo nano /etc/chilli/config

En este caso se seleccionó la red 10.1.0.0 /24 para la interfaz eth1 que es donde se va a recibir las solicitudes de acceso
y la interfaz eth0 es donde va tener la conexión con la red de la universidad y el internet.

A continuación se muestra los parámetros configurados.

HS_WANIF=eth0 #WAN Interface toward the Internet


HS_LANIF=eth1 #Subscriber Interface for client devices
HS_NETWORK=10.1.0.0 #HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 #HotSpot Network Netmask
HS_UAMLISTEN=10.1.0.1 #HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 #HotSpot UAM Port (on subscriber network)
HS_DNS1=x.x.x.x
HS_DNS2=10.1.0.1
###
# HotSpot settings for simple Captive Portal
#
HS_NASID=nas01
HS_RADIUS=127.0.0.1 #o localhost
HS_RADIUS2=127.0.0.1
HS_UAMALLOW=10.1.0.1/24
HS_RADSECRET=radius # Set to be your RADIUS shared secret
HS_UAMSECRET=radius # Set to be your UAM secret
HS_UAMALIASNAME=chilli
HS_UAMFORMAT=https://\$HS_UAMLISTEN/cgi-bin/hotspotlogin.php
HS_DEFSESSIONTIMEOUT=7200
HS_DEFIDLETIMEOUT=1800
15. CONFIGURACIÓN DEL PORTAL CAUTIVO

Se crea el directorio donde van a estar almacenados archivos propios del portal cautivo.

sudo mkdir –p /var/www/hotspot/uam


sudo mkdir /var/www/hotspot/images

Luego se debe de copiar los archivos necesarios para el funcionamiento de Coovachilli al directorio anteriormente
creado.

sudo cp /etc/chilli/www/* /var/www/hotspot


sudo cp /var/www/hotspot/coova.jpg /var/www/hotspot/images

Se accede al directorio en donde se va a descargar archivos adicionales para el correcto funcionamiento del portal
cautivo.

cd /var/www/hotspot/uam

Y se procede a descargarlas

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

Se hace un cambio dentro del archivo /var/www/hotspot/uam/index.html ubicando la dirección IP del portal cautivo.

sed -i 's/ap.coova.org\/js\/chilli.js/10.1.01\/uam\/chilli.js/g' /var/www/hotspot/uam/index.html

sed -i 's/192.168.182.1/10.10.10.1/g' /etc/chilli/www/ChilliLibrary.js


sed -i 's/192.168.182.1/10.10.10.1/g' /var/www/hotspot/ChilliLibrary.js

16. LOGIN HOTSPOT

cd /var/www/hotspot/
wget http://www.truesoft.co.th/wifi/uam.tgz
tar -xzvf uam.tgz
cd uam
mv index.html index.html-o
mv chilli.js chilli.js-o

17. EJEMPLO DE CONFIGURACION DEL ARCHIVE CONFIG DE CHILLI

sudo nano /etc/chilli/config

HS_WANIF=eth0 #WAN Interface toward the Internet


HS_LANIF=eth1 #Subscriber Interface for client devices
HS_NETWORK=10.1.0.0 #HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 #HotSpot Network Netmask
HS_UAMLISTEN=10.1.0.1 #HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 #HotSpot UAM Port (on subscriber network)
HS_UAMUIPORT=4990 # HotSpot UAM "UI" Port (on subscriber network, for embedded portal)

# DNS Nawala Servers


HS_DNS1=180.131.144.144
HS_DNS2=180.131.145.145

# HotSpot settings for simple Captive Portal


#
HS_NASID=nas01
HS_RADIUS=127.0.0.1 #o localhost
HS_RADIUS2=127.0.0.1
HS_UAMALLOW=10.1.0.1/24
HS_RADSECRET=radius # Set to be your RADIUS shared secret
HS_UAMSECRET=radius # Set to be your UAM secret
HS_UAMALIASNAME=chilli
HS_UAMSERVER=10.10.10.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_UAMSERVICE=https://10.1.0.1/cgi-bin/hotspotlogin.cgi
HS_TCP_PORTS="22 80 443 10000"
HS_MODE=hotspot
HS_TYPE=chillispot
HS_WWWDIR=/etc/chilli/www
HS_WWWBIN=/etc/chilli/wwwsh
HS_PROVIDER=NewMed
#HS_PROVIDER_LINK=http://newmed.ac.id
#HS_LOC_NAME="Selamat Datang di Kampus New Media"

18. NAT (TRADUCCIONES DE DIRECCIONES DE RED) – Consultar manual

En el paquete CoovaChilli, existen archivos con reglas tipo iptables ya creadas. Se usó estas mismas reglas y se añadió
más reglas acordes con las políticas de seguridad de la Unidad de Telecomunicaciones e Información.

Existen dos scripts de shell que contienen las reglas de iptables que maneja CoovaChilli los que son up.sh y down.sh,
estos scripts se ejecutan al instante en que se levanta el proceso de CoovaChilli.

Para agregar más reglas de iptables se debe a crear el scripts de Shell llamado ipup.sh

19. HASERL

Descargar

wget http://sourceforge.net/projects/haserl/files/haserl/0.8.0/haserl-0.8.0.tar.gz

Desempaquetar

tar -zxvf haserl-0.8.0.tar.gz

Instalar

cd haserl-0.8.0;./configure;make;sudo make install


Editar el archivo wwwsh.

sudo /etc/chilli/wwwsh

Cambiar

haserl=$(which haserl 2>/dev/null)

Por

haserl=/usr/local/bin/haserl

20. FIREWALL E INSTRUCCIONES DE RED BASICA

Abrir el archive up.sh ejecutando:

nano /etc/chilli/up.sh

Y al final del archivo agregar lo siguiente

# may not have been populated the first time; run again
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE

21. GENERACIÓN DE CERTIFICADOS SSL APACHE2

Como se va a usar conexiones SSL para mayor seguridad. Se tiene que instalar el módulo SSL. Se debe crear un
directorio llamado ssl dentro de /etc/apache2

sudo mkdir /etc/apache2/ssl

Es necesario saber el nombre del equipo esto va a servir al generar el certificado. Se lo obtiene con el siguiente
comando.

hostname -f

A continuación, habrá que hacer un certificado SSL que será utilizado por el host virtual que se detalla más adelante. El
sistema preguntará por una serie de parámetros (Localidad, Provincia, etc.), siendo el más importante el nombre del host.
En este caso será “10.1.0.1”. De esta forma se consigue que el nombre del host y el del certificado coincidan, ya que los
navegadores dan avisos de posibilidad de intrusión en caso de que no coincidan:

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

Aparecerá una ventana donde se debe escribir el nombre del equipo que ya anteriormente se obtuvo con el comando
hostname –f.
Para activar el módulo ssl se debe ejecutar el siguiente comando.

a2enmod ssl

22. CREACIÓN DE HOST VIRTUAL

Para la configuración correcta del virtual host es necesario tener en cuenta los siguientes aspectos.

NameVirtualHost: se indica la dirección IP de la tarjeta de red y el puerto.

DocumentRoot: Directorio principal que contiene la estructura de directorios visible desde la Web Esta directiva
especifica el directorio desde el cuál apache2 servirá los ficheros.

ServerName: La directiva ServerName especifica el nombre de host y el puerto que usa el servidor para identificarse.

Directory index: Engloba a un grupo de directivas que se aplicarán solamente al directorio del sistema de ficheros
especificado y a sus subdirectorios. Aquí es donde se indica el nombre de la página principal del sitio.

ServerAdmin: Dirección de email que el servidor incluye en los mensajes de error que se envían al cliente.

ErrorLog: Ubicación del fichero en el que se almacenan los mensajes de error.

CustomLog: Ubicación de donde esta el archivo en el cual se registran los accesos al sitio.

SSLCertificateFile: Aquí se ubica la ruta del certificado ssl.

Se procede a crear un archivo llamado hotspot donde se va a agregar el host virtual dentro del directorio
/etc/apache2/sites-available.

sudo nano /etc/apache2/sites-available/hotspot

A continuación se muestra la configuración del virtual host . Aquí se agrega la ruta donde se creó el certificado ssl.

<IfModule mod_ssl.c>
<VirtualHost 10.1.0.1:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/hotspot
ServerName radius.unl.edu.ec
<Directory />
Options FollowSymLinks
AllowOverride None

</Directory>
<Directory /var/www/hotspot/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
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/ /var/www/hotspot/cgi-bin/

<Directory "/var/www/hotspot/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
Alias /doc/ "/usr/share/doc/"

<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0::1/128

</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
Alias /doc/ "/usr/share/doc/"

También hay que editar el archivo default, lo abrimos ejecutando:

nano /etc/apache2/sites-available/default

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None

</Directory>
<Directory /var/www/>
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 ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,


# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"


<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Se ejecuta los siguientes comandos para finalizar la configuración de apache2

a2ensite hotspot
apache2ctl -t
/etc/init.d/apache2 reload

Finalmente se reinicia todos los servicios (FreeRADIUS y CoovaChilli) y se tendrá al servidor RADIUS funcionando con el
portal cautivo. Es importante tener en cuenta que al reiniciar el servicio de FreeRADIUS debe de ser con las
instrucciones ya anteriormente mencionadas.

23. daloRADIUS
A continuación se detalla el proceso de instalación y configuración del daloRADIUS, al ser una herramienta de
administración web, el uso correcto se detalla en el manual de usuario.

El siguiente paso es descargar daloRADIUS desde su Web .

wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz

Una vez descargado el paquete de daloRADIUS se procede a descomprimir la aplicación y se debe crear la base de
datos con las tablas pertinentes. Como root se ejecuta los siguientes comandos:
Se descomprime el paquete descargado:

tar -zxvf daloradius-0.9-9.tar.gz

Se copia la carpeta daloradius-0.9-9 al directorio de /var/www/

cp -R daloradius-0.9-9/ /var/www/daloradius
Se da permiso al apache sobre el directorio del daloRADIUS que esta en el directorio /var/www/daloradius

chown -R www-data:www-data /var/www/daloradius

Se cambian los permisos del archivo daloradius.conf.php

chmod 644 /var/www/daloradius/library/daloradius.conf.php

24. Configuración daloRADIUS


Para que daloRADIUS funcione correctamente, se requiere agregar algunas tablas más a la base de datos de MySQL.
Estas tablas ya están incluidas en el directorio de daloRADIUS, por lo que solo es necesario ejecutar el siguiente
comando:

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


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

Seguidamente se edita el archivo daloradius.conf.php para poner los valores de la conexión al server de la base de
datos:

sudo nano /var/www/daloradius/library/daloradius.conf.php

$configValues[„CONFIG_DB_ENGINE‟] = „mysql‟;
$configValues[„CONFIG_DB_HOST‟] = „127.0.0.1‟;
$configValues[„CONFIG_DB_USER‟] = „radius‟;
$configValues[„CONFIG_DB_PASS‟] = „radius‟;
$configValues[„CONFIG_DB_NAME‟] = „hotspot‟;
$configValues['CONFIG_DB_TBL_RADUSERGROUP'] = 'radusergroup';

Una vez esto, se reinicia el apache:

sudo /etc/init.d/apache2 restart

Para poder visualizar la interfaz de daloRADIUS se debe ingresar a un navegador de prefencia Mozilla

Firefox y se coloca la dirección IP del servidor o el dominio: http://10.10.10.1/daloradius


Username: administrator
Password: radius

25. TOUCH PERMISSION

mkdir /var/log/freeradius/radacct
touch /var/log/freeradius/radacct/sql-relay
touch /var/log/freeradius/radutmp
touch /var/log/daloradius.log
chown 755 /var/log/freeradius
chown freerad:freerad /var/log/freeradius/radutmp

Вам также может понравиться