Как подключить LAN к WAN с маршрутизацией?

0

Я пытаюсь настроить простую сеть ( см. Это изображение ) на моем новом Clearfog Pro . На этой плате установлен дистрибутив Debian. Сейчас у меня есть один компьютер (pc2), подключенный к Clearfog (pc1), но я планирую добавить еще.

Моя цель в этой сети - подключить pc2 к Интернету и всем остальным компьютерам в локальной сети и сети wan. Но мне трудно достичь этой цели.

Плата имеет два интерфейса:

  • Eth0: 192.168.178.201/24 подключен к основному роутеру и интернету.
  • Eth1: 192.168.177.1/24. к этой плате подключено 6 интерфейсов локальной сети.

На pc1 я включил ip forwarding и добавил маршруты вроде этого:

ip route add default via 192.168.178.1 dev eth0
ip route add 192.168.178.0/24 via 192.168.178.201 dev eth0
ip route add 192.168.177.0/24 via 192.168.177.1 dev eth1

На pc2 я добавил статический ip и шлюз по умолчанию, как показано на рисунке.

Я могу пинговать 192.168.178.201 и 192.168.177.1. Если пропинговать 192.168.178.2, я вижу, что он перешел на 192.168.178.201, но затем застревает.

На ПК2 я не могу пинговать шлюз по умолчанию. Я не знаю, должно ли это случиться.

----- РЕДАКТИРОВАТЬ 1 -----

Я думаю, что-то не так с конфигурацией Clearfog Pro. Он блокирует соединения на eth1, но светодиоды все еще показывают, что что-то происходит.

Мартен де Клерк
источник

Ответы:

2

Во-первых, ваш маршрут по умолчанию неправильный. В viaпотребности , чтобы указать на шлюз следующего прыжка (от PC1 это 192.168.178.1) , но по какой - то причине вы направляете его PC1 себя. Итак, первая строка должна выглядеть так:

ip route add default via 192.168.178.1 dev eth0

На самом деле, все ваши маршруты по сути переводятся, чтобы «продвинуть это через меня». Это избыточно (pc1 уже получил пакет, зачем ему снова возвращать его через pc1?) И, что более важно, звучит как рецепт для бесконечных циклов. Таким образом, во 2-й и 3-й строках сначала избавимся от viaпараметра:

ip route add 192.168.178.0/24 dev eth0

Однако вы пытаетесь добавить маршруты подсети, идентичные тем, которые уже есть в ОС . В этом весь смысл настройки «маски подсети» - если ваш IP-адрес 192.168.178.201/24 для eth0, то у вас автоматически будет маршрут для 192.168.178.0/24 через eth0.

Другими словами, для вашей текущей сети вам нужно только вручную первый (по умолчанию) маршрут. Маршруты «Локальная подсеть» будут добавлены автоматически.


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

Как это сделать, зависит от программного обеспечения шлюза, но в терминах iproute2 это будет выглядеть так:

ip route add 192.168.177.0/24 via 192.168.178.201

И, как примечание, забудьте об этих параметрах "network" и "bcast". Они уже определены автоматически из /24. Обычно нет необходимости настраивать их вручную - только больше возможностей для опечаток и ошибок.

grawity
источник
о да, шлюз по умолчанию был опечаткой в ​​посте, который я исправил извините. Но это все еще не исправило, что я имел. Я думаю, проблема в том, что pc2 не может пропинговать шлюз по умолчанию. Я имею в виду, что это должно быть возможно, верно?
Мартен де Клерк
@MaartendeKlerk: обновлен ответ; Я забыл половину этого.
grawity