1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Interesante

  • MSN Messenger en Linux
    La mensajería instantánea es una mezcla de correo electrónico y chat, por un lado nos permite enviar mensajes a amigos (conocidos como contactos) que estén en ese momento conectados a Internet y, ya en las últimas versiones de las distintas aplicaciones de mensajería, disponen de "salas" de chat en donde te encuentras con gente desconocida.
    La mensajería instantánea nace en Israel gracias a la idea de un padre y su hijo que crean el primer programa llamado ICQ en el año 1996. Más tarde, en el año 1998, America Online compra Mirabili (empresa propietaria de ICQ). Según AOL, ICQ tenía 20 millones de usuarios activos en el año 2000 pero esta cifra ha ido decreciendo constantemente debido a la aparición de nuevos programas de mensajería.

  • Cómo montar un Gateway en Linux mediante IP Masquerading
    Un gateway o puerta de enlace es normalmente un equipo informático configurado para dotar a las máquinas de una red local (LAN) conectadas a él de un acceso hacia una red exterior, generalmente realizando para ello operaciones de traducción de direcciones IP (NAT: Network Address Translation). Esta capacidad de traducción de direcciones permite aplicar una técnica llamada IP Masquerading, usada muy a menudo para dar acceso a Internet a los equipos de una LAN compartiendo una única conexión a Internet, y por tanto, una única dirección IP externa.
  • Sesión gráfica remota con Linux Sesión gráfica remota con Linux

    Cuando se tienen distintas máquinas en una LAN y se desea aprovechar el poder y recursos de una de estas y ahorrar trabajó, una sesión gráfica remota será de gran utilidad. Lograr esto es muy fácil. Se puede hacer de dos formas, una accediendo vía SSH, RHS o Telnet, y la otra utilizando alguna de las pantallas de acceso gráfico, como GDM.
  • Manual de Ubuntu
    Ubuntu Linux: Ubuntu es un sistema operativo del tipo "Desktop", basado en el núcleo Linux y en algunas herramientas del Proyecto GNU. La estructura técnica del sistema está basada en el Proyecto Debían, pero el ideario está inspirado en los principios de la corriente Ubuntu, palabra africana que significa "humanidad hacia los demás", un movimiento humanista encabezado por el obispo Desmond Tutu, Premio Novel de la Paz 1984. Económicamente el proyecto se sostiene con aportaciones de la empresa Canonical del sudafricano Mark Shuttleworth. Presenta por defecto el escritorio GNOME y la última versión disponible es la 5.10 la que puedes bajar de su pagina Web http://www.ubuntulinux.org/. Lo que resalta de esta distrito es su simplicidad, facilidad de uso y su gran comunidad, por todos estos factores muy recomendable para novatos tanto como para aquellos con más experiencia en el mundo Linux.
  • Cómo configurar SENDMAIL SENDMAIL

    Sendmail, servidor SMTP muy extendido, con muchos años de andadura (y muchos bugs) Todos los ficheros de configuracion de sendmail se encuentran en el directorio
    /etc o /etc/mail, o en ambos dos.
    El fichero principal es sendmail.cf. Es probablemente el fichero de configuracion mas complejo y dificil
    de manejar de unix.
  • Cómo configurar Apache como servidor WebDAV

    Configuración de Apache, como servidor WebDAV

    En este artículo, explicaré como convertir en Linux, nuestro servidor web Apache (que previamente habremos instalado), en un servidor WebDAV. El fin de este dossier, será el de poder publicar los calendarios que desarrollemos con la aplicación iCal de Apple, de una forma muy similar a como lo haríamos con una cuenta .mac.
    Una vez publicados nuestros calendarios, podrá la gente suscribirse a ellos o consultarlos vía web.

     

07
Ago

iptables y NAT para vagos

Escrito por J. Llorente

PDFImprimir E-mail
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

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.




Si el anterior artículo te ha sido útil o te ha gustado, por favor haz click en alguno de los anuncios que aparecen a continuación, con esta pequeña acción ayudarás a mantener este sitio y nos animarás a seguir trabajando para publicar información de tu interés.


Artículos relacionados:

Configurar un firewall en Linux con iptables
Gateway en Linux mediante IP Masquerading
Manual de IPTABLES
iptables y NAT para vagos

Technorati Tags:
>>

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Últimos contenidos

Facebook conecta

Total visitas

3737949
38.107.179.230
UNITED STATES
US

Quien está en linea

Tenemos 37 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios