Skripte/WLAN-Accesspoint Konfigurationen

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

  3. Einen Editor öffnen

  4. Starten von Programmen

  5. Root-Rechte

Wiki/Icons/terminal.png

Inhaltsverzeichnis
  1. Vorbereitungen
    1. Programme installieren
    2. Skript anlegen
    3. Skript starten und beenden
    4. Skript konfigurieren
    5. Dienste konfigurieren
    6. Network-Manager deaktivieren
  2. Skripte
    1. WLAN-Router mit Gast-Netzwerk
    2. WLAN-Repeater
    3. WLAN-Router und Proxyserver
    4. Tor WLAN-Router (Onion-Router)
  3. Links

In diesem Artikel werden verschiedene Skripte beschrieben, mit denen unter Ubuntu und auch anderen Linux-Distributionen bei Bedarf verschiedene WLAN-Router für diverse Einsatzszenarien konfiguriert werden können. Die jeweiligen Skripte wurden ebenfalls auf dem Raspberry Pi™ (Version B) ausgiebig getestet. Basisartikel dazu ist WLAN Router.

Als Software werden beispielsweise Squid, Privoxy, hostapd:, iptables, iw, isc-dhcpd und bridge-utils: verwendet. Diese Wiki-Artikel dienen als Grundlage und sollten bekannt sein.

Vorbereitungen

Programme installieren

Die für die genannten Skriptvarianten gezeigten Programme müssen natürlich zuvor installiert [1] und ggf. konfiguriert werden. Entsprechende Vorlagen sind hier angegeben. skriptname.sh ist durch den tatsächlich gewünschten Namen zu ersetzen.

Skript anlegen

Anlegen und ausführbar machen eines Skripts über Terminal [2]:

touch skriptname.sh
chmod +x skriptname.sh  

Anschließend kann man das erzeugte Skript mit einem Editor [3] bearbeiten und den gewünschten Code hier kopieren und einfügen. Teilweise enthalten die Skripte Kennwörter im Klartext. Daher den Zugang zum verwendeten System und/oder die Zugriffsrechte entsprechend anpassen. Siehe auch chmod.

Skript starten und beenden

Die Skripte sind vom Grundgerüst her identisch aufgebaut. Verschiedene Startparameter sind möglich. Auch hier ist skriptname.sh durch den tatsächlich verwendeten Namen zu ersetzen.

Skript mit den gewünschten Startoptionen aufrufen [4][5]:

sudo ./skriptname.sh -start          # startet das Skript und die Konfiguration
sudo ./skriptname.sh -stop           # startet das Skript, beendet die Konfiguration und die verwendeten Dienste
sudo ./skriptname.sh                 # ohne Option identisch wie -stop
sudo ./skriptname.sh -h              # gibt eine kurze Hilfe zur Syntax aus 

Skript konfigurieren

Bei jedem Skript können verschiedene Optionen verändert und Variablen gesetzt werden. Diese sind durch Kommentarzeilen entsprechend beschrieben. Im Normalfall müssen nur bestimmte IP-Adressen des eigenen Routers, Gateways usw. angepasst werden.

Variablen und Optionen können im Skript im Bereich zwischen ...

## freie Variablen
...
...
## Ende freie Variablen

... bearbeitet und angepasst werden.

Dienste konfigurieren

Alle hier verwendeten Dienste wie z.B. Squid oder der isc-dhcpd-Server werden durch das jeweilige Skript gestartet und auch wieder beendet. Werden diese Dienste nicht direkt bei Systemstart benötigt, so sollte man diese grundsätzlich deaktivieren, um Speicher und Rechenleistung nicht unnötig zu verschwenden oder ungewollte Systemfunktionen zu vermeiden. Dies erfolgt über Runlevel.

Dienste bei Systemstart deaktivieren:

sudo update-rc.d DIENST disable 

Das entsprechende Beispiel, um Squid Version 3.x nicht automatisch bei Systemstart auszuführen:

sudo update-rc.d squid3 disable 

Für die jeweils benötigten und installierten Dienste geht man entsprechend vor.

Network-Manager deaktivieren

Wer ein Skript auf einem Desktop-System mit grafischer Oberfläche und dem Network-Manager testen oder verwenden möchte, muss diesen vorab deaktivieren, ansonsten wird die Netzwerkkonfiguration des Systems blockiert. Bestehende Verbindungen werden dabei getrennt.

sudo service network-manager stop 

Der Network-Manager kann anschließend wieder aktiviert werden:

sudo service network-manager start 

Skripte

WLAN-Router mit Gast-Netzwerk

Erforderliche Programme:

Funktionsbeschreibung:

Erfolgreich getestet mit einem TP-Link TL-WN822N v1.1 USB WLAN-Adapter mit Atheros-Otus Chipsatz als einziger WLAN-Adapter. Geräte-ID: 0CF3:1002, Treibermodul carl9170.

Werden zwei WLAN-Adapter verwendet, so muss eine zweite Konfigurationsdatei für hostapd angelegt werden. Das Skript startet dann entsprechend eine weitere Instanz.

WLAN-Repeater

Erforderliche Programme:

Funktionsbeschreibung:

Dienstekonfiguration: der isc-dhcp Server wird durch das Skript konfiguriert. Es empfiehlt sich, die ursprünglichen Konfigurationsdateien /etc/default/isc-dhcp-server und /etc/dhcpd/dhcp.conf vorab zu sichern. Die Einstellung für den Funkkanal (channel=4) muss mit dem Funkkanal des WLAN-Accesspoint übereinstimmen, wenn für die Konfiguration nur ein einziger WLAN-Adapter verwendet wird! Werden zwei Adapter verwendet, so sollte der Abstand zum Funkkanal des Accesspoints mindestens 5 Kanäle betragen, um Störungen zu vermeiden.

/squid/squid-logo.png

WLAN-Router und Proxyserver

Erforderliche Programme:

Funktionsbeschreibung:

./Tor_logo1.png

Tor WLAN-Router (Onion-Router)

Erforderliche Programme:

Funktionsbeschreibung: