Ubuntu server + squid proxy server + dhcp + 2 tarjetas de red


Escrito por zEOCk hace hace 2 años

Compartir En redes Sociales

Facebook WhatsApp Youtube

El siguiente articulo lo he creado mas o menos por el año 2012 en un pagina llamada taringa, aqui aprenderas temas sobre, dominios, redes, ips, dns, dhcp, bases de datos, linux y algunos temas importantes sobre informatica.

Como instalar un servidor squid proxy server en linux ubuntu.

Como lo dice el titulo principal del articulo crearemos un servidor squid proxy server con 2 tarjetas de red, mas un servidor ejabber (de mensajeria) con el cual podran conectarse con cuentas que se encuentren fuera de su red (del exterior) grasias al servicio de no-ip.

Requisitos:

Ubuntu server en mi caso tengo la vercion 12.04

2 tarjetas de red
Squid proxy server
Dhcp
mysql, php y apache
Servidor ejabber
Cliente spark

NOTA: PARA GUARDAR CAMBIOS EN LOS ARCHIVOS QUE SE ABREN CON NANO POR CONSOLA SOLO DEBEN PRECIONAR CTRL + O (ESTO PARA GUARDAR) Y CTRL + X (ESTO PARA SALIR)

OPCIONAL: PARA INSTALAR SSH EJECUTAN LA SIGUIENTE INSTRUCCION

apt-get install openssh-server

Una vez instalado pueden descargase el cliente putty de la siguiente pagina:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

Una vez descargado lo abren y esciben la ip del servidor ubuntu server y dan enter y les mostrara un mensaje cuando se baia a conectar solo le disen que si y ya tendran la consola del servidor en su pc.

Paso numero 1: conectar los cables de red en su respectivo lugar.

tenemos 2 tarjetas de red conectadas a la pc con ubuntu server que son, "etho" y "etho1". En la tarjeta "eth0" (la que viene integrada a la tarjeta madre) vamos a conectar un cable que balla de esta tarjeta directa al modem (su routeador de su proovedor de internet) y en la "eth1" vamos a conectar otro cable que balla conectada a un switch y todas sus maquinas que quieran pasar por squid proxy server deberan de estas conectadas al switch.

*Diagrama de red como quedaria ya con las tarjetas conectadas:

2-tarjetas-de-red-squid-proxy-server

Paso numero 2: Configuracion de ips en las tarjetas de red:

Escribimos:

sudo nano /etc/network/interfaces

Aca la imagen como deben quedar configuradas las 2 tarjetas de red, pueden borrar todo el contenido que tiene este archivo y solo dejan esta configuracion:

configuracion-2-tarjetas-de-red-linux

Ejecutan la siguiente instruccion:

sudo /etc/init.d/networking restart

Esto para cargar la nueva configuracion, luego hacen un ifconfig y podran ver que sus tarjetas ya estan configuradas correctamente.

Ifconfig-linux-proxy

Paso numero 3: Agregar dns

Ejecutamos lo siguiente en la consola:

sudo nano /etc/resolv.conf

Aqui van a dejar la ip que tiene su modem el que les ofrece su provedor de internet por default los de telmex tiene la ip 192.168.1.254

Gateway


Paso numero 4: Instalacion del dhcp


Ejecutamos en la consola el siguiente comando:

sudo apt-get install dhcp3-server 

Esto instalara el servidor dhcp

Ahora tendremos que desirle con que interface de red nos va escuchar, para ello ejecutamos la siguiente sentencia:

sudo nano /etc/default/dhcp3-server 

Y al final tenemos que dejar "eth1" como se muestra en la imagen:

Dhcp-server-linux

Paso numero 5: Configurar el dhcp

Ejecutamos la siguiente sentencia:

sudo nano /etc/dhcp3/dhcpd.conf 

Aquí vamos a dejar lo siguiente:

ddns-update-style none; default-lease-time 3600;
max-lease-time 180000; log-facility local7;
ddns-update-style interim; authoritative;
subnet 192.168.2.0
netmask 255.255.255.0{
range 192.168.2.2 192.168.2.253;
option domain-name-servers 192.168.1.254;
option routers 192.168.2.1;
option broadcast-address 192.168.2.255;

Aqui indicamos la red que vamos a usar el rango de las ips el dns.

reiniciamos el dhcp con el siguiente comando:

sudo /etc/init.d/dhcp3-server restart 

Nos debe de mostrar ok

Paso numero 6: Instalar squid proxy server


Ejecutamos la siguiente instruccion:

sudo apt-get install squid3

Ya instalado tenemos que activar el forward para ello crearemos un archivo que se ejecutara durante el inicio del servidor esto para no tenerlo que activar cada que se reinicie el server.

pero primero escribiremos unas reglas iptables las cuales nos serviran para que digan que va pasar por la red y por donde va pasar.

Ejecutamos la siguiente instruccion:

sudo nano /etc/init.d/iptables.cf 

Y pegamos lo siguiente:

iptables -X iptables -Z iptables -t nat -F 
iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.2.0/24 -d ! 192.168.2.0/24 -p tcp -- dport 80 -j REDIRECT --to-port 3128
iptables -A INPUT -s 192.168.2.0/24 -i eth1 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 993 –j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 465 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p udp --dport 53 -j ACCEPT

Seguido ejecutamos la siguiente instruccion para habilitar el forward:

echo 1 > /proc/sys/net/ipv4/ip_forward

Damos permisos de ejecucion al archivo creado con el siguiente comando:

sudo chmod a+x /etc/init.d/iptables.cf

Instalaremos un programa para que se ejecute al arranque del servidor con el siguiente comando:

sudo apt-get install rcconf

Y lo ejecutamos con la siguiente instruccion:

sudo rcconf

Veran la siguiente imagen:

rcconf-linux-instalar

Aqui seleccionaran iptables.cf

Nota: para seleccionar posicionarce sobre iptables.cf y precionas la tecla espaciadora.

Paso numero 7: Configurar squid

Borrar el archivo de configuracion de squid para ello ejecutamos el siguiente comando:

sudo rm /etc/squid3/squid.conf

Ahora creamos de nuevo el archivo y pegamos lo siguiente con el siguiente comando. ejecutamos el siguiente comando:

sudo nano /etc/squid3/squid.conf

y pegamos lo siguiente:

cache_mem 16 MB
cache_dir ufs /var/spool/squid 700 16 256 ie_refresh on
offline_mode on
#acl all src 0.0.0.0/0.0.0.0
acl red_local src 192.168.2.0/24
acl bloquearip src "/etc/squid3/bloquearip"
acl restringidas src "/etc/squid3/restringidas"
acl libres src "/etc/squid3/libres"
acl localhost src 127.0.0.1/255.255.255.255
acl palabras url_regex "/etc/squid3/palabras" http_access deny bloquearip
http_access deny restringidas palabras
http_access allow libres http_access allow red_local http_access allow localhost http_access deny all

nota:crearemos 3 archivos con los siguientes comandos:

sudo nano /etc/squid3//bloquearip

192.168.2.6
192.168.2.7
192.168.2.8

En este archivo ponemos las ips de las maquinas que no tendran derecho a navegar por internet.

sudo nano /etc/squid3/restringidas

En este archivo pondremos las ips que no podran entrar a los sitios que esten registrados en el archivo de abajo que es palabras.

192.168.2.10
192.168.2.11

sudo nano /etc/squid3/libres

Aquí pondremos las ips de las maquinas que tengan acceso libre a internet 192.168.2.120.

192.168.2.121

sudo nano /etc/squid3/palabras 

facebook
youtube
taringa
twitter

Aquí pondremos palabras comunen, toda pagina que contenga esta palabra en la url sera bloqueada

Hasta aqui la configuracion de squid proxy server: dudas las contesto en los comentarios.

Paso numero 8: instalacion php mysql apache.

Instalamos lamp (linux, apache, mysql, php) con el siguiente comando:

sudo tasksel install lamp-server

Les mostrara la siguiente pantalla, aqui ponen la contraseña que gusten para la base de datos mysql:

contrasena-mysql-linux-ubuntu

seguido nos pedira confirmar la contraseña ponemos la misa que la imagen anterior.

Ok, hasta aqui ya hemos instalado php mysql y apache, ahora podemos ingresar a nuestro navegador y escribimos la ip de nuestro servidor ubuntu server que en este caso es la 192.168.1.100 y si nos muestra la pantalla de xampp hemos hecho las cosas bien.

Paso numero 9: Crear cuenta en no-ip.org

Ahora creamos un dominio para ello entramos a la pagina:

https://www.noip.com/sign-up

ya que tenemos la cuenta creada nos logeamos en la siguiente pagina:

https://www.noip.com/sign-up

crear-dominio-no-ip


Una vez dentro escogemos la opcion manage host.

manage-host-no-ip

Luego precionamos donde dise ADD A HOST un boton rojo a la derecha y nos mostrara la siguiente pantalla donde tenemos que escoger un hostame y un dominio como lo muestra la imagen: una vez que escojas un hostname y un dominio precionar add host abajo a la derecha.



Listo ya tenemos nuestro dominio en no-ip.org esto nos servira para poder ver nuestro servidor de fuera. ahora abrimos el archivo host para ello ejecutamos la siguiente sentencia:

sudo nano /etc/hosts

Y agregamos esta linea al final.

192.168.1.100 nuetro nombre de dominio que creamos en no-ip ejemplo
192.168.1.100 zeok.no-ip.org

Aquí ya podemos poner nuestro nombre de dominio en el navegador y nos debe de mostrar el its work de la imagen anterior

Paso numero 10: instalar phpmyadmin nota:opcional

sudo aptitude install phpmyadmin

Durante la instalacion nos preguntara para que tipo quiere que adapte la instalacion le decimos que para apache2 y damos aceptar.
Nos mostrara un mensaje que dise que ocupa una base de datos para funcionar le desimos que si luego aceptar.
Nos pedira una contraseña, aqui tendremos que poner la que pusimos anteriormente al instalar php mysql y apache para la base de datos mysql.

instalacion phpmyadmin linux ubuntu

Ahora phpmyadmin nos pide otra contraseña esta es la que pondremos para poder acceder a el por medio de la web ponemos la que gusten pero qe no se les olvide, confirman contraseña.

Instalacion-mysql-linux-php-apache

Ahora ya pueden acceder al phpmy admin de la siguiente manera: ingresan al navegador y escriben:

192.168.1.100/phpmyadmin 

usuario:root
contraseña: la que pusieron durante la instalacion del php myadmin.

Paso numero 11: Instalar ejabberd:

Ejecutamos la siguiente instruccion:

sudo apt-get install ejabberd 

Una vez instalado paramos el servicio con el siguiente comando

sudo /etc/init.d/ejabberd stop

Ahora vamos a configurar el administrador y el host para ello entramos en el siguiente archivo:

sudo nano /etc/ejabberd/ejabberd.cfg

Y buscamos las siguientes lineas:

%% Admin user
{acl, admin, {user, "", "localhost"}}.
%% Hostname
{hosts,   ["localhost"]}. y la editamos por esta
%% Admin user
{acl, admin, {user, "admin", "192.168.1.100"}}.
%% Hostname
{hosts, ["192.168.1.100", "localhost", "dominio que creamos en no-ip"]}.

iniciamos el servicio con el siguiente comando:

sudo /etc/init.d/ejabberd start

Ahora vamos aconfigurar el usuario administrador que configuramos en el paso anterior que es "admin" para ello ejecutamos la siguiente instruccion

Nota:donde dise mypassword va ser su contraseña

sudo ejabberdctl register admin 192.168.1.100 mypassword

Ahora ya pueden entrar al administrador por medio del navegador con esta direccion

 http://192.168.1.100:5280/admin

usuario:admin

contraseña: la que pusieron en el comando anterior

Podremos ver la siguiente pagina: en donde dise 192.168.1.100 crearemos usuarios que esten dentro de nuestra red y en donde esta el nombre de dominio los usuarios que se conectaran de fuera.

Para crear usuarios dan click en donde dise 192.168.100 o el nombre de dominio luego precionan donde dise usuarios y ahi puden crearlos.

Paso numero 12: instalar spark y configurar los clientes en las pcs instalacion de spark:


para ello entramos en la pagina del desarrollador que es la siguiente

http://www.igniterealtime.org/projects/spark/

Una vez descargado el programa lo instalamos en nuestras maquinas que tengamos en nuestra red. una vez instalado agregamos la cuenta de la siguiente forma:

El nombre juan es un nuevo usuario que hice en el administrador de spark

http://192.168.1.100:5280/admin

 Si el usuario esta dentro de nuestra red lan crearemos este usuario en el apartado 192.168.1.100

Como se muestra en la imagen



Y quedaria configurado de la siguiente manera:

Instalacion-spark-ejabber-linux

Pero si nuestro usuario que va usar la cuenta esta fuera de nuestra red lan entonces crearemos otra cuenta en el apartado "nombre de dominio" como lo muestra la siguiente imagen:

instalar-ejabber-linux-ubuntu-spark

Y la configuramos de la siguiente manera:


Y aqui estan las 2 cuentas funcionando, es una captura de logmein es una maquina que esta en el exterior de mi red es una maquina de mi trabajo.

Fin del post. espero este claro, muchas grasias por su visita, compartan sus conocimientos, y que viva el open source...


Etiquetas:


Compartir En redes Sociales

Facebook WhatsApp Youtube

Generic placeholder image
Ing. Obed Sánchez

Gusto por las motos Harley Davidson, el rock n roll y la informática, creador de este blog para difusión del conocimiento libre, interesado en el mundo open source.