PirateBox combined with normal AP
In some situation it might be better to have dedicated devices doing the tasks to be done. One example is the usage of a RaspberryPI b-model, which don't have a wifi-card included and some are complicated to get run. The scripts are designed to be as flexible as possible, so you can easily get of using a wifi card simply stick to ethernet, if you need it.
The following HowTo describes a setup, where you combine a normal AccessPoint -may be a spare one- with the PirateBox scripts. The configuration describes the setup for the network-range 192.168.1.x At least, the AccessPoint(AP) should have the option to run in “DHCP-client mode”, a better solution would be, that the AP can disable it's own DHCP server -if existing.
Technically preface
The PirateBox in the original configuration does the following functionalities:
- Provide an AP (hostapd)
- DHCP 1) (dnsmasq)
- Answer DHCP requests, which only point back to the IP of the PirateBox (dnsmasq)
- Webserver with Shoutbox & Download (lighttpd)
- Upload (droopy)
The first three tasks are ususally done by a home router or an access point, depending of its configuration. Because dnsmasq is doing the dns resolution and the IP serving, this is the most important part and may not divided.
AccessPoint configuration
AccessPoints do:
- Provide an AP
- DHCP (do they?)
- Bridge Wifi into LAN
What we need is only being an AP and bridge the wifi network down into wired LAN. So your task- which I can't describe, because it is different on every device- Set you AP to the IP 192.168.1.2 and disable it's DHCP server. If you can't disable it, try to set it into client mode 2)
Connect your AP now via wired to your PirateBox device - ie. the RaspberryPi
PirateBox configuration
All the configuration you need to do is located in /opt/piratebox/conf/piratebox.conf.
Change the following lines
#Do network config DO_IFCONFIG="yes" ... #Start services... # act like a apn / <yes|no> # please have a look @ hostapd.conf ; you may need to change some options, regarding wifi-card USE_APN="yes" # act like dns&dhcp (dnsmasq) USE_DNSMASQ="yes" ... #----------------- Configuration for DNSMASQ & IF-Setup -------------------# # Name of the wlan interface INTERFACE="wlan0" # On which interface DNSMASQ should listen. -i is the parameter for dnsmasq # Make it empty to disable DNSMASQ_INTERFACE="wlan0" #Brdige add interfacce (setr yes to enable bridging) DO_BRIDGE="no" BRIDGE="br-lan" #Network NET=192.168.77 #IP-SHORT (is stringed together) # Which IP is your Box?? i.e. 1 => 192.168.77.1 IP_SHORT=1
Turn it into
#Do network config DO_IFCONFIG="yes" ... #Start services... # act like a apn / <yes|no> # please have a look @ hostapd.conf ; you may need to change some options, regarding wifi-card USE_APN="no" # act like dns&dhcp (dnsmasq) USE_DNSMASQ="yes" ... #----------------- Configuration for DNSMASQ & IF-Setup -------------------# # Name of the wlan interface INTERFACE="eth0" # On which interface DNSMASQ should listen. -i is the parameter for dnsmasq # Make it empty to disable DNSMASQ_INTERFACE="eth0" #Brdige add interfacce (setr yes to enable bridging) DO_BRIDGE="no" BRIDGE="br-lan" #Network NET=192.168.1 #IP-SHORT (is stringed together) # Which IP is your Box?? i.e. 1 => 192.168.77.1 IP_SHORT=1
Keep in mind, that your *nix3) system my have an extra network manager, which might interfere with your. We come to this later.
After you did the changes, start your piratebox as normal. During startup the IP of the ethernet-port gets changed to 192.168.1.1 . After the box is online, it starts to serve dhcp-requests vie ethernet port, and serve across the AP these DHCP requests.
Detailed description of the set options
DO_IFCONFIG
Set an IP address to the device we bring up during the startup
USE_APN
Run AP against that Interface
USE_DNSMASQ
Start DHCP+DNS service
INTERFACE
On which interface should the scripts set the IP. That Interface is the IP of the wifi card
DNSMASQ_INTERFACE
On which interface should DNSMASQ work on. If you are on a bridged device like on OpenWRT, you should choose br-lan.
NET
Which is the IP-Range PirateBox is operating.
IP_SHORT
Which single IP address (last digit) it the one of PirateBox?
Troubleshooting
Oh, I can't disable the DHCP stuff on my AP/Router
No problem. First of all, PirateBox4) detects other running DHCP tries not to interfere, but it still serves nameresolution, which we need for catching all requests. Set in your AP at DHCP configuration (maybe you need to set it in the LAN configuration) the DNS-Server 192.168.1.1 then all DNS requests should be directed to your box.
The Piratebox looses it's IP after a while
Then your network manager interferes with the PirateBox' IP configuration, see NetworkManager.
The PirateBox seems not to be reachable right after PirateBox comes up
Maybe it is the NetworkMannager, on this point you have to get an idea how you can't reach it. Try to answer you the following questions:
- How am I connected?
- Wired wise?
- Wireless?
- Which IP address receives my client device? Is it in the same range then the PirateBox?
- Get I access to the AP?
- Does the name resolution work? (ping piratebox.lan , ping 192.168.1.1 )
- What details do my Interface have? Is it all pointing to 192.168.1.1 and having a 192.168.1.x address?
With those question come down to PirateBox Forums
NetworkManager
You can try to disable the network-manager via the init.d process, or you can change the configuration of that manager for itself like here. But you can configure the networkmanager to setup a static IP address(Debian)