SNAT con iptablesHasta ahora, hemos discutido los principios generales de NAT, los tipos de NAT, y lo que cada tipo de NAT lo hace. Configurando el KernelPor lo general, cada distribución de Linux viene con un kernel compilado con soporte de netfilter, iptables herramienta, y todos los módulos necesarios para la realización de Network Address Translation. La nat Tabla netfilterLa tabla nat-contiene tres cadenas PREROUTING, POSTROUTING y salida. Cada cadena puede contener normas que se examinan de forma secuencial hasta que una de las normas afecta a un paquete, el mismo que para las cadenas en la tabla de netfilter. Estas cadenas se pueden ver mediante la emisión de el comando iptables-t nat-L. SNAT con iptablesSNAT es uno de los tipos más comúnmente utilizada de NAT con iptables, debido a la topología utilizada.
Podemos establecer SNAT para que todos los dispositivos de acceso a la red 192.168.1.0/24 la Internet con una sola regla: iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -J SNAT - to 1.2.3.1 Este comando tiene el mismo efecto que el comando siguiente, que se usaría si la dirección IP de eth1 fueron asignadas en forma dinámica, o si se utilizó un módem dial-up en lugar de una tarjeta Ethernet: iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -J MASQUERADE Digamos que nuestro proveedor de filtros de todos los puertos mayores que 1024. En este caso, tendremos que cambiar el puerto de origen, así, y no sólo la dirección IP de origen. Esto se puede hacer por: iptables-t nat-A POSTROUTING-s 192.168.1.0/24-j SNAT - to 1.2.3.1: El usuario de portátil visto en la figura anterior es un ventilador de IRC y nos da una llamada diciendo que no puede conectarse a cualquier red IRC. Esto significa que el módulo de ip_conntrack necesita un poco de ayuda, y podemos darle a él mediante la inserción del módulo de ip_conntrack_irc en el núcleo. Además, podemos querer que los usuarios puedan realizar con éxito las conexiones FTP, y lo que queremos agregar el módulo ip_conntrack_ftp también. modprobe ip_conntrack_irc o # insmod ip_conntrack_irc Después de unas semanas, los usuarios de ordenadores portátiles ha convencido a otros usuarios en la red 192.168.1.0/24 de lo maravilloso que es el IRC, así que tenemos unos 20-30 usuarios que se conectan a la red IRC mismo. Ahora, han comenzado a quejarse de lo difícil que es para conectar a la red IRC, ya que la red IRC sólo permite que algunas conexiones de la misma dirección IP. Nosotros calculamos que el 32 direcciones IP son suficientes para ellos, así que llame al proveedor para asignar nosotros a / 27 de subred IP pública. Para un dinero extra pocos, que nos asignan 1.2.4.0/27. Tenemos que cambiar el estado inicial a:
iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -J SNAT - to 1.2.4.0-1.2.4.32 Que dejar de quejarse, pero nos damos cuenta de que no podemos utilizar la dirección IP pública de nuestro router NAT Linux para más. Vamos a añadir que también, así que les damos una dirección IP adicional: iptables-t nat-A POSTROUTING-s 192.168.1.0/24-j SNAT - to 1.2.4.0-1.2.4.32 - A 1.2.3.1 Uno de nuestros usuarios tiene una discusión en IRC, y se inundaron, mientras que SNAT MAPPS su dirección IP a 1.2.4.15. Nuestro proveedor de inundación sistema de detección automática de filtros que la dirección IP y nos envía un correo electrónico que nos informe al respecto. Tenemos que dejar de SNAT para asignar las direcciones internas a la dirección IP, así que haga lo siguiente: iptables-t nat-A POSTROUTING-s 192.168.1.0/24-j SNAT - A 1.2.4.0-1.2.4.14 - a 1.2.4.16-1.2.4.32 - a 1.2.3.1 Un individuo de la contabilidad con la dirección IP 192.168.1.19 se queja de que no pueden acceder a ordenadores con direcciones IP a través de 192.168.1.32. Es posible que haya cambiado su máscara de red a 255.255.255.227, por lo que todos los paquetes IP de su computadora a las computadoras en 192.168.1.0/24 que no están en 192.168.1.0/27 pasar por el router Linux y recibe SNATed. Para resolver este problema, tenemos dos alternativas. iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -D! 192.168.1.0/24 -J SNAT - to 1.2.4.0-1.2.4.32 - a 1.2.3.1 La segunda opción que tenemos es a SNAT solo los paquetes que salen a eth1: iptables-t nat-A POSTROUTING-s 192.168.1.0/24 -O eth1 -J SNAT - to 1.2.4.0-1.2.4.32 - a 1.2.3.1 Nuestro proveedor conectado otra ubicación de nuestra empresa para el mismo equipo, y ya que estamos en la misma VLAN, no tenemos para construir un túnel entre los enrutadores en cada localidad, pero sólo la ruta de las redes a través del router Linux en ese lugar . En el sitio, tenemos la red 192.168.2.0/24. Tenemos que dejar que los ordenadores en nuestros ordenadores de acceso a la red en la red 192.168.2.0/24 sin SNATing ellos: iptables-t nat-I POSTROUTING-s 192.168.1.0/24-d 192.168.2.0/24-j ACCEPT Este comando insertar la regla antes de la regla de NAT, así que si cualquier paquete de 192.168.1.0/24 está destinado a cualquier IP de la red 192.168.2.0/24, esta regla partido y la cadena no se analiza más a fondo, por lo que SNAT no tendrá lugar. iptables-t nat-I POSTROUTING-s 192.168.1.31 -P tcp - dport 6666:6669 -J DROP Podríamos preguntar al administrador de lo que Jane está permitido hacer. Por ejemplo, si el administrador quiere permitir el acceso Jane web sólo podemos hacer lo siguiente: iptables-t nat-I POSTROUTING-s 192.168.1.31 -P tcp - dport! 80 -J DROP Esta norma no se ocupará de SNAT Jane's IP al intentar acceder a algo más que el puerto 80 TCP, pero se SNAT su dirección IP cuando se accede a los servicios UDP porque los paquetes UDP no coincidirá con esta regla, por lo que será capaz de acceder a cualquier servidor DNS fuera de nuestra red. DNAT con iptablesMapa una dirección IP pública (digamos 1.2.4.1) para hacer frente a la computadora de su oficina de IP privada (192.168.1.50). Esto es, por supuesto, DNAT: iptables-t nat-A PREROUTING-d 1.2.4.1 --j DNAT - to 192.168.1.50 Así que el siguiente paso es llamar a ella y decirle que cada vez que intenta conectarse a la computadora de su oficina de casa, ella debe conectarse a 1.2.4.1. iptables-t nat-A PREROUTING-s 1.2.5.17-d 1.2.4.2 --p tcp - dport 80-j DNAT - to 192.168.1.100 Pensamos que puede ser que desee SSH al servidor de Intranet desde cualquier lugar. No sería una idea muy conveniente asignar una dirección IP al servidor de intranet, ya que es vital para nuestra empresa, y si se descubre un error SSH, no queremos que el servidor sea hackeado. Una buena idea sería trazar un mapa un alto número de puerto al puerto de SSH en el servidor de intranet (esto es PAT o NAPT). iptables-t nat-A PREROUTING-d 1.2.4.2 -P tcp - dport 65521-j DNAT - to 192.168.1.100:22 De esta manera, cuando no estamos en la oficina y queremos SSH en el servidor de intranet, podemos abrir una conexión SSH a 1.2.4.2 puerto 65521. iptables-t nat-A PREROUTING-d 1.2.4.5-p tcp - dport 80-j DNAT - to 192.168.1.200 Proxy transparenteDe proxy transparente es una manera de obligar a los usuarios a utilizar un servidor proxy, incluso si sus navegadores están configurados para no. Usted probablemente sabe acerca de los beneficios de utilizar un servidor proxy de ahorro de ancho de banda para las páginas en caché y la aplicación de control de acceso (por ejemplo, negar a las descargas de archivos que tienen extensiones peligrosas). iptables-t nat-A PREROUTING-s 192.168.1.0/24 -P tcp - dport 80-j REDIRECT - to-port 3128 Si queremos permitir que el gerente (que tiene la dirección IP 192.168.1.50) para omitir el servidor proxy, lo hacemos de esta manera: iptables-t nat-I INPUT-s 192.168.1.50 --p tcp - dport 80-j ACCEPT Así que esta norma será igualado en la cadena PREROUTING, y ella será SNATed en la cadena POSTROUTING. un artículo presentado por Philip A Clara Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "SNAT con iptables" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 382 users browsing the articles directory |
|
|