Wireless access point with Zeroshell and Raspberry Pi

A few days ago my powerline definitely died, so I had to set up a very basic wireless access point using Zeroshell and my Raspberry Pi. As you know, the version 3 of this device comes with built-in wireless capabilities. In this article I will briefly explain all the necessary steps to create the access point.

The overall scheme

Download and install Zeroshell

First of all we need to open a terminal window and download the last version of the Zeroshell image for the Raspberry Pi:

cd /home/<your_user>/Downloads/
wget http://www.zeroshell.net/listing/ZeroShell-3.9.3A-RPI.img.gz

Once finished we can extract the image with gunzip:

gunzip ZeroShell-3.9.3A-RPI.img.gz

Now we have to plug our microSD card in to our computer through a microSD to SD adapter and find its device name with fdisk (as root):

fdisk -l

In my specific case the device node is /dev/mmcblk0, so I can flash the image to my microSD with the following command (as root):

dd if=./ZeroShell-3.9.3A-RPI.img of=/dev/mmcblk0

Once the process is terminated we can remove our microSD card from our computer and insert it into the appropriate slot of the Raspberry Pi.

Accessing Zeroshell via browser and SSH

By default Zeroshell provides a web interface which is reachable at the IP address 192.168.0.75. We can access it via browser after skipping all the warning messages related to the non-reliable X.509 certificate (see the generic FAQs here). Default user and password are respectively admin and zeroshell. Obviously, we are allowed to change the password in a second moment.

The Zeroshell web interface

After passing the login we can enable the SSH server by clicking on the respective item located on the top menu bar. Then, we are able to login via SSH from our terminal:

ssh admin@192.168.0.75
The Zeroshell command line interface

Set up the wireless access point

After SSH login we have to interact with the Zeroshell command line interface to create our wireless access point. First of all we need to type W to launch the WiFi manager and then N to add a new wireless network.

Zeroshell WiFi manager

At this point we do the following steps:

  • Select the access point mode by typing 1
  • Set the network SSID (the name of our WiFi network); we can leave empty the Hide SSID and WDS (Wireless Distribution System) options
  • Select the WPA-PSK encryption by typing 3
  • Insert the pre-shared key (the password of our WiFi network).

If we now return to the web interface and click on the Network item we will notice the presence of a new network interface called WLAN00. We now set a static IP address and the netmask by selecting that interface and clicking on the Add IP button on the right. For example, we can choose 192.168.2.1 as IP address and 255.255.255.0 as netmask.

Obviously, there is also another network interface called ETH00 with IP 192.168.0.75 and netmask 255.255.255.0 which was already there and is also used to communicate with our WAN router through a LAN cable connected to the Raspberry Pi.

Create a bridge between the network interfaces

Now, the problem is that we have the ETH00 interface working on the network 192.168.0.0 and the WLAN00 working on the network 192.168.2.0. So, how can we connect them to obtain internet access for our access point? We can create a bridge between the two interfaces. This can be done by clicking on the New BRIDGE button, under the main menu bar located on the top of the page. Then we have to move the two interfaces from the left box to the right one using the >> button and finally save.

Optional: set up the default gateway

If you want you can set up the IP address of the default gateway (the WAN router) by clicking on the GATEWAY button, even if this is not mandatory.

Et voilĂ ! Our wireless access point is ready!

Did you like this post? Share it!
Share on email
Email
Share on twitter
Twitter
Share on facebook
Facebook
Share on linkedin
Linkedin
Share on print
Print

Leave a Reply