Ubuntu – Hybrid wireless network repeating

networkingroutingwirelesswireless-access-point

Summary: I'd like to use two Ubuntu computers to extend/compliment an existing wireless access point.

I have a network which currently looks a bit like this:

Network

What the diagram doesn't show is the interference caused by our house. It's a wifi-blocking robot sent here from the past. The two wired computers are in areas where the signal is most blocked (not by design, just a happy co-incidence).

Both wired computers have fairly good network cards. They're both Ubuntu machines and I would like to turn them into additional base stations.

I know I could throw more networking hardware at this (network extenders or cable in additional, pure wireless access points) but I've got two Linux machines sitting in ideal places and I feel like they should be able to help me out.

I've tried ad-hoc networks but I need something that is a lot more transparent (eg you can migrate from base to base without a connection dropping); it should look like one network to clients.

Here's a diagram of what I want:

Where I'm trying to get

Best Answer

You can use WDS which is supported by hostapd. But the speeds are not good. So you can try the solution that I am working on:

Verify if your wireless driver has mac80211 support here

Install hostapd from apt apt-get install hostapd. Untill recently the apt binaries did not have support for mac80211. So for compiling it you can refer this

I did not get the hostapd conf file. So googled and got it. You can use mine from here. Place it as /etc/hostapd/hostapd.conf. The changes you need to do are the following; eithet comment them out, or modify:

interface=wlan0
driver=nl80211
bridge=br0
ssid=test
channel=1

With regard to ssid if you have the same one as your wireless routers and if your wireless router is in AP mode (just an entry door for the wireless devises to your wired network; and routing, firewalling, dhcp, dns is done by your wired router open to WAN), it would be bit more convenient.

The following code will make you pc an AP too (by creating a network bridge):

#!/bin/bash

service network-manager stop 
ifconfig eth0 0.0.0.0 #remove IP from eth0
ifconfig eth0 up #ensure the interface is up

ifconfig wlan0 0.0.0.0 #remove IP from eth1
ifconfig wlan0 up #ensure the interface is up

brctl addbr br0 #create br0 node
hostapd -d /etc/hostapd/hostapd.conf > /var/log/hostapd.log &
sleep 5
brctl addif br0 eth0 #add eth0 to bridge br0
brctl addif br0 wlan0 #add wlan0 to bridge br0

ifconfig br0 192.168.1.15 netmask 255.255.255.0 #ip for bridge
ifconfig br0 up #bring up interface
route add default gw 192.168.1.1 # gateway

Change interface names, ip, gateway according to your needs.

If you want to have security you can refer to the above mentioned link. You can try having WPA-PSK with a common shared key for all your AP's.