Puente de red

De Guía Ubuntu
Saltar a: navegación, buscar

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