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
.
Respuestas:
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:
fuente
192.168.1.1 => router
, ¿estás insinuando que debería cambiar la192.168.1.254
dirección IP que tiene que hacer el enrutador192.168.1.1
?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