Hola, que tal como estan amigos? me gustaria compartir con todos ustedes el proceso de instalación y configuración de un servidor de internet basado en linux con el proposito de optimizar todo trafico de internet, así como denegar accesos a algunas urls como así también balancear el proceso de descargas de archivos en algunas pc's.
Pues bien, nada de rodeos, y vamos al grano.
Versión Utilizada:
Requisitos en Hardware:- Características de la Pc Minimas (PII - 4 GB - 128) No muy recomendable
Características de la pc Optimas ( PIII - 10 GB - 256 Ram) Recomendable - Para instalación en modo Gateway necesitamos 2 tarjetas de red Ethernet
Hardware disponible para Testing:
- PIII - HDD 10 GB - 256 RAM
Ambiente de Pruebas:
- (1) Un Servidor de Internet ( ClarkConnect)
- (5) Computadores con conexión Ethernet
- (3) Notebooks con conexión wireless
Procesos Básicos de Instalación y Configuración del Servidor:- Iniciamos la instalación por cd del Clark dando todas las especificaciones técnicas en el momento que nos pida:
IP WAN: Ip que nos facilitará el Proveedor de Internet
IP LAN: Ip privada que agregaremos a nuestra lan. ( en mi caso elegi la red 10.20.30.0)
- Creamos un usuario / contraseña para el superusuario en linux
- Luego de esto configuramos los servicios que tendremos activos en el linux, en este caso el squid tildamos para poder luego configurar en linea de comandos.
Activar el Proxy Cache en modo Transparente:
- Podemos usar tanto el editor vi como el nano en esta versión, en este caso es mas comodo para mi usar el nano.
[root@apofis /]# nano /etc/firewall
#################################
#
# Administración del Servicio firewall
#
#################################
- # Firewall mode
#--------------
# Possible configurations:
# gateway trustedgateway standalone trustedstandalone dmz
MODE="gateway"
# Interface roles
#----------------
EXTIF="eth0" # ---> para el trafico hacia internet
LANIF="eth1" # ---> para el trafico hacia la lan
DMZIF=""
WIFIF=""
HOTIF=""
# Bandwidth management (QoS)
#---------------------------
BANDWIDTH_QOS="on"
BANDWIDTH_UPSTREAM=1000000
BANDWIDTH_DOWNSTREAM=100000
#BANDWIDTH_UPSTREAM_BURST=3000
#BANDWIDTH_UPSTREAM_CBURST=3000
#BANDWIDTH_DOWNSTREAM_BURST=3000
#BANDWIDTH_DOWNSTREAM_CBURST=3000
# Multipath
#----------
MULTIPATH="off"
MULTIPATH_WEIGHTS=""
# Squid configuration
#--------------------
#Por defecto esta off, colocamos on para activar el el servicio de cache transparente
SQUID_TRANSPARENT="on"
SQUID_FILTER_PORT="8080"
# Una vez configurado, grabamos con control + x y vamos al squid.
Configuración del Squid:
[root@apofis ]# cd /etc/squid
[root@apofis]# nano squid.conf
- # NETWORK OPTIONS
----------------------------
visible_hostname apofis
http_port 3128
http_port 8080
#Default:
icp_port 3130
cache_mem 16 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 700 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
# ACCESS CONTROLS
# -----------------------
# Configuración minima recomendaa:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.0/8
acl webconfig_lan src 10.20.30.0/24
acl webconfig_to_lan dst 10.20.30.0/24
## denegar descargas de ejecutables ( Revisar mime.conf)
acl descargadenegada rep_mime_type ^application/octet-stream
### denegar sitios www guardados en el archivo sitiosdenegados
acl sitiosdenegados url_regex "/etc/squid/sitiosdenegados"
### denegar palabras que coincidan con el listado que tiene el archivo dominiosdenegados
acl dominiosdenegados url_regex "/etc/squid/dominiosdenegados"
### agregar los ip preferidos de la red que pueden tener acceso total
acl preferidos src "/etc/squid/preferidos"
### Protocolos a habilitar
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 81 #
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#Negar acceso a sitios que figuran en sitios denegados, a los IP que no figuran en preferidos
#-------------------------------------------------------------------------------------
http_access deny sitiosdenegados !preferidos
#Negar acceso a dominios que figuran en el archivo denegados, a los IP que no figuran en
# preferidos
#------------------------------------------------------------------------------------------
http_access deny dominiosdenegados !preferidos
#Habilitar acceso al servidor linux hacia internet
#-------------------------------------------------
http_access allow localhost
# Denegar acceso a todos los puertos distintos a los citados
http_access deny !Safe_ports
# Denegar accesos a conexiones distintas al SSL
http_access deny CONNECT !SSL_ports
# Reglas de control
# Denegar bajada de archivos que figuran en descargadenegada distinta a ip que no estan en la
# lista de preferidos
# ------------------------------------------------
http_reply_access deny descargadenegada !preferidos
# Habilitar la lista de ip que figuran en Preferidos
# ------------------------------------------------
http_access allow preferidos
# Denegar los demas accesos
# -----------------------------------------------
http_access deny all
# Visualizar el correo del administrador de la red
cache_mgr grolando.agustin@gmail.com
# HTTPD-ACCELERATOR OPTIONS
-----------------------------------------
## Debe especificarse la IP de cualquier servidor HTTP en la
# red local o bien el valor virtual
httpd_accel_host 10.20.30.1
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_port 10.20.30.1:3128
http_port 127.0.0.1:3128
Configuración del archivo preferidos:
[root@apofis ]# cd /etc/squid
[root@apofis]# nano preferidos
10.20.30.1 # servidor de internet
10.20.30.2 # pinguino --> ethernet
10.2030.6 # nabucodonosor --> ethernet
10.20.30.9 # router bridge wifi --> repetidor de señal wifi por dhcp
10.20.30.6 # Sliver --> ethernet
10.20.30.7 #Amenofis --> ethernet
10.20.30.10 # Notebook wifi
10.20.30.11 # Nabucodonosor ---> ethernet
10.20.30.13 # ColosoRodas ---> wifi
Configuración del archivo sitiosdenegados:
[root@apofis ]# cd /etc/squid
[root@apofis]# nano sitiosdenegados
www.hotmail.com
www.microsoft.com
Configuración del archivo dominiosdenegados: [root@apofis ]# cd /etc/squid
[root@apofis]# nano dominiosdenegados
# colocar palabras que describan el dominio a negar
sexo
violencia
Esta configuración basica la tengo funcional y operativa para casi 10 maquinas en estos
momentos con Qos y reglas de accesos.
Espero que este mini tutorial pueda servirles para configurar y administrar un servidor soho
para internet.
Saludos Cordiales desde Asunción del Paraguay.
Rolando.