¿Cómo configuro NAT para reenviar solicitudes externas?

1

Tengo tres Raspberry Pi conectados a máquinas Linux y una computadora conectada a un enrutador que está conectado a Internet. Mi objetivo es configurar cada Raspberry Pi para que puedan comunicarse entre sí, pero también enrutar automáticamente cualquier solicitud de Internet a través del enrutador de la computadora principal para que pueda hacer ping a los sitios web reales y obtener una respuesta.

Hasta ahora, he usado:

sudo ifconfig eth0 192.168.1.X netmask 255.255.255.0 up
sudo route add default gw 192.168.1.254 eth0

Donde X es 10, 11 y 12 respectivamente para cada una de las máquinas Linux. La dirección IP de la máquina con acceso a Internet es 192.168.1.254, pero ahora necesito configurar NAT para que las tablas IP reenvíen correctamente las solicitudes de Internet de las máquinas Linux que usan la Raspberry Pi.

A partir de ahora, la tabla de IP de la máquina conectada a Internet es:

Kernel IP routing table
Destination    Gateway       Genmask         Flags    Metric    Ref    Use    Iface
192.168.0.0    *             255.255.255.0   U        1         0      0      eth1
default        192.168.0.1   0.0.0.0         UG       0         0      0      eth1

Soy algo nuevo en ingeniería de redes, por lo que cualquier ayuda / consejo sería muy apreciada. Actualmente, las cuatro máquinas pueden hacer ping entre sí y obtener respuestas. El único problema que estoy enfrentando es hacer que las tres máquinas Linux hagan ping a sitios web como este ping www.google.com.

weskpga
fuente
Lamentablemente, las preguntas sobre redes domésticas están fuera de tema.
Mike Pennington
Esto es para un laboratorio, no un hogar.
weskpga

Respuestas:

0

Solo necesita asegurarse de que cada Pi esté en la misma subred, por ejemplo:

192.168.1.1 => enrutador 192.168.1.2 => Pi 1 192.168.1.3 => Pi 2 192.168.1.4 => Pi 3

luego configure la puerta de enlace predeterminada para de Pi como 192.168.1.1. Deberías estar bien. De esta manera, cuando se encuentran en la misma subred, los Pi se ven entre sí y usan la puerta de enlace predeterminada cuando necesitan llegar a alguna otra subred.

Asegúrese de que si el enrutador también es una PC para configurar el reenvío de IP: http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/

(este último bit es más por "falla del servidor" pero la primera parte no lo es)

Cuando se hace como debe ser, debe poder hacer ping a 8.8.8.8 (DNS de Google). Si esto funciona y el ping 'www.google.com' no funciona, debe configurar su servidor DNS. (en linux: resolv.conf) Puede usar el DNS de Google como su dirección de servidor DNS (8.8.8.8)

para resumir:

  • configurar subredes
  • configurar puertas de enlace predeterminadas
  • configurar la máquina de enrutamiento como un enrutador
  • configurar DNS en clientes (y en enrutador)
Bulki
fuente
Cuando lo usas 192.168.1.1 => router, ¿estás insinuando que debería cambiar la 192.168.1.254dirección IP que tiene que hacer el enrutador 192.168.1.1?
weskpga
¿O debería tener el Pi 192.168.1.(2,3,4)y mantener la IP del enrutador igual ya que cambiar eso afectaría a la conexión a Internet? Lo siento, pero si pudiera proporcionar un poco de código sería útil porque mi comprensión de alto nivel es un poco dudosa
weskpga
puede usar 192.168.1.254 en lugar de 192.168.1.1. Eso no importa, solo asegúrese de usar esto como la puerta de enlace predeterminada también.
Bulki