In this article I’ll present how I used a Raspberry Pi 3 to create a Wifi access point. The specificity of my setup, is that the Raspberry won’t be a router but a bridge. DHCP is thus delegated to the main ADSL router and all devices connected to the AP will appear on the same network than other devices.
The instructions below are based on a fresh Raspbian lite install so that it can be reproduced easily.
Install the required packages :
sudo apt-get install -y bridge-utils hostapd
To create a bridge, we need to enable ip_forward in the kernel, for that, edit
/etc/sysctl.conf and remove comment (#) from the following line :
Then configure your network to create a bridge with
auto lo iface lo inet loopback # Disable eth0 / wlan0 config, handled by bridge auto eth0 iface eth0 inet manual allow-hotplug wlan0 iface wlan0 inet manual # Create a bridge with static IP auto br0 iface br0 inet static bridge_ports eth0 address 192.168.1.13 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 # Or use dhcp client on bridge #iface br0 inet dhcp
You may have noticed that wlan0 is not configured in bridge br0. This is because hostapd will handle this once the access point is ready. So, next step is to configure the access point. For this, edit the file
# First part is about configuring the access point and is copied from reference 1 interface=wlan0 driver=nl80211 hw_mode=g channel=6 ieee80211n=1 wmm_enabled=1 ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP # This part is about setting SSID and WPA2 password ssid=wifi_ssid wpa_passphrase=wifi_password # This line ask hostapd to add wlan0 to the bridge br0 bridge=br0
Now we need to tell hostapd to use our config. For that, edit
/etc/default/hostapd and set:
Ok, here we go, just reboot the Pi and voilà.
This article is inspired from following articles :
Featured image by Herbfargus CC BY-SA 4.0, via Wikimedia Commons.