У меня есть компьютер с 3 сетевыми интерфейсами:
Этот компьютер является шлюзом для другого компьютера (и устройства) в моей локальной сети. Это вперед paquets прибывающий из и отправляющий к Интернету. С WI-FI этого компьютера я хочу сделать AP (Точка доступа). Для упрощения конфигурации я использовал мост между обоими локальными интерфейсами (см. интерфейсы/etc/network ниже),
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# Interface de boucle local
auto lo
iface lo inet loopback
# Interface Ethernet secondaire
# interface de connection a Internet
auto eth_adsl
iface eth_adsl inet dhcp
# WIFI
iface wlan_local inet static
wireless-mode master
#Bridge
auto
bridge_local
iface bridge_local inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
bridge_ports eth_local wlan_local
post-up /etc/init.d/isc-dhcp-server start
pre-down /etc/init.d/isc-dhcp-server stop
В моем сервере DHCP я сделал следующую конфигурацию (/etc/default/isc-dhcp-server)
INTERFACES= "bridge_local"
Результат: Другие компьютеры, связанные с Ethernet в локальной сети, работают отлично, но компьютеры, пытающиеся соединяться через WI-FI, не работают. Они могут связаться с AP, но после того, как будет невозможно получить допустимый IP. Таким образом, кажется, что DHCP не работает с интерфейсом wlan_local.... Который является странным, потому что у меня нет сообщения об ошибке с DHCP в/var/log/syslog
Я застревал в течение нескольких дней с этой проблемой. У Вас есть какая-либо идея или тест в памяти?Большое спасибо
Моим распределением является Ubuntu 16.04.6 LTS
Лучший способ сделать AP состоит в том, чтобы использовать hostapd
, это настроит Wi-Fi iface и установит его как ведомое устройство Вашего локального моста.
Установка hostapd
$ sudo apt-get install hostapd
Очень просто настроить с единственным конфигурационным файлом /etc/hostapd/hostapd.conf
.
Замените следующие опции:
interface=wlan_local
bridge=bridge_local
ssid=<your_ssid>
password=<your_password>
country_code=FR // <- in my case
Замените строку bridge_ports eth_local wlan_local
с bridge_ports eth_local
от /etc/network/interfaces
Сетевое использование перезапуска systemctl restart networking
Запустить hostapd
использование systemctl start hostapd
Однажды hostapd
запускается Вашим Wi-Fi iface становятся член моста, и затем DHCP будет передан через мост.
И Voilà