Conectar una red local a internet: NAT

Por Paco Aldarias Raya

Impreso: 22 de mayo 2006

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacodebian

Con Linux Debian. En Valencia (España)

El documento tiene version .html, y .pdf, cambiando en el navegador la parte final podrás acceder a ambos.

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General

1 Versiones

2 Introducción

Vamos a ver como conectar a internet una red.

El conectar una red a internet, equivale a hacer NAT, o a la conexión compartida a internet de windows.

Partimos del supuesto que nuestro ordenador tiene la ip externa, esto ocurre cuando conectamos por modem, por cable modem, o por adsl en monopuesto.

Si tenemos el adsl en multipuesto, la ip externa la tiene el router, no podemos hacer nat, ya q es el router el q esta haciendo nat. Es decir, q habrá q poner como puerta de enlace el router.

Activando el nat, todos los ordenadores tendran internet, si ponen como puerta de enlace la ip local del ordenador q hace nat.

Haciendo un pc de nat, no es necesario poner proxy para que los pcs de la red tengan conexión a internet. El proxy lo único que hace es guardarse las páginas, con lo cual acelera la conexión.

También es posible tener proxy, y no tener nat, con lo cual, tendremos acceso a www y ftp solamente.

3 El kernel

El kernel debe tener soporte de iptables y de nat.

Es decir, debe salir esto con la orden cat.

#cat /usr/src/linux-2.4.20/.config | grep IPTABLES
CONFIG_IP_NF_IPTABLES=y

#cat /usr/src/linux-2.4.20/.config | grep NAT
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y

4 El software

Tenemos que instalar el software de iptable:
# apt-get install iptables

Iptables también es llamado cortafuegos. Pero hace muchas más cosas.

5 Script que activa el nat

Suponemos que la tarjeta de red eth0 es la q sale a internet.

Este es el cotenido del fichero: /etc/init.d/nat.sh
------------------- inicio ---------------------------
#!/bin/bash
echo Montando el NAT
/sbin/modprobe iptable_nat
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
-------------------fin---------------------------

Este script lo que hace es:

5.1 Activarlo en el arranque

Una vez creado el fichero /etc/init.d/nat.sh

Le damos permiso de ejecución:
chmod 700 /etc/init.d/nat.sh

Creamos un enlace en el arranque:
ln -s /etc/init.d/nat.sh /etc/rc2/S50nat

6 Conectar 2 adsl, a 2 redes en el mismo linux

Un linux debian precisamente con tres placas de red, eth0 con la ip 192.168.1.2, y su gateway es 192.168.1.1, un router adsl.

De la misma manera eth1 tiene el ip 192.168.0.2 y su gateway 192.168.0.1, otro router adsl.

La ultima placa de red, tiene dos ip, eth2 192.168.100.1 y eth2:0 192.168.200.1, ya que mediante un switch se conecta a dos redes 100.0 y 200.0.

La idea es que debian dirija todo lo que viene de 100.0 por el primer adsl, y lo de 200.0 por el otro adsl.

echo 251 adsl1 >>/etc/iproute2/rt_tables
echo 252 adsl2 >>/etc/iproute2/rt_tables

ip rule add from 192.168.100.0/24 table adsl1
ip rule add from 192.168.200.0/24 table adsl2

ip route add default via 192.168.1.1 dev eth0 table adsl1
ip route add default via 192.168.0.1 dev eth1 table adsl2

7 Bibliografía

  1. Ubicación de este documento:
    http://usuario.tiscali.es/paco25abril/

  2. Pagina de linux :
    http://inicia.es/de/pacodebian

  3. NAT:
    http://www.insflug.org/COMOs/NAT-COMO/NAT-COMO.html


Índice de Materias

Sobre este documento...

Conectar una red local a internet: NAT

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html nat -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation

The translation was initiated by on 2006-05-22


2006-05-22