1

У меня есть три Raspberry Pi, подключенных к компьютерам с Linux, и один компьютер, подключенный к маршрутизатору, который подключен к Интернету. Моя цель - настроить каждый Raspberry Pi так, чтобы они могли общаться друг с другом, а также автоматически маршрутизировать любые интернет-запросы через маршрутизатор основного компьютера, чтобы я мог пинговать реальные веб-сайты и получать ответ.

До сих пор я использовал:

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

Где X - 10, 11 и 12 соответственно для каждой из машин Linux. IP-адрес компьютера с доступом к Интернету - 192.168.1.254, но теперь мне нужно настроить NAT так, чтобы таблицы IP правильно перенаправляли интернет-запросы с компьютеров Linux с использованием Raspberry Pi.

На данный момент таблица IP компьютера, подключенного к Интернету:

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

Я несколько новичок в сетевой инженерии, поэтому любая помощь / совет будет принята с благодарностью. В настоящее время все четыре машины могут пинговать друг друга и получать ответы. Единственная проблема, с которой я сталкиваюсь, - это заставить три машины с Linux пинговать сайты, например, такой: ping www.google.com .

1 ответ1

0

Вам просто нужно убедиться, что каждый Pi находится в одной подсети, например:

192.168.1.1 => маршрутизатор 192.168.1.2 => Pi 1 192.168.1.3 => Pi 2 192.168.1.4 => Pi 3

затем настройте шлюз по умолчанию для Пи как 192.168.1.1. Вы должны быть в порядке. Таким образом, находясь в одной подсети, Pi видят друг друга и используют шлюз по умолчанию, когда им нужно связаться с какой-то другой подсетью.

Убедитесь, что маршрутизатор также является ПК для настройки переадресации ip:http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/

(этот бит las больше для "сбоя сервера", но первая часть - нет)

Когда это будет сделано, как и должно быть, вы сможете пинговать 8.8.8.8 (DNS от Google). Если это работает, а пинг «www.google.com» - нет, необходимо настроить DNS-сервер. (в Linux: resolv.conf) Вы можете использовать DNS от Google в качестве адреса вашего DNS-сервера (8.8.8.8)

подвести итоги:

  • настроить подсети
  • настроить шлюзы по умолчанию
  • настроить машину маршрутизации как маршрутизатор
  • настроить DNS на клиентах (и на роутере)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .