Соединение LAN и WIFI с помощью netplan не работает и убивает точку доступа.

Вопрос или проблема

Я пытаюсь расширить свою локальную локальную сеть через WiFi и хотел бы, чтобы все устройства находились в одной сети. Настройка следующая:

  • DHCP/DNS сервер работает внутри локальной сети
  • отдельный ПК, подключенный к локальной сети, с возможностью WiFi (к сожалению, это не вариант, чтобы DHCP/DNS сервер работал на этом компьютере)

Поскольку я использую Ubuntu 18.04, я пытаюсь настроить всё с помощью netplan. Вот мой .conf файл:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp2s0:
      dhcp4: no
      addresses: [192.168.1.10/24]
      gateway: 192.168.1.1
      nameservers:
        addresses: [192.168.1.2, 8.8.8.8, 8.8.4.4]
  wifis:
    wlp1s0:
      access-points:
        "MyWifi":
          mode: ap
          password: "DONTLOOK"
  bridges:
    br0:
      dhcp4: yes
      interfaces: [enp2s0, wlp1s0]

Теперь, если запускать сети отдельно, т.е. без секции мостов, всё работает. С активированным dnsmasq я могу подключиться к точке доступа.

Тем не менее, я не могу заставить мост работать. Ещё хуже, как только мост активируется, доступ к AP больше невозможен.

Есть ли у кого-то идея, чего мне не хватает?

Я смутно помню, что сталкивался с той же проблемой около года назад, и мне грустно осознавать, что это по-прежнему проблема. В моей рабочей конфигурации:

  • Я оставляю по умолчанию networkd в качестве рендерера.
  • В конфигурации Netplan рассматриваю wlan0 как ethernet и вообще не настраиваю AP.
network:
  ethernets:
    eth0:
      dhcp4: no
      optional: true
#  wifis:
    wlan0:
      dhcp4: no
      optional: true
  bridges:
    br0:
      dhcp4: yes
      dhcp6: no
      interfaces:
        - eth0
        - wlan0
      optional: true
  • Я вручную создал wlan0.config для hostapd и создал параметризованный экземпляр – systemctl enable hostapd@wlan0. Установка на 19.10 настроена так, чтобы она запускалась, как только интерфейс становится доступным для конфигурации.

Это мой YAML файл; он работает.

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eno1:
      dhcp4: no
    switchports:
      match:
        name: wlp2s0 # замените на имя вашего интерфейса
      mtu: 1280
  wifis:
    wlp2s0:
      dhcp4: no
      access-points:
        "M93p":
          password: "[вставьте пароль здесь]"
          mode: ap
          band: 2.4GHz
          channel: 10
  bridges:
    br0:
      dhcp4: no
      addresses:
        - 192.168.1.60/24
      gateway4: 192.168.1.240
      nameservers:
        addresses:
          - 192.168.1.240
          - 192.168.1.1
      interfaces:
        - switchports
        - eno1

Ответ или решение

Решение проблемы объединения LAN и Wi-Fi с помощью Netplan

Введение

Настройка беспроводной сети с использованием Netplan в Ubuntu 18.04 может быть вызовом, особенно если вы пытаетесь объединить кабельную и беспроводную сети. В вашем случае основная задача заключается в создании моста (bridge) между LAN и Wi-Fi для обеспечения единого сегмента сети. Одна из основных проблем заключается в том, что при настройке моста доступ к точке доступа Wi-Fi перестает работать. В данной статье мы рассмотрим ключевые аспекты решения этой проблемы.

Основная проблема

Как вы уже заметили, при использовании конфигурации моста с указанием интерфейсов Ethernet и Wi-Fi доступ к точке доступа исчезает. Ваша исходная конфигурация выглядит следующим образом:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp2s0:
      dhcp4: no
      addresses: [192.168.1.10/24]
      gateway: 192.168.1.1
      nameservers:
        addresses: [192.168.1.2, 8.8.8.8, 8.8.4.4]
  wifis:
    wlp1s0:
      access-points:
        "MyWifi":
          mode: ap
          password: "DONTLOOK"
  bridges:
    br0:
      dhcp4: yes
      interfaces: [enp2s0, wlp1s0]

Ключевой момент здесь в том, что когда интерфейс wlp1s0 настроен в режиме точки доступа (AP), он не может одновременно быть частью моста, который использует DHCP для распределения IP-адресов.

Предложенное решение

Оптимальным будет переход к использованию networkd вместо NetworkManager. Это обеспечит более стабильную работу всех компонентов, так как networkd лучше работает с мостами и статическими конфигурациями. Давайте рассмотрим вашу конфигурацию, которая была рабочей при использовании networkd:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      optional: true
  bridges:
    br0:
      dhcp4: yes
      interfaces:
        - eth0
        - wlan0
      optional: true

Настройка hostapd

Для создания точки доступа, вам необходимо использовать hostapd. Убедитесь, что вы правильно создали конфигурацию для hostapd в файле wlan0.config и активируете его с помощью:

systemctl enable hostapd@wlan0

Это гарантирует, что hostapd стартует автоматически при активации интерфейса wlan0.

Пример рабочей конфигурации

Согласно вашему примеру, можно улучшить настройки следующими параметрами:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s0:
      dhcp4: no
  wifis:
    wlp1s0:
      dhcp4: no
      access-points:
        "MyWifi":
          password: "DONTLOOK"
          mode: ap
  bridges:
    br0:
      dhcp4: yes
      interfaces:
        - enp2s0
        - wlp1s0

Заключение

Следуя вышеописанным рекомендациям, вы сможете настроить мост между LAN и Wi-Fi без потери доступа к точке доступа. Убедитесь, что вы используете networkd, и правильно сконфигурировали hostapd для работы с вашим Wi-Fi интерфейсом. При необходимости, обновите свое программное обеспечение и контроллеры, чтобы минимизировать проблемы с совместимостью.

Постоянно тестируйте и мониторьте состояние сети для быстрого устранения возможных неполадок. Удачи в настройке вашей сети!

Оцените материал
Добавить комментарий

Капча загружается...