I have a computer with 3 network interfaces:
- eth_adsl : Ethernet interface linked with my ADSL box
- eth_local : Ethernet interface linked with my local network
- wlan_local : WIFI interface for my local network
This computer is a gateway for other computer (and devices) in my local network. It forwards paquets coming from and sending to Internet. With the WIFI of this computer I want to make an AP (Access Point). In order to simplify the configuration, I used a bridge between both local interfaces (see /etc/network interfaces below)
# 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
In my DHCP server I've made the following configuration (/etc/default/isc-dhcp-server)
INTERFACES= "bridge_local"
The result: Other computers linked with ethernet in the local network work perfectly but computers trying to connect through WIFI don't work. They can associate with the AP but after it's impossible to get a valid IP. So it seems that the DHCP doesn't work with the interface wlan_local.... Which is strange because I don't have any error message with DHCP in /var/log/syslog
I have been stuck for several days with this problem. Do you have any idea or test in mind? Thanks a lot
My distribution is Ubuntu 16.04.6 LTS
The best way to do an AP is to use
hostapd
, it will configure the wifi iface and set it as a slave of your local bridge.Install hostapd
It is very simple to configure with a single configuration file
/etc/hostapd/hostapd.conf
.Replace the following options :
Replace the line
bridge_ports eth_local wlan_local
withbridge_ports eth_local
from/etc/network/interfaces
Restart networking using
systemctl restart networking
Start
hostapd
usingsystemctl start hostapd
Once
hostapd
is started your wifi iface is become a member of the bridge and then DHCP will be forwarded through the bridge.And Voilà