Muchas veces nos pasa que cuando migramos un servidor o una aplicación a un nuevo servidor cambia la dirección IP y ya sea porque nuestros servidores DNS aún apuntan a la vieja dirección o nuestros clientes no han actualizado la IP en sus PC todavía apuntan al viejo servidor.

En este tutorial vamos a ver en 3 pasos sencillos como redireccionar el tráfico de nuestra red a una nueva IP utilizando IPtables con las reglas de NAT.

Les recuerdo que para ejecutar estos comandos necesitan tener privilegios de administrador (root). En caso que utilices Ubuntu debes colocar sudo al principio de cada comando.

Voy a suponer que no tienes echa ninguna regla en la tabla nat que afecte el PREROUTING o el POSTROUTING.

Vamos a comenzar

1. Habilitar el IP Forwarding

El IP Forwarding sirve para darle capacidad de Router a nuestro servidor es decir que pueda recibir y reenviar los paquetes por una o varias interfaces, ya sea que realice una transformación de dichos paquetes o no.

Para esto solo tenemos que ejecutar el siguiente comando:

echo "1" > /proc/sys/net/ipv4/ip_forward

También podemos ejecutar:

sysctl net.ipv4.ip_forward=1

Luego de esto tenemos que reniciar nuestro servicio de red ejecutando:

/etc/init.d/networking restart

Nota: En algunas distribuciones es network y no networking

También puedes ejecutar en algunas distribuciones como Fedora, CentOS, RedHat:

service network restart

2. Crear reglas en IPtables

Voy a suponer que la dirección IP del servidor viejo es 5.5.5.5 y la queremos redireccionar a la IP nueva 7.7.7.7 con el puerto 9999.

iptables -t nat -A PREROUTING -p tcp --dport 9999 -j DNAT --to-destination 7.7.7.7:9999

Esta primera regla redirecciona todo lo que entre por el puerto TCP 9999 a la dirección 7.7.7.7 puerto 9999 esta es una regla de PREROUTING que afecta a la tabla nat (-t nat) de IPtables. Si quisieras redireccionarlo a un puerto diferente solo tienes que cambiar 7.7.7.7:#puerto al que quieras, también tienes que estár pendiente si el puerto es tcp o udp.

La segunda regla es para enmascarar la dirección IP, de modo que el servidor nuevo va a ver como si todas las peticiones vienen de la IP 5.5.5.5:

iptables -t nat -A POSTROUTING -j MASQUERADE

3. Listo

Ya puedes probar que tus reglas están funcionando, con una PC que apunte al viejo servidor prueba que te responde el nuevo servidor, puedes hacer un tracert. Tambien puedes hacer un tcpdump en el nuevo servidor y ver que todas las peticiones están llegando del viejo servidor.

Otras opciones

Puedes modificar la regla de PREROUTING para otros casos por ejemplo:

Redireccionar el tráfico que viene de una IP específica:

iptables -t nat -A PREROUTING -s 10.1.1.15 -p tcp --dport 9999 -j DNAT --to-destination 7.7.7.7:9999

Redireccionar el tráfico de un segmento de red:

iptables -t nat -A PREROUTING -s 10.1.1.0/24 -p tcp --dport 9999 -j DNAT --to-destination 7.7.7.7:9999

Redireccionar el tráfico que llegue por una interfaz específica:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 9999 -j DNAT --to-destination 7.7.7.7:9999

Y cualquier mezcla de los anteriores para más información puedes ver las páginas man de iptables:

man iptables

O ver este tutorial de IPtables muy completo en inglés.

Este tutorial está basado en el tutorial How-To: Redirecting network traffic to a new IP using IPtables que está hecho por chantra, con algunas mejoras y cambios.

Espero que les sirva cualquier duda o comentario no duden en escribir

Saludos

Olivers

Si quieres recibir notificaciones de cuando se publican nuevos artículos y tutoriales en Vensign por favor subscribete a nuestro boletín RSS.

Hoy estaré dando un pequeño curso del servidor Samba para conectar redes Linux y Windows en el IRC de Ubuntu-ve están todos invitados el servidor a las 8 pm hora Venezuela (GMT-4:30):

irc.freenode.net

Canal:

#ubuntu-ve

Pueden encontrar mas información aquí:

https://wiki.ubuntu.com/VenezuelaTeam/CharlasIrc

Esperemos que este sea el primero de mucbos. Los espero por allá

Saludos

Olivers

Actualización: Se actualizó este tutorial a la versión 1.4.3 que resuelve varios problemas de seguridad y algunos de rendimiento para más información lee aquí

En esta oportunidad vamos a ver como instalar y configurar OpenSIPS 1.4 (anteriormente OpenSER que se dividió en dos ramas una de ellas OpenSIPS) y como hacer que los usuarios se autentiquen contra una base de datos en MySQL.

OpenSIPS es un servidor SIP, y sirve como elemento principal de cualquier solución VoIP basada en SIP. Tiene una maquina de enrutamiento muy flexible y robusta totalmente configurable, tiene capacidad de unificar servicios de voz, video, mensajería instantánea y presencia, es modular y gracias a su alto desempeño soporta soluciones empresariales y carrier-class.

En este caso vamos a ver como instalarlo sobre Debian Etch 4.0 y hacer que los usuarios se registren contra una base de datos en MySQL 5.

Vamos a comenzar

Continúa leyendo

En este mini tutorial les voy a explicar como pueden cambiar y recuperar la clave de root y otros usuarios en MySQL.

Cambiar la clave usando mysqladmin

Si no existe la clave de root para MySQL y nunca la han colocada pueden cambiarla simplemente ejecutando el comando:

Continúa leyendo

En esta oportunidad veremos como instalar y configurar un servidor DNS con Bind9 en Debian 4.0 Etch. El protocolo de DNS (Domain Name System) es el que básicamente permite realizar la traducción entre un nombre de una página Web como lo entendemos nosotros (por ejemplo www.vensign.com) a una dirección IP (172.30.30.1) que es lo que realmente entienden los servidores en Internet. Es un servicio fundamental y sin el simplemente no existiría Internet como la conocemos hoy en día.

BIND9 es un servidor de DNS de código abierto, gratis y que es utilizado por la gran mayoría de los servidores DNS que existen en Internet.

Voy a suponer que tienes un cierto nivel de conocimientos de Linux (no mucho se requiere realmente) solo que sepas abrir un terminal y escribir comandos eso es todo. Te aconsejo que sigas esta guía paso a paso para que le saques el mayor provecho.

Esta instalación fue probada en servidores Debian Etch 4.0. Funciona bien en servidores basados en Debian y en versiones de Ubuntu previas a 8.04.

Vamos a comenzar…

Continúa leyendo

En esta oportunidad les voy a mostrar como instalar Shorewall que es un potente Firewall (o mejor dicho interfaz para configurar el netfilter) para Linux.

La configuración que voy a presentar es para el caso de una computadora con una sola interfaz de red (es decir una computadora personal que quieras proteger), en otra oportunidad les explicaré como hacer un servidor que sirva de Firewall a una red.

Esta instalación está dirigida a Debian y Ubuntu tanto las versiones de Desktop como de Server.

Empecemos…Continúa leyendo

En este tutorial les mostraré como utilizar las distintas utilidades que nos ofrece ATP, normalmente tanto en Debian (como en Ubuntu como en cualquier otra distribución basada en Debian) sabemos como utilizar el comando apt-get para instalar y actualizar aplicaciones. Pero atp nos ofrece mucho más así que vamos a ver como sacarle provecho.

Continúa leyendo

En este tutorial vamos a hablar de cómo instalar y configurar un servidor FTP con restricción de usuarios en Debian / Ubuntu, proftp es un servidor de ftp robusto y fácil de configurar vamos a ver como lo instalamos:

Este tutorial está basado en la sigueinte guía http://ubuntuforums.org/showthread.php?t=79588

Continúa leyendo

Samba es un programa Open Source que nos permite compartir archivos e impresoras desde una computadora Linux a PC con MS Windows como si fuera una mas de ella, lo cual es muy util ya que podemos tener un servidor de archivos y de impresión basado en Linux colocado en una red donde se conectan PC con Windows.

La página oficial de Samba la puedes encontrar aquí

En este tutorial veremos como instalar Samba en un PC con Ubuntu o Debian instalado.

Continúa leyendo

Un servidor LAMP se refiere a la mezcla de Linux+Apache+Mysql+PHP en este caso les voy a mostrar como configurar un servidor con los siguientes componentes:

  • Apache 2 – Servidor Web de Linux
  • MySQL 5 – Servidor de base de datos MySQL
  • PHP4/5 – Lenguaje interpretado PHP
  • phpMyAdmin – Software de administración de base de datos via web

Continúa leyendo