Sei sulla pagina 1di 6

En esta ocasion vamos a configurar un hotspot usando chillispot instalandolo sobre CentOS 5, la autenticasion sera a traves del un servidor

Radius, nosotros usaremos freeradius, todo esto vamos a instalarlo en un mismo servidor.

Instalaremos las herramientas necesarias # yum install freeradius openssl php httpd mod_ssl freeradius-utils freeradius-utils Descargamos el paquete chillispot # wget http://www.chillispot.info/download/chillispot-1.1.0.i386.rpm # rpm -Uvh chillispot-1.1.0.i386.rpm Una ves que instalemos lo necesario vamos a configurarlo, empezamos a configurar el chillispot editando el archivo chilli.conf

opcional instalar httpd si no esta instalado instalar modulos sll yum install mod_ssl crear el directorio para el certificado mkdir /etc/httpd/ssl creamos el certificado autofirmado

[root@ns ~]# vim /etc/chilli.conf net 172.16.0.0/24 dns1 200.48.225.130 domain http://www.dominio.com radiuslisten 127.0.0.1 radiusserver1 127.0.0.1

radiusauthport 1812 radiussecret contrasea1 radiusnasid nas01 dhcpif eth1 uamserver https://172.16.0.1/cgi-bin/hotspotlogin.cgi uamhomepage https://172.16.0.1/spot uamsecret contrasea2 uamallowed 172.16.0.1 Siguiendo con la configuracion del chilli # cp /usr/share/doc/chillispot-1.1.0/hotspotlogin.cgi /var/www/cgi-bin/ # chown apache.apache /var/www/cgi-bin/hotspotlogin.cgi # chmod 700 /var/www/cgi-bin/hotspotlogin.cgi Ahora instalamos el soporte TUN/TAP necesario para el funcionamiento de chilli. Esta interface virtual creada tun0 se comunicar con la interface eth1 para autenticar los usuarios, para ello editamos el archivo modprobe.conf agregando lo siguiente: # nano /etc/modprobe.d/dist.conf alias char-major-10-200 tun # modprobe tun En la documentacion del chilli /usr/share/doc/chillispot-1.1.0/ hay un script para el firewall, bueno yo lo modifique ya que yo uso un proxy con Squid, quedando de la siguiente manera: cd /usr/share/doc/chillispot-1.1.0/firewall.iptables instalar paquete

#yum -y install iptables modificar el iptables cp firewall.iptables /etc/sysconfig/firewall.iptables


# nano /etc/sysconfig/iptables

#!/bin/sh IPT=/sbin/iptables EXTIF=eth0 # Interfaz externa INTIF=eth1 # Interfaz interna $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -P INPUT DROP $IPT -P FORWARD ACCEPT $IPT -P OUTPUT ACCEPT $IPT -A INPUT -m state state RELATED,ESTABLISHED -j ACCEPT $IPT -A INPUT -i $EXTIF -p tcp -m tcp dport 22 syn -j ACCEPT $IPT -A INPUT -i $EXTIF -j REJECT $IPT -A INPUT -i $INTIF -j DROP $IPT -A INPUT -p tcp -m tcp dport 80 syn -j ACCEPT $IPT -A INPUT -p tcp -m tcp dport 443 syn -j ACCEPT $IPT -A INPUT -p tcp -m tcp dport 3128 syn -j ACCEPT $IPT -A INPUT -p tcp -m tcp dport 22 syn -j ACCEPT $IPT -A INPUT -p tcp -m tcp dport 3990 syn -j ACCEPT # Redireccionar al squid $IPT -t nat -A PREROUTING -i tun0 -p tcp dport 80 -j REDIRECT to-port 3128 $IPT -A INPUT -p icmp icmp-type echo-request -j ACCEPT $IPT -A INPUT -i lo -j ACCEPT $IPT -A FORWARD -i $INTIF -j DROP $IPT -A FORWARD -o $INTIF -j DROP $IPT -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE Obviamente esre script es algo basico, pero este post no trata de iptables asi que lo dejamos tal cual, ahora activamos el forwarding Forwarding de direcciones IP Nuestro equipo con Chillispot estar trabajando como un firewall, de hecho, sin las reglas de firewall no sera posible que Chillispot funcionara. Al funcionar como firewall Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 Ral Espinosa Soriano Pgina 13 debe tener la capacidad de hacer NAT (Network Address Translation) para lo que

ejecutamos la siguiente lnea: # echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward o nano /proc/sys/net/ipv4/ip_forward y poner 1

# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 Hecho esto nos dedicamos al servidor radius, para ello nos ubicamos en el directorio raddb # cd /etc/raddb/ # vim clients.conf client 127.0.0.1 { secret shortname nastype } Editamos las cuentas de usuarios # vim users fruiz Auth-Type := Local, User-Password == clave Antes de iniciar los servicios debemos tener en cuenta la direccin IP de la interfaz eth1 el cual debe ser 0.0.0.0 pero debe estar activa # ifconfig eth1 0.0.0.0 up = contrasea1 = localhost = other

# /etc/init.d/chilli start # /etc/init.d/radiusd start # /etc/init.d/httpd start

En la consola podemos ejecutar lo siguiente para ver si la autenticacion al servidor radius esta bien configurada # radtest fruiz clave localhost 1645 contrasea1 Sending Access-Request of id 65 to 127.0.0.1 port 1812 User-Name = fruiz User-Password = clave NAS-IP-Address = 255.255.255.255 NAS-Port = 1645 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=65, length=71 Service-Type = Framed-User Framed-Protocol = PPP Framed-IP-Address = 172.16.0.170 Framed-IP-Netmask = 255.255.252.0 Framed-Routing = Broadcast-Listen Filter-Id = std.ppp Framed-MTU = 1500 Framed-Compression = Van-Jacobson-TCP-IP Ahora como ultimo paso, nos ubicamos en el directorio /var/www/html y editamos una pagina que sera la de bienvenida, y ahi ubicamos un link que apunte al chilli para poder realizar la autenticacion # cd /var/www/html/ # mkdir spot/ # cd spot/ # vim index.html

Aqui editamos nuestra pagina de bienvenida en donde debe haber un link que apunte a http://172.16.0.1:3990/prelogin, pondre parte de mi humilde html donde enlaza para la autenticacion <a href=http://172.16.0.1:3990/prelogin>Click aqui para acceder</a> Luego de realizar nuestra pagina de bienvenida, guardamos los cambios y empezamos a probar, para esto desde una maquina cliente accedemos a la red, el chilli nos debera asignar un IP de manera automtica y cuando abramos un navegador nos debe mostrar nuestra pagina de bienvenida, en dicha pagina le demos clic en Click aqui para acceder deber mostrarnos la siguiente ventana para poder autenticarnos.

Potrebbero piacerti anche