Diferencia entre revisiones de «Puente de red»

De Guía Ubuntu
Saltar a: navegación, buscar
m (Generar el Puente)
(paso 1)
 
(No se muestran 13 ediciones intermedias realizadas por un usuario)
Línea 10: Línea 10:
 
== ¿Cuándo se utiliza? ==
 
== ¿Cuándo se utiliza? ==
  
El caso más común se genera cuando tengo tres o más equipos y sólo uno de ellos posee internet. Además están todos conectados por red y quiero que desde cada uno de los equipos se pueda visualizar los otros, ya sea para compartir archivos o para otro fin.
+
Cuando queremos que internet o los datos de la red pasen por un computador hacia otro, pero pasando por un tercero, sin necesidad de que éste último reciba los datos.
 
+
A continuación se muestra un esquema de la red, pero se omite que además el PC2 recibe internet por otra tarjeta, como eth2 o wlan0:
+
  
'''PC1'''-eth0-------eth0-'''PC2'''-eth1-----------eth0-'''PC3'''
+
Computador1 -------- Computador que tiene el Puente ----------- Computador 2
  
 
== Instalación ==
 
== Instalación ==
Línea 30: Línea 28:
 
1) Vamos a la carpeta ''etc'' y luego a ''init.d''
 
1) Vamos a la carpeta ''etc'' y luego a ''init.d''
  
  $ cd ..
+
  $ cd /etc/init.d
$ cd ..
+
$ cd etc
+
$ cd init.d
+
  
 
2) Creamos el archivo ''puente'', utilizando el editor de texto gedit. Con ello se abrirá un archivo vacío.
 
2) Creamos el archivo ''puente'', utilizando el editor de texto gedit. Con ello se abrirá un archivo vacío.
Línea 39: Línea 34:
 
  $ sudo gedit puente
 
  $ sudo gedit puente
  
3) Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet inalámbrica, entonces ''wlan0'' será la tarjeta que recibe internet. Y ''eth0'' y ''eth1'' serán añadidas al puente y se comportarán como una sola.
+
3) Depende del caso en que estemos; mirar más abajo.
 +
 
 +
 
 +
4) Cerramos el archivo guardando y le damos permiso de ejecución:
 +
 
 +
sudo chmod +x puente
 +
 
 +
5) Lo añadimos para ejecución al inicio:
 +
 
 +
sudo update-rc.d puente defaults
 +
 
 +
6) Reiniciar el equipo
 +
 
 +
7) Configuramos los otros equipos:
 +
 
 +
Los otros equipos deben tener la misma máscara y una IP de forma 192.168.0.X (no usar el 1 y sin repetir entre ellas), además de especificar la Puerta de Enlace y el [[Servidor DNS]] a 192.168.0.1 u otro de internet que les plazca (208.67.222.222 u 208.67.220.220).
 +
 
 +
Para más detalles ver abajo la sección Configurando el Puente
 +
 
 +
== Paso tres: Configurando el Puente ==
 +
 
 +
= Compartir internet que llega desde el módem a otro computador =
 +
 
 +
A continuación se muestra un esquema de la red:
 +
 
 +
Modem (Internet)-------eth0-'''C1'''-eth1-----------eth0-'''C2'''
 +
 
 +
Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet por el módem conectado a ''eth0'', entonces ''eth0'' será la tarjeta que recibe internet. Y ''eth0'' y ''eth1'' serán añadidas al puente y se comportarán como una sola.
  
 
Además se creará un nuevo elemento ''br0'', el Puente (se puede verificar en Herramientas de Red).
 
Además se creará un nuevo elemento ''br0'', el Puente (se puede verificar en Herramientas de Red).
 +
 +
También es importante que habrá que habilitar DHCP para br0
  
 
  #!/bin/bash
 
  #!/bin/bash
 
   
 
   
 
  #Creacion del Puente
 
  #Creacion del Puente
 
 
  brctl addbr br0
 
  brctl addbr br0
 
  brctl addif br0 eth0
 
  brctl addif br0 eth0
Línea 54: Línea 77:
 
  ifconfig eth0 0.0.0.0 up
 
  ifconfig eth0 0.0.0.0 up
 
  ifconfig eth1 0.0.0.0 up
 
  ifconfig eth1 0.0.0.0 up
  ifconfig br0 192.168.0.1 netmask 255.255.255.0 up
+
  ifconfig dhclient br0
route add default gateway 192.168.0.1
+
 
   
 
   
  #Compartiendo Internet
+
  #Compartiendo internet
 +
iptables --flush
 +
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +
iptables -A FORWARD -i br0 -j ACCEPT
 +
echo 1 > /proc/sys/net/ipv4/ip_forward
 +
 
 +
= Compartir internet que llega desde un computador a otro computador =
 +
 
 +
A continuación se muestra un esquema de la red:
 +
 
 +
'''Cx'''-ethx (internet)-------------eth0-'''C1'''-eth1---------------eth0-'''C2'''
 +
 
 +
Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet por el un computador conectado a ''eth0'', entonces ''eth0'' será la tarjeta que recibe internet. Y ''eth0'' y ''eth1'' serán añadidas al puente y se comportarán como una sola.
 +
 
 +
Además se creará un nuevo elemento ''br0'', el Puente (se puede verificar en Herramientas de Red).
 +
 
 +
En Cx, ethx tendrá la IP 192.168.0.1 / 255.255.255.0
 +
 
 +
En C1 eth0 y eth1 serán br0 y tendrán la IP 192.168.0.2 / 255.255.255.0
 +
 
 +
En C2 eth0 deberá tener la IP 192.168.0.3 / 255.255.255.0 / gateway 192.168.0.1 / DNS 192.168.0.1 u otro personal (208.67.222.222 por ejemplo).
 +
 
 +
#!/bin/bash
 
   
 
   
 +
#Creacion del Puente
 +
brctl addbr br0
 +
brctl addif br0 eth0
 +
brctl addif br0 eth1
 +
ifconfig eth0 down
 +
ifconfig eth1 down
 +
ifconfig eth0 0.0.0.0 up
 +
ifconfig eth1 0.0.0.0 up
 +
ifconfig br0 192.168.0.2 netmask 255.255.255.0 up
 +
route add default gateway 192.168.0.1
 +
 +
#Compartiendo internet
 
  iptables --flush
 
  iptables --flush
  iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
+
  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 
  iptables -A FORWARD -i br0 -j ACCEPT
 
  iptables -A FORWARD -i br0 -j ACCEPT
 
  echo 1 > /proc/sys/net/ipv4/ip_forward
 
  echo 1 > /proc/sys/net/ipv4/ip_forward
  
4) Cerramos el archivo guardando y le damos permiso de ejecución:
+
= Internet llega al computador central =
 +
El caso más común se genera cuando tengo tres o más equipos y sólo uno de ellos posee internet. Además están todos conectados por red y quiero que desde cada uno de los equipos se pueda visualizar los otros, ya sea para compartir archivos o para otro fin.
  
sudo chmod +x puente
+
A continuación se muestra un esquema de la red, pero se omite que además el PC2 recibe internet por otra tarjeta, como eth2 o wlan0:
  
5) Lo añadimos para ejecución al inicio:
+
'''C1'''-eth0-------eth0-'''C2'''-eth1-----------eth0-'''C3'''
  
sudo update-rc.d puente defaults
+
Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet inalámbrica, entonces ''wlan0'' será la tarjeta que recibe internet. Y ''eth0'' y ''eth1'' serán añadidas al puente y se comportarán como una sola.
  
6) Reiniciar el equipo
+
Además se creará un nuevo elemento ''br0'', el Puente (se puede verificar en Herramientas de Red).
 +
 
 +
En C1, eth0 deberá tener la IP 192.168.0.2 / 255.255.255.0 / gateway 192.168.0.1 / DNS 192.168.0.1 u otro personal (208.67.222.222 por ejemplo).
 +
 
 +
En C2 eth0 y eth1 serán br0 y tendrán la IP 192.168.0.1 / 255.255.255.0
 +
 
 +
En C3 eth0 deberá tener la IP 192.168.0.3 / 255.255.255.0 / gateway 192.168.0.1 / DNS 192.168.0.1 u otro personal (208.67.222.222 por ejemplo).
 +
 
 +
#!/bin/bash
 +
 +
#Creacion del Puente
 +
 +
brctl addbr br0
 +
brctl addif br0 eth0
 +
brctl addif br0 eth1
 +
ifconfig eth0 down
 +
ifconfig eth1 down
 +
ifconfig eth0 0.0.0.0 up
 +
ifconfig eth1 0.0.0.0 up
 +
ifconfig br0 192.168.0.1 netmask 255.255.255.0 up
 +
route add default gateway 192.168.0.1
 +
 +
#Compartiendo Internet
 +
 +
iptables --flush
 +
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
 +
iptables -A FORWARD -i br0 -j ACCEPT
 +
echo 1 > /proc/sys/net/ipv4/ip_forward
  
7) Configuramos los otros equipos:
 
  
Dónde se ha instalado,el puente cogerá la dirección IP 192.168.0.1 con máscara de subred 255.255.255.0
+
[[Categoría:Administración del sistema]]
Los otros equipos deben tener la misma máscara y una IP 192.168.0.X (sin repetir el 1 y sin repetir entre ellas), además de especificar en [[Servidor DNS]] a 192.168.0.1 u otro de internet que les plazca.
+

Última revisión de 02:24 18 dic 2009

Descripción

Un 'puente' o bridge es un dispositivo de interconexión de redes de ordenadores que opera en la capa 2 (nivel de enlace de datos) del modelo OSI. Este interconecta dos segmentos de red (o divide una red en segmentos) haciendo el pasaje de datos de una red hacia otra, con base en la dirección física de destino de cada paquete.

Un bridge conecta dos segmentos de red como una sola red usando el mismo protocolo de establecimiento de red.

En el fondo, hace funcionar dos o más tarjetas de red como si fuesen 1 sola, utilizando sólo una dirección IP.

Esto permite conectar tres o más computadores a Internet cuando ésta llega sólo a uno de ellos.

¿Cuándo se utiliza?

Cuando queremos que internet o los datos de la red pasen por un computador hacia otro, pero pasando por un tercero, sin necesidad de que éste último reciba los datos.

Computador1 -------- Computador que tiene el Puente ----------- Computador 2

Instalación

Si usted utiliza Kubuntu, revise también Guía Kubuntu en la sección sobre trabajar en la Terminal.

Bridge-Utils

Primero necesitamos el paquete que contiene las utilidades del Puente de Red.

$ sudo apt-get install bridge-utils

Generar el Puente

Para esto, generaremos un sencillo script. Primero debemos crear un archivo llamado puente en /etc/init.d , entonces escribimos en la terminal:

1) Vamos a la carpeta etc y luego a init.d

$ cd /etc/init.d

2) Creamos el archivo puente, utilizando el editor de texto gedit. Con ello se abrirá un archivo vacío.

$ sudo gedit puente

3) Depende del caso en que estemos; mirar más abajo.


4) Cerramos el archivo guardando y le damos permiso de ejecución:

sudo chmod +x puente

5) Lo añadimos para ejecución al inicio:

sudo update-rc.d puente defaults

6) Reiniciar el equipo

7) Configuramos los otros equipos:

Los otros equipos deben tener la misma máscara y una IP de forma 192.168.0.X (no usar el 1 y sin repetir entre ellas), además de especificar la Puerta de Enlace y el Servidor DNS a 192.168.0.1 u otro de internet que les plazca (208.67.222.222 u 208.67.220.220).

Para más detalles ver abajo la sección Configurando el Puente

Paso tres: Configurando el Puente

Compartir internet que llega desde el módem a otro computador

A continuación se muestra un esquema de la red:

Modem (Internet)-------eth0-C1-eth1-----------eth0-C2

Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet por el módem conectado a eth0, entonces eth0 será la tarjeta que recibe internet. Y eth0 y eth1 serán añadidas al puente y se comportarán como una sola.

Además se creará un nuevo elemento br0, el Puente (se puede verificar en Herramientas de Red).

También es importante que habrá que habilitar DHCP para br0

#!/bin/bash

#Creacion del Puente
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig eth0 down
ifconfig eth1 down
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
ifconfig dhclient br0

#Compartiendo internet
iptables --flush
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i br0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Compartir internet que llega desde un computador a otro computador

A continuación se muestra un esquema de la red:

Cx-ethx (internet)-------------eth0-C1-eth1---------------eth0-C2

Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet por el un computador conectado a eth0, entonces eth0 será la tarjeta que recibe internet. Y eth0 y eth1 serán añadidas al puente y se comportarán como una sola.

Además se creará un nuevo elemento br0, el Puente (se puede verificar en Herramientas de Red).

En Cx, ethx tendrá la IP 192.168.0.1 / 255.255.255.0

En C1 eth0 y eth1 serán br0 y tendrán la IP 192.168.0.2 / 255.255.255.0

En C2 eth0 deberá tener la IP 192.168.0.3 / 255.255.255.0 / gateway 192.168.0.1 / DNS 192.168.0.1 u otro personal (208.67.222.222 por ejemplo).

#!/bin/bash

#Creacion del Puente
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig eth0 down
ifconfig eth1 down
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
ifconfig br0 192.168.0.2 netmask 255.255.255.0 up
route add default gateway 192.168.0.1

#Compartiendo internet
iptables --flush
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i br0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Internet llega al computador central

El caso más común se genera cuando tengo tres o más equipos y sólo uno de ellos posee internet. Además están todos conectados por red y quiero que desde cada uno de los equipos se pueda visualizar los otros, ya sea para compartir archivos o para otro fin.

A continuación se muestra un esquema de la red, pero se omite que además el PC2 recibe internet por otra tarjeta, como eth2 o wlan0:

C1-eth0-------eth0-C2-eth1-----------eth0-C3

Pegamos en el archivo recién abierto el script que está más abajo. Primero debemos definir, cuales son las tarjetas de red. Suponiendo que se recibe internet inalámbrica, entonces wlan0 será la tarjeta que recibe internet. Y eth0 y eth1 serán añadidas al puente y se comportarán como una sola.

Además se creará un nuevo elemento br0, el Puente (se puede verificar en Herramientas de Red).

En C1, eth0 deberá tener la IP 192.168.0.2 / 255.255.255.0 / gateway 192.168.0.1 / DNS 192.168.0.1 u otro personal (208.67.222.222 por ejemplo).

En C2 eth0 y eth1 serán br0 y tendrán la IP 192.168.0.1 / 255.255.255.0

En C3 eth0 deberá tener la IP 192.168.0.3 / 255.255.255.0 / gateway 192.168.0.1 / DNS 192.168.0.1 u otro personal (208.67.222.222 por ejemplo).

#!/bin/bash

#Creacion del Puente

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig eth0 down
ifconfig eth1 down
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
ifconfig br0 192.168.0.1 netmask 255.255.255.0 up
route add default gateway 192.168.0.1 

#Compartiendo Internet

iptables --flush
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i br0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward