Diginota
No hay Resultados
Ver todos Los Resultados
  • Actualidad
    • Noticias
  • Curiosidades y Artículos
  • Cómo hacer
  • Mas..
    • Aplicaciones
    • Varios
    • Tutoriales Varios
    • Trucos de Windows
    • Android
    • iPhone
    • Viajes y Turismo
  • / Google News
  • Actualidad
    • Noticias
  • Curiosidades y Artículos
  • Cómo hacer
  • Mas..
    • Aplicaciones
    • Varios
    • Tutoriales Varios
    • Trucos de Windows
    • Android
    • iPhone
    • Viajes y Turismo
  • / Google News
No hay Resultados
Ver todos Los Resultados
Morning News
No hay Resultados
Ver todos Los Resultados
Home Tutoriales Varios

iptables y NAT

diginota by diginota
en Tutoriales Varios
TwitterFacebookpin

Un muy buen artículo de Ricardo Galli Granada, publicado hace algún tiempo en www.bulma.net, que recupero aquí porque pienso que a más de uno le dará una idea de como proteger su red de forma rápida, sencilla y muy segura, además de hacer nat y masquerading.

En nuestros ejemplos vamos aprovechar las capacidades de control de conexiones que tienen las iptables. Primero, hay que tener en cuenta que el forwarding debe estar habilitado:
echo 1 > /proc/sys/net/ipv4/ip_forward
Y también recordar que para cambiar las reglas, primero hay que “borrar” las anteriores, por ejemplo:
iptables -F
iptables -t nat -F

Ahora veremos ejemplos particulares, en todos los ejemplos suponemos que las direcciones de nuestra red privada son 192.168.0.0/24 (es decir la máscara es de 24 bits: 255.255.255.0)

Sólo quiero hacer masquerading de una IP asignada dinámicamente

Te puede Interesar..

Cómo recuperar fotos de la papelera en Mac

Las mejores herramientas de paráfrasis que facilitan la escritura a los escritores

Caso común para un Linux que obtiene direcciones dinámicas de su proveedor de Internet, en el ejemplo lo doy con la interfaz ippp0, que es la que se usa para RDSI, pero podéis sustituirla por caulquier interfaz que uséis (eth0, ppp0…).
Además de hacer el NAT, vamos a permitir el tráfico ICMP (de los pings…) ya que está recomendado que así funcione. Veremos que las última 3 reglas, que no son obligatorias, peri os las recomiendo, lo que haces es descartar cualquier paquete que no sea de uina conexión previamente establecida.
# Habilito el NAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0
-j MASQUERADE
# Dejo pasar los paquetes ICMP
iptables -A INPUT -i ippp0 -p ICMP -j ACCEPT
# Acepto paquetes de conexiones ya establecidas
iptables -A INPUT -p TCP -m state –state RELATED
-j ACCEPT
# Rechazamos paquetes de conexiones nuevas
iptables -A INPUT -i ippp0 -m state –state NEW,INVALID -j DROP
# Rechazamos paquetes de forwarding de conexiones no establecidas
iptables -A FORWARD -i ippp0 -m state –state NEW,INVALID -j DROP

Pero también quiero permitir conexiones entrantes SSH y HTTP

Eso es fácil, antes de las últimas reglas “DROP” hay que poner unas que permitan las conexiones nuevas a esos puertos. Las reglas nos quedan de la siguiente forma:
# Habilito el NAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0
-j MASQUERADE
# Dejo pasar los paquetes ICMP
iptables -A INPUT -i ippp0 -p ICMP -j ACCEPT
# Permito conexiones al puerto 80 (HTTP)
iptables -A INPUT -i ippp0 -p TCP –dport 80 -m state –state NEW
-j ACCEPT
# Permito conexiones al puerto 22 (SSH)
iptables -A INPUT -i ippp0 -p TCP –dport 22 -m state –state NEW
-j ACCEPT
# Acepto paquetes de conexiones ya establecidas
iptables -A INPUT -p TCP -m state –state RELATED
-j ACCEPT
# Rechazamos paquetes de conexiones nuevas
iptables -A INPUT -i ippp0 -m state –state NEW,INVALID -j DROP
# Rechazamos paquetes de forwarding de conexiones no establecidas
iptables -A FORWARD -i ippp0 -m state –state NEW,INVALID -j DROP

Si queréis “abrir” otros puestos, sólo tenéis que agregar esas nuevas reglas.

Tengo dirección IP fija, ¿como lo hago?

Es muy fácil, en vez de usar masquerading, vamos a usar una solución mejor: source NAT. Sólo hay que cambiar la regla del nat (la primera en los ejemplos anteriores). Si la interfaz que tiene la IP fija es la eth0, y la IP fija es la 111.111.111.111, nos quedaría:
# Habilito el SNAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 111.111.111.111
# Dejo pasar los paquetes ICMP
iptables -A INPUT -i eth0 -p ICMP -j ACCEPT
# Permito conexiones al puerto 80 (HTTP)
iptables -A INPUT -i eth0 -p TCP –dport 80 -m state –state NEW
-j ACCEPT
# Permito conexiones al puerto 22 (SSH)
iptables -A INPUT -i eth0 -p TCP –dport 22 -m state –state NEW
-j ACCEPT
# Acepto paquetes de conexiones ya establecidas
iptables -A INPUT -p TCP -m state –state RELATED
-j ACCEPT
# Rechazamos paquetes de conexiones nuevas
iptables -A INPUT -i eth0 -m state –state NEW,INVALID -j DROP
# Rechazamos paquetes de forwarding de conexiones no establecidas
iptables -A FORWARD -i eth0 -m state –state NEW,INVALID -j DROP

Vale, pero ahora quiero redireccionar las conexiones a un puerto hacia un ordenador interno de mi LAN

Esto se llama destination NAT es bastante sencillo, sólo hay que poner una regla adicional. Por ejemplo, si queremos redireccionar las conexiones al puerto 80 hacia el puerto 80 de un ordenador en la red interna (192.168.0.111).
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT
–to 192.168.0.111:80
Otro ejemplo sencillo y muy útil, redireccionar el puerto 2022 del ordenador haciendo de NAT o firewall hacia el puerto 22 (ssh) de un ordenador de la red interna.
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 2022 -j DNAT
–to 192.168.0.111:22
Voilà, funciona. También podéis leer los Howtos y tutoriales, que están hasta en castellano.

 

Fuente: macnux

 

TweetSharePin

Relacionados ...

Cómo recuperar fotos de la papelera en Mac

Cómo recuperar fotos de la papelera en Mac

1 Jul
Las mejores herramientas de paráfrasis que facilitan la escritura a los escritores 2

Las mejores herramientas de paráfrasis que facilitan la escritura a los escritores

17 Jun
Como poner logos, frases o dibujos en ropas o camisetas con Photoshop

Como poner logos, frases o dibujos en ropas o camisetas con Photoshop

13 Jun
Descargar e instalar el iOS 16 en tu iPhone es extremadamente simple

Descargar e instalar el iOS 16 en tu iPhone es extremadamente simple

8 Jun
Las aplicaciones de entretenimiento para celulares más valoradas

Las aplicaciones de entretenimiento para celulares más valoradas

9 Nov

BGeraser Vs. Photoshop: Cuál es un mejor programa para eliminar el fondo

¿Por qué necesita un certificado de firma de código para su aplicación de Android?

Huawei Mate 50 Series lanzado con conectividad satelital, Snapdragon 8+ Gen 1 (4G)

Apareció el Redmi A1,  especificaciones y precio

Galaxy A23 5G se abre a la venta en EE. UU. con Snapdragon 695 a un precio atractivo

Cómo grabar videollamadas en Zoom, Skype, Google Meet, Teams y más

¿Cómo cambiar palabras automáticamente sin plagio?

¿Será 2023 un mejor año para las criptomonedas?

Las aplicaciones de entretenimiento para celulares más valoradas

BGeraser Vs. Photoshop: Cuál es un mejor programa para eliminar el fondo

¿Por qué necesita un certificado de firma de código para su aplicación de Android?

Publicidad

Follow me on Blogarama
Diginota.com

© 2022 DIGINOTA - All Rights Reserved by Diginota.

  • Contacto
  • Sobre Diginota
  • Politicas de Privacidad
  • Política de Cookies

No hay Resultados
Ver todos Los Resultados
  • Actualidad
    • Noticias
  • Curiosidades y Artículos
  • Cómo hacer
  • Mas..
    • Aplicaciones
    • Varios
    • Tutoriales Varios
    • Trucos de Windows
    • Android
    • iPhone
    • Viajes y Turismo
  • / Google News

© 2022 DIGINOTA - All Rights Reserved by Diginota.