Я настроил сеть со следующей топологией:

Gateway (10.0.0.1)
      | tun0
      |
      |-----------------------| 10.0.0.0/16
      |                       |
      | tun0                  | tun0
Host A (10.0.1.1)         Host B (10.0.2.1)
      | wlan0                 | wlan0
      |                       |
      | 10.0.1.0/24           |----------------| 10.0.2.0/24
      |                       |                |
      | wlan0                 | wlan0          | wlan0
Client A (10.0.1.2)       Client B (10.0.2.2)  Client C (10.0.2.3)

На данный момент хосты A и B могут пропинговать шлюз и друг друга. Также. каждый клиент может пропинговать хост, напрямую связанный с ним, а также другие клиенты, подключенные к этому хосту. Однако я хотел бы, чтобы каждое устройство могло пропинговать все другие устройства в сети (например, клиент A может пропинговать клиента B, хост A может пропинговать клиента C, и так далее).

Я попробовал несколько методов настройки каждого хоста, чтобы разрешить пересылку пакетов между клиентами, другими хостами и шлюзом. Первый метод, который я попробовал, - это использование iptables на каждом хосте для пересылки трафика между подсетями. Несмотря на то, что я успешно использовал учебники, такие как этот, на Adafruit, чтобы позволить клиентам пинговать хосты и шлюз, они не позволяли другим хостам пинговать клиентов. Я также пробовал такие решения, как это, для маршрутизации трафика между подсетями, но, похоже, они не работают с перекрывающимися подсетями. Я также попытался создать мостовой интерфейс на каждом хосте, который соединял tun0 и wlan0, но безуспешно.

Я открыт для изменения конфигурации IP-адресов в этой сети при условии сохранения возможности подключения всех устройств ко всем другим устройствам.

1 ответ1

1

Решение (которое кажется до боли очевидным задним числом) заключается в назначении IP-адресов следующим образом:

   Gateway 
      | tun0 (10.0.0.1)
      |
      |-----------------------| 10.0.0.0/24
      |                       |
      | tun0 (10.0.0.2)       | tun0 (10.0.0.3)
    Host A                 Host B 
      | wlan0 (10.0.2.1)      | wlan0 (10.0.3.1)
      |                       |
      | 10.0.2.0/24           |-------------------| 10.0.3.0/24
      |                       |                   |
      | wlan0 (10.0.2.2)      | wlan0 (10.0.3.2)  | wlan0 (10.0.3.3)
  Client A                Client B            Client C

Это помещает соединения шлюза / хоста в отдельную подсеть. В этой конфигурации будут работать учебники, включающие маршрутизацию трафика между двумя подсетями. Маршруты необходимо будет настроить на каждом хосте и на шлюзе (например, ip route add 10.0.3.0/24 via 10.0.3.1).

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