Reclamevrij internet

Dit weekend maar eens wat nieuws geprobeerd. Met de hulp van een Raspberry PI en een USB WIFI dongle een accesspoint maken en daarop ook nog eens alle grote reclamesites op blokkeren zoals bijvoorbeeld Doubleclick. Zo kan je met de hulp van een kleine investering een flexibele accesspoint maken die dus ook nog eens je browser stukken sneller maakt omdat die veel minder rotzooi hoeft in te laden. Ik heb dit geheel overigens niet allemaal zelf bedacht :). Zie onderaan dit artikel voor meer links.

Benodigdheden

  • Raspberry PI B(+) of Raspberry PI 2
  • Behuizing
  • 8gb of 16gb SD kaartje
  • USB WIFI dongle ( link )

Ik heb dit besteld bij kiwi-electronics.nl en ik was totaal, inclusief verzendkosten 79,85 kwijt.

Met de volgende twee links heb ik onze AP ingesteld.

https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/what-youll-need

https://learn.adafruit.com/raspberry-pi-as-an-ad-blocking-access-point/overview

Problemen

Het eerste probleem was meteen een serieuze. De driver van mijn gekozen dongle is anders dan die van de gevolgde tutorial. Hostapd wilde om die reden niet starten. Oplossing was om de juiste driver te pakken. In mijn geval:

driver=nl80211

Hierna startte hostapd wel en werkte het accesspoint.

Tweede probleem waar ik tegenaan liep was dat de DHCP server geen adressen uitgaf aan de apparaten die verbonden. Dit loste zichzelf op door in plaats van isc-dhcp-server te gebruiken te switchen naar dnsmasq. Deze werkte wel in 1x.

Volgende probleem was dat de pixelserv in de tutorial niet lekker werkt. Na het herstarten van de raspberry PI werkt deze niet en krijg je allemaal foutmeldingen. De oplossing met Apache werkt wel goed echter klopt de installatie niet helemaal. In de tutorial staat:

“Next, let’s update the default VirtualHost. Execute the following to open the default VirtualHost file in nano:”

“sudo nano /etc/apache2/sites-available/default”

Die file had ik niet, ik heb dit opgelost door de file apache2.conf te bewerken, hierin staat namelijk wel de /var/www verwijzing vanuit de tutorial.

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        RewriteEngine on
        RedirectMatch 200 (.*)$
        ErrorDocument 200 " "
</Directory>

Verder ook nog een probleem met de snelheid van de AP. Standaard werkt deze op 54mbit en dat is niet heel rap. De gekozen dongle kan tot 150mbit maar hoe krijg je dat aan de praat?

Op diverse sites vond ik dat er twee regels moeten worden toegevoegd aan hostapd.conf, namelijk:

wme_enabled=1
ieee80211n=1

Als ik deze toevoeg en de server herstart dan werkt mijn accesspoint niet meer, frustrerend!

Oplossing was om nog een 3e regel toe te voegen. Daarmee doet de AP het wel weer en op de juiste hoge snelheid

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


network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto eth0
auto lo

iface lo inet loopback

iface eth0 inet static
address 192.168.1.251
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 208.67.222.222 208.67.220.220

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
post-up ip addr add dev wlan0 192.168.42.49/24
pre-down ip addr del dev wlan0 192.168.42.49/24
dns-nameservers 208.67.222.222 208.67.220.220

up iptables-restore < /etc/iptables.ipv4.nat

hostapd.conf

interface=wlan0
driver=nl80211
wme_enabled=1
ieee80211n=1
ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40]
ssid=WIFI_GUEST
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP



iptables.ipv4.nat

# Generated by iptables-save v1.4.21 on Fri Feb 19 18:07:30 2016
*filter
:INPUT ACCEPT [167:14590]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [76:8080]
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
COMMIT
# Completed on Fri Feb 19 18:07:30 2016
# Generated by iptables-save v1.4.21 on Fri Feb 19 18:07:30 2016
*nat
:PREROUTING ACCEPT [5:522]
:INPUT ACCEPT [5:522]
:OUTPUT ACCEPT [6:496]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Feb 19 18:07:30 2016

Referenties / links

https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/what-youll-need

https://learn.adafruit.com/raspberry-pi-as-an-ad-blocking-access-point/overview

https://sourceforge.net/projects/win32diskimager/

Raspbian

http://forum.doozan.com/read.php?2,6300