Using a Raspberry Pi 3 as a Wifi access point and bridge

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 :

net.ipv4.ip_forward=1

Then configure your network to create a bridge with eth0, in /etc/network/interfaces :

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 /etc/hostapd/hostapd.conf :

# 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:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Ok, here we go, just reboot the Pi and voilà.

sudo reboot

This article is inspired from following articles :

  1. https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/
  2. http://sirlagz.net/2012/08/10/how-to-use-the-raspberry-pi-as-a-wireless-access-pointrouter-part-2/

Featured image by Herbfargus CC BY-SA 4.0, via Wikimedia Commons.

18 Replies to “Using a Raspberry Pi 3 as a Wifi access point and bridge”

  1. Your tutorial is Excellent. But I need setup wifi access point.”Using your new Raspberry Pi 3 as a WiFi access point with hostapd”.

  2. Hi,

    Thanks for your setup. I have tried all your steps for bridging wlan0 and eth0. But if i try to connect the phone to the Pi board I am not getting the ip address for the phone. Can you please help me with it

  3. Mattieu,

    I got the pi-bridge up and running in no time. I do have a problem, and I’m not sure how to resolve it. I can no longer get updates and patches

    When I try to do “sudo apt-get update, or upgrade, the pi-bridge will not connect. I tried to ping it, bu no response.

    Any ideas of what I may try to resolve this?

    Thanks,
    Justin

  4. I must say you have hi quality content here. Your content
    can go viral. You need initial traffic only.

    How to get massive traffic? Search for; Murgrabia’s tools go viral

  5. Thank you! Easy to understand and works (running now). I had looked at other methods which were MUCH more complicated and therefore time consuming.

  6. So the device connecting to the ssid of the AP would be prompted for the password of the external router/dchp server?

    Would all traffic from the device always go thru the ip of the PI AP? Not just traffic directed to the PI AP?

  7. I have noticed you don’t monetize your site, don’t waste
    your traffic, you can earn additional bucks every month because you’ve got high quality content.
    If you want to know how to make extra bucks, search for: Boorfe’s tips best
    adsense alternative

  8. i have problem, my devices cannot connect to the Pi AP, i setted everithing like you but it doesn’t works, what can i do?

  9. Hello. Very well explained tutorial. I followed through all the steps but unfortunately I can’t see the SSID of the AP that I have setup. Any idea what the problem could be? Thanks in advance.

  10. Start by checking hostapd is running using ps.
    Then, maybe try to check that hostapd’s config is suitable for your country, mine is configured for France.

  11. Excuse my ignorance, I have a few questions:
    – Does this work with older PI’s with wifi dongle and does that change the setup? I am useing Rapbian stretch.
    – my wlan0 does not get an inet adress and I get an dhcpcd failure when booting
    – is the IP adress listed to be configured for my lan setup or does this create a sort of secundary LAN. My Lan is setup 192.168.178.xx and my dhcp ranges from 3-98…

  12. Simple and great!

    I have an older USB dongle which does not support

    ieee80211n=1

    and

    ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

    Without these fancies, it works like a charm. Thanks!

  13. I have noticed you don’t monetize your site, don’t waste your traffic, you can earn additional bucks every month.
    You can use the best adsense alternative for any
    type of website (they approve all websites), for more details simply search in gooogle: boorfe’s tips monetize your website

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.