Ver también: Squid Proxy Cache más simple aún
Squid es un proxy caché que soporta los protocolos HTTP, HTTPS, FTP y muchos otros. Un proxy reduce el uso de ancho de banda y mejora los tiempos de respuesta haciendo un caché y re-uso de páginas web solicitadas frecuentemente. Squid tiene un amplio control de acceso y acelera el servidor. Puede correr en casi todos los sistemas operativos, incluyendo Windows y su licenciamiento es GNU GPL.
1. Instalar Ubuntu Server LTS 10.04, incluyendo LAMP si lo deseas.
2. Configurar las interfaces de red manualmente y ponerlas estáticas.
admin@server:~$ sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.250
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.88
post-up iptables-restore < /etc/iptables.up.rules
auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
*En donde eth0 será para conectar el acceso a Internet (Cable, DSL, etc.) y eth1 para nuestra red local.
3. Instalar Web Admin (webmin) (opcional).
admin@server:~$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.510-2_all.deb
admin@server:~$ dpkg -install webmin_1.510-2_all.deb
admin@server:~$ sudo apt-get -f install
admin@server:~$ sudo apt-get -f install
https://localhost-IP ADDRES:10000
*Hay que asegurarse de darle permisos en IPTABLES para acceder de forma remota al Webmin.
4. Instalar ClamAV y ClamAV-freshclam.
admin@server:~$ sudo apt-get install clamav clamav-freshclam
5. Instalar squid.
admin@server:~$ sudo apt-get install squid3
Editar el archivo de configuracion de squid3 con nuestro editor favorito.
admin@server:~$ sudo nano /etc/squid3/squid.conf
Y configurar la transparencia y la red local que usará el proxy:
http_port 3128 transparent
acl nuestra_red src 192.168.2.0/24
acl redlocal src 127.0.0.1/255.255.255.255
http_access allow nuestra_red
http_access allow redlocal
Donde 192.168.2.0/24 es el rango de IP de la red local.
Probablemente tambien necesitaremos ajustar el tamaño de la cahé:
cache_dir ufs /var/spool/squid3 7000 16 256
Aquí el primer numero denota el tamaño de la caché en megabytes. Guardamos los cambios y reinicamos el demonio squid3:
admin@server:~$ sudo /etc/init.d/squid3 restart
6. Editar el archivo /etc/sysctl.conf
admin@server:~$ sudo nano /etc/sysctl.conf
Descomentar las líneas que habilitan el redireccionamiento de paquetes para IPv4 e Ipv6:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
7. Editar la configuración de IPTABLES para NAT y FILTER.
admin@server:~$ sudo nano /etc/iptables.up.rules
NAT:
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
FILTER:
-A INPUT -i lo -j ACCEPT
-A INPUT -m state -i eth0 -state REALATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # permitir ssh usando putty
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT # permitir acceso a webmin
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT # permitir pop3
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT # permitir smtp
-A INPUT -j LOG
-A INPUT -j DROP
-A FORWARD -i eth1 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A FOWARD -o eth1 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -o eth0 -j ACCEPT
-A FORWARD -d 192.168.2.0/24 -m state --state ESTABLISHED, REALTED -I eth0 -j ACCEPT
8. Editar el archivo /etc/rc.local
admin@server:~$ sudo nano /etc/rc.local
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
9. Reiniciar el servidor.
admin@server:~$ sudo shutdown -r now
10. Finalmente, configurar los clientes (computadoras de la red local) con dirección IP estática y como puerta de enlace o gateway la IP del servidor. Debemos asegurarnos de que la dirección IP en los clientes esté en el mismo rango que se configuró en el paso 2.
Fuente: Ubuntu Geek
Gracias por la guia esta bastante bueno lo voy a aplicar, mi pregunta es si en este servidor puedo implementar la segmentacion del ancho de banda dinamico
ResponderEliminarHola Mateito, gracias por visitar el blog.
EliminarPara hacer esto que quieres conjuntamente con un Squid lo recomendable es implementar un portal cautivo sea con pfSense u otra distro de este tipo como Zentyal.
Un saludo...
hola, que tal. tengo una duda, lo que pasas es que soy nuevo, pero nuy nuevo, y puse todos estos comandos tal y como estan, pero al momento de querer abrir internet con firefox, no me lo permite me dice algo asi
ResponderEliminarServer not found
Firefox can't find the server at www.google.com.
Check the address for typing errors such as
ww.example.com instead of
www.example.com
If you are unable to load any pages, check your computer's network
connection.
If your computer or network is protected by a firewall or proxy, make sure
that Firefox is permitted to access the Web.
nose si se tenga que hacer algo adicional de manera grafica o de modo ya fisico, disculpen mi ignorancia
espero que me puedan hechar la mano.
Hola anonimo. Que version de Ubuntu y de Squid estas usando. Las cosas cambian con el tiempo y este post ya tendra casi 3 años. Es posible que ya no funcione igual. Por favor dime especialmente que version de Squidusas. Un saludo.
Eliminaren el paso 3, en la parte de instalar WebAdmin, en mi caso me funcionó asi:
ResponderEliminardpkg -i webmin_1.510-2_all.deb