Вопрос или проблема
Я пытаюсь расширить свою локальную локальную сеть через 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 интерфейсом. При необходимости, обновите свое программное обеспечение и контроллеры, чтобы минимизировать проблемы с совместимостью.
Постоянно тестируйте и мониторьте состояние сети для быстрого устранения возможных неполадок. Удачи в настройке вашей сети!