Re: 2 ips publicas en el mismo servidor linux
"Federico Figueroa C." <[email protected]>
| Newsgroups | gmane.linux.region.costa-rica.events,gmane.org.user-groups.linux.gulcr |
|---|---|
| Organization | Inalambrica.net |
| Message-ID | <[email protected]> |
Primero pido disculpas por enviar el correo a ambas listas y personal, pero este correo fue enviado a la lista equivocada, linuxdemo está enfocada a eventos relacionados u organizados por el grupo, la lista para este tipo de preguntas es [email protected], y al no saber si estas inscrito a la misma te respondo personalmente. Por favor, si necesitás continuar esta cadena hacelo en la lista adecuada. Más información en www.linux.or.cr On Mon, 15 Dec 2003 10:07:17 -0600 (CST) Jorge Aguilar <[email protected]> wrote: > Tengo 2 ips publicas xxx.xxx.xxx.xxx gw lll.lll.lll.ll > y zzz.zzz.zzz.zzz gw mmm.mmm.mmm.mmm > > Necesito que las dos direcciones permitan accesar > desde internet los servicios en el linux server. Para esto se necesitan las herramientas de manipulación de red "iprotue2", todas las distribuciones modernas tienen este paquete ya. Para saber si tu distribución las instaló ya simplemente das "ip address list" y te debe listar las direcciones IP en cada interfaz, si no lo hace no tenés las herramientas adecuadas. Ademas de estas herramientas es necesario que el kernel tenga soporte para "[*] IP: advanced router" "[*] IP: policy routing" ambas bajo "[*]TCP/IP networking" en "Networking Options". Una vez que estos requerimientos se cumplen la cosa es muy sencilla. Lo que se requiere es crear una tabla de ruteo para cada red, esto se hace editando el archivo /etc/iproute2/rt_tables en el cual se encuentran las tablas de ruteo a las que el kernel puede hacer referencia, un archivo común debe tener al menos local, main y default, todas con un número antes. Para agregar una nueva simplemente le asignás un numero de índice y un nombre a cada una de las tablas nuevas que vas a agregar, por ejemplo: 50 racsa1 60 racsa2 Una vez que se tienen esas dos tablas se especifican los gateways y reglas necesarias, en este caso la tabla racasa1 le asignamos el gateway lll.lll.lll.lll de esta forma: ip route add default via lll.lll.lll.lll table racsa1 y a racsa2 mmm.mmm.mmm.mmm: ip route add default via mmm.mmm.mmm.mmm table racsa2 cuando ya tenés estas dos reglas podes asegurarte que este todo correcto con ip route list table <table> donde <table> es racas1 o racsa2. Cualquier error extraño al dar alguno de estos comandos significa que no tenés el soporte adecuado en el kernel o que rt_tables está mal configurado. Luego necesitás definir las reglas que indican que subred sale por cual gateway, en este caso: ip rule add from xxx.xxx.xxx.xxx lookup racsa1 ip rule add from zzz.zzz.zzz.zzz lookup racsa2 Si xxx y zzz fueran subredes es necesario dar el IP de la subred en notación CIDR, por ejemplo si la red de xxx tiene una máscara de 24bits (o lo que es lo mismo 255.255.255.0) se pondría xxx.xxx.xxx.0/24. Y para finalizar es necesario refrescar el cache del ruteo del kernel para que haga caso a las reglas nuevas con la instrucción: ip route flush cache Esto y mucho más sobre las capacidades de ruteo del kernel 2.4 están documentadas en www.lartc.org (Linux Advanced Routing and Traffic Control), en ese sitio hay un how-to bastante claro en donde se puede aprender mucho más, como por ejemplo a balancear el tráfico entre ambas líneas (requiere parches de kernel externos) entre otras cosas. Federico Figueroa C. -- Desuscripción: escriba a [email protected], tema 'unsubscribe' Problemas a: [email protected]. http://www.linux.or.cr/listas