Red de conocimiento informático - Problemas con los teléfonos móviles - Conversión de nombre de dominio Squid

Conversión de nombre de dominio Squid

Squid es el software de servidor proxy más popular en Linux. Es potente y admite servidores proxy para HTTP, FTP, Gopher, SSL, WAIS y otros protocolos. La configuración es simple y sólo necesita modificar ligeramente el archivo de configuración para ejecutar el servidor proxy. Además, Squid tiene una función de almacenamiento en caché de páginas, acepta solicitudes de descarga de los usuarios y procesa automáticamente los datos descargados.

Preparativos

Los requisitos de hardware de Squid son: la memoria no puede ser inferior a 128 M y cuanto más rápida sea la velocidad del disco duro, mejor. Es mejor utilizar un disco duro SCSI específico del servidor, que requiere pocos requisitos de CPU y está por encima de 400 MHz. El servidor proxy administrado por el autor es Inter2150, que se instala con Red Hat Linux 7.2 y viene con Squid. Hay dos tarjetas de red, una es la dirección externa eth0 (como 211.88.99.66) y la otra es la dirección interna eth1 (como 192.438+068.5.1). Si Gnome u otra interfaz gráfica está instalada, puede configurar las direcciones IP para ambas tarjetas de red en netconfig; de lo contrario, puede cambiar los archivos ifcfg-eth0 e ifcfg-eth1 en la ruta /etc/sysconfig/network-script.

Primero edite ifcfg-eht0, incluyendo los siguientes elementos:

DEVICE=eth0 (que indica qué tarjeta de red usar)

IP addr = 211. 88. 99. 66 (Configure la dirección IP de esta tarjeta de red).

Máscara de red=255.255.255.252 (Establecer máscara de subred)

De manera similar, edite ifcfg-eth1 y luego ejecute el comando reinicio de red para que la configuración surta efecto. Después de configurar eth0 y eth1, puede usar el comando ifconfig para verificar si la configuración fue exitosa.

Si el servidor tiene solo una tarjeta de red, no se preocupe, Linux puede vincular varias direcciones IP a una tarjeta de red. La configuración en la interfaz gráfica es muy sencilla, por lo que no entraré en detalles. Si está configurado en estado de texto, puede copiar ifcfg-eth0, nombrarlo ifcfg-eth0:1 y combinarlo en dos tarjetas de red.

Instalación de Squid

1. Instalar Linux

Al instalar Linux, preste atención a la partición del disco duro. Es mejor no dejar que el sistema se particione por sí solo, sino hacerlo manualmente. Por lo general, el sistema Linux tiene solo una partición de intercambio (seleccione el intercambio de Linux como sistema de archivos), que se utiliza como memoria virtual. Se recomienda establecer el tamaño de la partición de intercambio en el doble de la memoria. Cuando el tamaño del disco duro supera los 8G, para evitar colocar el archivo del kernel del sistema fuera de la pista 1024, se debe crear una partición de arranque de 128M (un poco más grande, sin errores). Si arranca como un subdirectorio de la partición raíz, los archivos del kernel se instalarán en cualquier lugar de la partición raíz. Debido a que va a ser un servidor proxy, se recomienda asignar otra partición "var" como búfer de Squid, así que intente asignarla de acuerdo con el tamaño del disco y finalmente asigne todo el espacio restante en el disco duro a la partición raíz. .

Instalación de Squid

Se recomienda a los principiantes que instalan Squid que elijan Squid al instalar Linux. No es el elemento seleccionado predeterminado y no está en la categoría seleccionada. Debes buscarlo en la lista detallada. Si no está instalado y no desea reinstalar el sistema, puede descargar el software Squid desde www.squid-cache.org.

Configuración del servidor proxy de Squid

Después de instalar Squid, está casi listo para usar. Abra el archivo /etc/Squid/squid.conf con un editor (inicie sesión como root). El archivo de configuración de squid * * * tiene 125 elementos de configuración, pero en términos generales, solo modifique algunos elementos de configuración. Busque "track_ftp"

El comando modprobe cargará automáticamente el módulo especificado y sus módulos relacionados. El módulo Iptables_filter se carga automáticamente en tiempo de ejecución.

Construyamos paso a paso un firewall de filtrado de paquetes utilizando IPtables. Es importante tener en cuenta que en este ejemplo, principalmente proporciona protección para varios servidores internos.

Establezca una ruta de almacenamiento para las reglas de IPtables: IPtables-restore/etc/sys config/IPtables.

Ahora considere las reglas. Lo que hay que tener en cuenta aquí es que la interacción servidor/cliente es bidireccional, por lo que no sólo se deben establecer las reglas para los paquetes salientes, sino también las reglas para los paquetes de retorno. Primero establezcamos reglas de filtrado para paquetes provenientes de Internet.

1. Primero prohíba el reenvío de paquetes de datos y luego configure gradualmente los paquetes de datos permitidos.

2. Primero, permita los paquetes TCP desde todos los puertos de la red interna.

3. Volver a permitir paquetes FTP para fines de intranet (192.168.5.0/24).

4. Permitir paquetes TCP de solicitud sin conexión desde Internet para fines de intranet.

5. El último recibe todos los paquetes UDP, principalmente oicq y otros servicios que utilizan UDP.

Los paquetes 6.icmp se usan generalmente para pruebas de red, por lo que todos los paquetes icmp pueden pasar. Pero los piratas informáticos suelen utilizar icmp para realizar ataques, como "ping de la muerte", por lo que utilizamos extensiones de coincidencia de límites para limitarlo. Limite los paquetes icmp, independientemente de su procedencia, para permitir el paso de un paquete por segundo. La condición que desencadena este límite es 10 paquetes.

No es necesario permitir paquetes para servicios WWW, todos los servicios WWW están representados por Squid.

iptables -P descartar adelante

iptables-A FORWARD-p TCP-s 198.168 5 . ADELANTE-p TCP-s 0/0-sport FTP-datos-d 198.168 5 0/24-I eth 0-j ACEPTAR

iptables-A ADELANTE-p TCP-d 198.168. 24/0! ACEPTAR

iptables -A ADELANTE -p UDP -d 198.168 0/24 -I eth 0 -j ACEPTAR

iptables -A entrada -p icmp -m límite-límite. 1/s-limit-burst 10 -j aceptado

Descripción:

-A agrega la nueva regla al final de la cadena (-A). (Use -I para insertar la regla, el número de secuencia de la posición de inserción se escribe después de Adelante, -D elimina la regla en una determinada posición de la cadena y -R reemplaza la regla en una determinada posición de la cadena).

Las diferencias entre la cadena de reenvío, la cadena de entrada y la cadena de salida son las siguientes:

Si la dirección de destino del paquete de datos es local, el sistema enviará el paquete de datos. a la cadena de entrada. Si se supera la verificación de reglas, el paquete de datos se envía al proceso local correspondiente para su procesamiento; si la verificación de reglas falla, el sistema descarta el paquete.

2. Si la dirección de destino del paquete de datos no es local, es decir, debe reenviarse, el sistema enviará el paquete de datos a la cadena de reenvío. Si se supera la verificación de reglas, el paquete de datos se envía al proceso local correspondiente para su procesamiento; si la verificación de reglas falla, el sistema descarta el paquete.

3. Si el paquete es generado por el proceso del sistema local, el sistema lo enviará a la cadena de salida. Si se supera la verificación de reglas, el paquete de datos se envía al proceso local correspondiente para su procesamiento; si la verificación de reglas falla, el sistema descarta el paquete.

-s especifica la dirección de origen y -d especifica la dirección de destino.

-p especifica el protocolo, como -p tcp.

-i o -o especifica la interfaz de red. Cabe señalar que para la cadena de entrada solo puede haber -i, es decir, solo habrá paquetes entrantes; de manera similar, para la cadena de salida, solo puede haber -o, es decir, solo habrá paquetes salientes; . Sólo las cadenas de reenvío pueden tener interfaces de red -i y -o.

Dejar significa descartar el paquete si cumple las reglas, mientras que Aceptar significa lo contrario.

Luego, ejecute el comando IPtables -L para ver las reglas establecidas, y use el comando IPtables -save para escribir las reglas en un archivo.

A través de los pasos anteriores, hemos establecido un firewall relativamente completo, abriendo solo unos pocos puertos al mundo exterior, para brindar a los clientes un acceso fluido a Internet.

2. Otras sugerencias

Por razones de seguridad, es mejor no ejecutar demasiados servicios en una sola máquina. Los servicios Telnet y ftp generalmente se proporcionan para facilitar la depuración, pero esto suele ser un riesgo de seguridad y puede restringirse en /etc/host.allow y /etc/host.deny. Por ejemplo, el segmento de intranet de la LAN es: 192.168. 0.0, puede agregar una línea en el archivo hosts.allow: telnet:192.168.0 0/255.255 . Agregue una línea a hosts.deny: all:all. Porque host.allow se ejecuta primero y luego host.deny. Por lo tanto, solo el servicio telnet en el segmento de red interno está habilitado y cerrado externamente. Si deseas activar otros servicios, puedes agregarlos. Si desea agregar un nombre de máquina, puede agregar "@ABC" después de la IP (ABC representa el nombre de la máquina). Para cerrar todos los servicios, todas las IP y todos los nombres de máquinas, puede escribir "todos:todos@todos" en host.deny. Después de configurar y ejecutar el comando xinetd.d, la configuración tendrá efecto. Si desea acceder al servidor proxy de forma remota, es mejor utilizar SSH (porque telnet es una transmisión clara, lo cual es muy inseguro y SSH puede entenderse como telnet cifrado). Su configuración y aplicación son relativamente sencillas, por lo que no entraré en detalles.