NOTA: Si los dispositivos cliente (
computer B
en este ejemplo) desean obtener Internet a través de la computadora de la puerta de enlace, tal vez aún necesiten configurar la resolución del servidor de nombres. Esto no se explica aquí (una puerta de enlace no necesariamente sirve a Internet).
Estoy tratando de entender los fundamentos del enrutamiento de redes.
Así que estoy experimentando con mi LAN (no necesito internet por ahora, solo comunicaciones LAN).
Sé que las cuestiones de configuración de red son bastante complejas, pero solo estoy tratando de hacer que una computadora (digamos A) actúe como puerta de enlace para otra (digamos B) (ambas ejecutan Ubuntu Linux).
Solo necesito que B sea capaz de alcanzar el enrutador, eso solo es accesible para A.
Este es el caso:
Router for computer A --> 192.168.0.1
Computer A - eth0 --> 192.168.0.2
Computer A - eth1 --> 192.168.1.1
Computer B - eth0 --> 192.168.1.2
La computadora A se conecta bien al enrutador .
La computadora A y B se conectan bien (ping, SSH ... etc.) entre ellas .
La computadora B no puede alcanzar el enrutador para la computadora A.
Estaba pensando que solo agregando la computadora B A como puerta de enlace predeterminada y activando el reenvío de IP en A haría que B pudiera alcanzar el enrutador para A:
luis@ComputerB:~$ sudo route add default gw 192.168.1.1
luis@ComputerB:~$ sudo routel
target gateway source proto scope dev tbl
127.0.0.0 broadcast 127.0.0.1 kernel link lo local
127.0.0.0 8 local 127.0.0.1 kernel host lo local
127.0.0.1 local 127.0.0.1 kernel host lo local
127.255.255.255 broadcast 127.0.0.1 kernel link lo local
192.168.1.0 broadcast 192.168.1.2 kernel link eth0 local
192.168.1.2 local 192.168.1.2 kernel host eth0 local
192.168.1.255 broadcast 192.168.1.2 kernel link eth0 local
default 192.168.1.1 eth0
169.254.0.0 16 link eth0
192.168.1.0 24 192.168.1.2 kernel link eth0
Y en la computadora A (la puerta de enlace intermedia):
root@ComputerA:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
La computadora B todavía puede hacer ping a la computadora A, pero el enrutador para A no responde:
luis@ComputerB:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
^C
(Sin respuesta de ping)
¿Es este el procedimiento correcto para hacer que una computadora con Linux funcione como una puerta de enlace para otra computadora de una manera simple?
fuente
Para que el enrutamiento funcione correctamente entre dos computadoras Linux que actúan como puertas de enlace, hay varias cosas que deben implementarse:
Las rutas deben agregarse a ambas interfaces en el enrutador.
Se debe especificar una puerta de enlace local para la red remota en ambas puertas de enlace. Esto permite que las computadoras en la red local sepan dónde enviar paquetes para la red remota. La puerta de enlace debe ser la dirección IP de la computadora que enviará paquetes a la red remota.
El enmascaramiento de IP debe estar habilitado para permitir que NAT funcione entre las puertas de enlace.
Es posible que deba especificar un origen y un destino ya que está utilizando la misma interfaz para enmascarar:
y la otra puerta de entrada:
Para cada puerta de enlace, el tráfico de la red local debe aceptarse en la interfaz apropiada como esta:
o
Existen numerosos enlaces y preguntas similares a las que se puede hacer referencia para resolver los problemas que tiene.
Lo que parece estar mal en este caso particular es que la configuración de ruta y puerta de enlace no está completa en ambas computadoras y la traducción de direcciones de red (NAT) no se ha habilitado usando iptables, lo que permite que las puertas de enlace lleven la solicitud desde una computadora en la otra subred de su parte.
Hacer esto también es fundamental al configurar una conexión a Internet, ya que usted es responsable de un extremo de la conexión (por ejemplo, usar una computadora Linux como puerta de enlace para una conexión PPPoE).
fuente