Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Netzwerk Management Server mit Raspberry Pi

Anleitung Netzwerke Netzwerkmanagement

Mitglied: aqui

aqui (Level 5) - Jetzt verbinden

28.09.2012, aktualisiert 17.07.2016, 289692 Aufrufe, 100 Kommentare, 23 Danke

Für aktive Hardware im Netzwerk Umfeld wie Switches, Router, Printserver usw. ist oft ein Management System für den Netzwerk Admin sinnvoll oder hilfreich. Es dient zur Überwachung und für ein proaktives Troubleshooting im Netz.
Das kann z.B. die Web basierte Ticket Erstellung (Einmal Passwort) und Überwachung für Gastbenutzer sein die sich in einem Hotspot bzw. Gastnetz einloggen. Ebenso die zentrale Kontrolle von Log Meldungen (Fehler) aller diese Komponenten, die sichere Benutzer Zugangskontrolle in LAN und WLAN per Radius oder auch das grafische Überwachen der Auslastung von Internet und WAN Verbindungen usw. usw. Es gibt eine Fülle von Anwendungen für den Netzwerk Admin.
In kleinen Netzen muss dafür nicht immer ein großer, teurer Serverbolide oder eine VM verwendet werden, sondern das klappt auch mit einem kleinen, sparsamen "Server" im Zigarettenschachtel Format, dem populären Raspberry Pi !
Wie so ein Server auch für Anfänger schnell und unkompliziert mit den erforderlichen Tools aufzusetzen ist, beschreibt das folgende Tutorial in einzelnen, leicht verständlichen Schritten.

Inhaltsverzeichnis

Vorbemerkung

Diese Anleitung ist verständlicherweise nicht gedacht für den großen Netzwerk Administrator mit 500 Ports und mehr im Netzwerk, sondern ist vielmehr entstanden aus vielen Fragen und Anforderungen in den Threads und Tutorials im Bereich Netzwerk hier im Forum bei Administrator.de.
In der Hauptsache zu den Themen: Router, Switches, Netzwerk, Hotspot und Tracking von Gästen (Security), der grafischen Überwachung von Internet Zugängen und auch der allgemeinen Kontrolle von Netzwerk Komponenten mit kleinem Budget.
Gedacht ist es für kleine LAN Umgebungen und engagierte Netzwerk Admins die etwas mehr darüber erfahren möchten was in ihrem Netzwerk so passiert ohne erstmal ein großes Budget bewegen zu müssen.
Zudem zeigt es eindrucksvoll was mit einfachen und kostenfreien Tools im Netzwerk Umfeld möglich ist und schult zu guter letzt auch noch etwas das Linux KnowHow !
Auch Liebhaber bunter Windows Konsolen müssen nicht abwinken, denn der Raspberry bringt eine komplette, mit Maus bediente, grafische X Windows Oberfläche mit.
Feedback über sinnvolle Anwendungen zur Erweiterung dieses Tutorials per Forumsmail sind immer willkommen.
Natürlich kann man alle diese Tips auch auf einem "großen" Server umsetzen.
Dieses Tutorial wird in lockeren Abständen fortgesetzt mit weiteren interessanten Tools zum Installieren.
Stay tuned...!

Die Hardware

UPDATE: Der neue Raspberry Pi 2 ist da ! Jetzt mit ARM Cortex A7 Quadcore und bis zu 6mal performanter !!

Die Hardware Basis für den Server ist, wie oben schon erwähnt, ein "All in One" System: der Raspberry Pi.
3f26f1f46f3f4a3c16509d88db7bc293 - Klicke auf das Bild, um es zu vergrößern

Der Raspberry Pi ist ein ca. 35 €uro preiswertes, komplett fertiges Mainboard wenn man so will, was alles an Bord hat inkl. CPU, RAM, Grafik usw. Man benötigt für den Betrieb lediglich eine SD_Flash_Karte wie sie in jeder Digitalkamera eingesetzt wird und ein simples Standard USB-Netzteil / Ladegerät mit 1 bis 1,5 A und ein passendes Gehäuse.
Bestellt werden kann er z.B. hier:
http://www.watterott.com/de/Raspberry-Pi-Modell-2
Mittlerweile ist er auch bei den großen Technik Häusern wie Reichelt, Amazon und Pollin sowie Conrad erhältlich !
Passende, farbige Snap In Gehäuse bieten die o.a. Händler oder man bekommt auch HIER welche, so das sich der Raspberry Pi ohne Werkzeug in 1 Minute wie ein PC komplett funktionsfertig zusammenbauen lässt und man nur noch Tastatur, Maus und Monitor anschliessen muss.
Zum Start ist wie erwähnt eine 2, 4 oder 8 Gig (oder je nach Anwendung größere) SD Flash Speicher Karte quasi als SSD erforderlich. Empfohlen ist 4GB und größer.
Die einfache Stromversorgung realisiert ein Standard_USB_Steckernetzteil mit einem Standard USB Micro-B Steckerkabel.
Auch ein USB Akku- oder Power Pack macht den RasPi unabhängig von fester Stromversorgung z.B. im WLAN Umfeld zur Analyse doch dazu später mehr.


Kapitel 1. Der Zusammenbau und die Grundkonfiguration

Das Tutorial geht nicht im Detail auf die grundlegende Installation ein sondern setzt ein lauffähiges System voraus.
Die Grundinstallation ist aber auch für Laien kinderleicht, da es ein komplett fertiges Betriebssystem Image für den Raspberry gibt, was der Raspberry online lädt und selbst lauffertig installiert (NOOBS Image = "New Out Of The Box Software")
Die Installation ist mit wenigen Handgriffen erledigt:
  • NOOBS Image HIER ZIP Datei runterladen und in ein Verzeichnis entpacken.
  • Freie SD Speicherkarte in einen SD-USB Adapter stecken oder SD Kartenleser verwenden.
  • Entpackte Dateien von oben einfach auf die SD Karte kopieren.
  • SD Karte entfernen, in den RasPi stecken, Maus, Tastatur (USB) und Monitor anschliessen...booten... OS Version auswählen..
  • Fertig !

Wer offline ein Image auf die SD Karte schreiben will geht so vor:
Unter Windows ist nur mit einem Tool wie z.B. dem bekannten Win32_Disk_Imager das vorher runtergeladene Raspian (Wheezy) auf die o.a. SD Karte zu schreiben.
In Stichworten sind die folgenden Schritte zu tun:
Generelle Infos zur SD Karten Installation für den RasPi findet man HIER
Dann...
  • SD Karte in den Pi stecken
  • Netzwerk Kabel ans LAN anschliessen (WLAN Installation folgt unten im Tutorial !)
  • USB Tastatur anschliessen
  • Optional USB Maus anschliessen
  • USB Netzteil anschliessen.
  • Monitor anschliessen per HDMI oder mit einem entsprechenden HDMI / DVI oder VGA Adapter.
An einem PC Monitor oder Fernseher kann man nun den Bootvorgang verfolgen und so gleich sehen ob die SD Karte OK ist.
Der Pi hat zusätzlich zum HDMI auch einen Standard PAL Video Anschluss so das man ihn auch z.B an ältere Fernseher (Scart / Cinch) und preiswerte kleine 7 Zoll Monitore (KFZ Rückfahr- oder Entertain) Monitore (z.B. eBay) anschliessen kann.

Nach dem allerersten Booten und Login (Default User und Passwort ist "pi" und "raspberry") landet man immer automatisch im Setup um das System einmalig auf seine Bedürfnisse anzupassen.
Greift man remote übers Netzwerk per SSH Terminal zu (z.B. Putty oder TeraTerm) muss man die Konfig manuell mit dem Kommando raspi-config starten.
Folgende wichtige Einstellungen sollte man im raspi Setup machen:
  • expand_rootfs - Expand root partition to fill SD card = Wichtig: unbedingt ausführen, denn das erweitert die "Festplatte" des Systems (SD Karte) auf die volle Größe !
  • configure_keyboard - Set keyboard layout = Sprache des Keybords beantwortet man 2 mal mit "German". Die Frage, ob per Control+Alt-Backspace, den X-Server beendet werden soll, sollte man mit "Yes" beantworten.
  • change_pass - Change password for 'pi' user = Sollte man gleich mit einem eigenen Passwort beantworten.
  • change_locale - Set locale = Hier de_DE UTF-8 auswählen mit Leertaste und gleichzeitig "en_GB.UTF-8 UTF-8" mit Leertaste löschen ! Im nächsten Fenster de_DE auswählen. Wer besser mit Englisch klarkommt belässt es auf der englischen Einstellung.
  • change_timezone - Set timezone = "Europe" und "Berlin" wählen. (User aus anderen Ländern entsprechend)
  • memory_split - Change memory split = Da der hier beschriebene Server die grafische Oberfläche nicht intensiv nutzt kann man mehr Speicher mit dem 240/16 Split freigeben, was der Performance zugute kommt. Wer doch mehr grafisch arbeiten will belässt den Default. (Update: Durch die Erweiterung des Raspberrys auf jetzt 1Gig RAM kann diese im Default bleiben. Wer ohne grafische Oberfläche arbeitet oder nur gelegentlich kann durch den obigen Split aber noch mehr Speicher freimachen was der Performance im nur Serverbetrieb zugute kommt.)
  • overclock - Configure overclocking = Mittlerweile verträgt der Pi auch eine Taktung auf 1 Ghz, allerdings ist da bei Class 10 SD Karten Vorsicht geboten. Für den Dauerbetrieb des RasPi oder generell für einen stabilen Betrieb ist eine Stufe unter der Höchsten Rate ratsam !
  • ssh - Enable or disable ssh server = Unbedingt SSH aktivieren um den remoten Zugriff über das Netz zu ermöglichen !
  • boot_behaviour - Start desktop on boot? = Hier No antworten und den grafischen Desktop nicht automatisch starten lassen, da der Server das nicht unbedingt benötigt und man Resourcen spart.

Anfänger oder Nutzer der grafischen Windows Oberfläche sollten hier besser mit "YES" antworten, da mancher sich oft besser in einer Windows ähnlichen grafischen Umgebung einfacher zurechtfindet.... wie immer Geschmackssache ?!
Nach dem Login kann man die Windows Oberfläche aber immer manuell mit dem Kommando start x aktivieren wer es will und wer sich auf einer grafischen Windows Oberfläche wohler fühlt.
  • update - Try to upgrade raspi-config = Erstmal nicht ausführen also NO !
Da man damit aus dem Konfig Programm springt und Ungeübte das erstmal verwirrt. Das wird später manuell nachgeholt !
Über die TAB-Taste kommt man auf die Schaltflächen "Select" und dann Finish um das Setup abzuschliessen und die Einstellungen zu sichern.
Die Frage bei "Finish" ob das System nun neu gestartet werden soll, bitte mit Yes beantworten und rebooten !
Alles findet man HIER noch einmal zum genauen Nachlesen.

Entweder bootet der Pi nun gleich in eine grafische Windows Oberfläche sofern man dies oben eingestellt hat oder tut dies nach Eingabe des Kommandos start x. Nach dem Booten kann man erste Tests mit Ping usw. machen.
Wichtig ist die DHCP IP des Raspberrys im Netz !
Diese wird mit dem Kommando ifconfig angezeigt oder auch in der Bootmessage !
Damit kann man sich ebenso mit bekannten Terminal Tools wie PuTTY oder TeraTerm und WinSCP (File Transfer) mit dem Pi bequem über das Netzwerk verbinden. Windows Nutzern sollten diese Tools installieren. Apple Mac und Linux haben das von Haus aus mit an Bord.
Auch ein remoter grafischer Login ala RDP ist mit VNC möglich, dazu später mehr. Der RasPi muss also nicht zwingend angeschlossen an Tastatur, Maus und Bildschirm werkeln.
Login dann mit Usernamen "pi" und dem oben vergebenen Password.

Jetzt ist ein guter Zeitpunkt gekommen das System auf den aktuellsten Software Stand zu bringen !
Ein funktionierender Internet Zugang ist dafür erforderlich, da die Updates online nachgeladen werden ! Der Pi holt sich seine IP und Gateway per DHCP im Netz (Default) sollte also in einem Heimrouter Netz immer gleich Online sein.
Ein Ping z.B. auf www.heise.de oder 8.8.8.8 im Terminal sollte eine Antwort bringen und zeigt an ob der Internet Zugang auch sauber funktioniert. (Stop des Ping mi t <ctrl> c )

Nach dem Logon mit User "pi" und "sudo su" um Root User (Administrator) zu werden, erledigen das Update die beiden folgenden Kommandos:
apt-get update
und
apt-get upgrade
Die man nun am Eingabeprompt eingibt und sich eine Tasse Kaffee holt, denn zum Update braucht der Raspberry etwas. Man kann ihm dabei zusehen.
Zusätzlich sollte man noch ein Tool zum Managen der Startup Services installieren mit
apt-get install rcconf

An dieser Stelle noch einmal ein wichtiger Hinweis für alle Linux Anfänger und um Installationsfrust zu vermeiden:
Alle Installationen der Software Pakete und deren anschliessende Konfiguration führt man generell IMMER als Root User (Administrator) aus !!
Dazu ist immer ein "sudo su" vorher einzugeben ! Erst danach werden dann als Administrator die apt get... Kommandos und die Anpassungen der Konfig Dateien mit dem nano Editor ausgeführt !!
Ein weiterer Hinweis betrifft die Anpassungen der hier beschriebenen Konfigurationen. Bei Linux oder unixoiden Betriebssystemen im Allgemeinen wird das auch zunehmend über grafische Tools gemacht aber eine Vielzahl von Finetuning Parametern werden in einfachen Text Dateien, sprich Konfigurationsdateien gemacht.
Ein wenig Übung mit einem simplen Text Editor kann also nicht schaden.
Der RasPi hat z.B. den nano Editor an Bord. Ein sehr einfacher Text Editor der hier im Tutorial zum Anpassen der Konfig Dateien benutzt wird und über die Cursor (Pfeil) Tasten gesteuert wird. <ctrl> o und <ctrl> x sichert die Datei und speichert sie.
cat <dateiname>
oder less <dateiname> zeigt z.B. den Inhalt dieser Dateien an. Die wichtigsten Steuerkommandos des Editor zeigt er selber unten in einer Hilfszeile.
Es ist also sinnvoll als Anfänger sich mit ein paar nano Übungen etwas sattelfest zu machen mit dem Editor, da es die Handhabung sehr erleichtert.
Sehr bequem ist auch der remote Zugang via Netzwerk auf den RasPi. Das erspart einem den Anschluss von Monitor und Tastatur und man kann den RasPi irgendwo ins Netzwerk hängen sei es per LAN oder auch WLAN. Mit einem USB Akku- oder Power Pack ist man so auch vollkommen Kabel unabhängig wer dies möchte.
Dazu nutzt man die klassischen freien SSH Terminal Programme Putty oder TeraTerm um per SSH den RasPi zu erreichen. Zum Kopieren von Dateien zu Windows Rechneren bietet sich das oben bereits erwähnte WinSCP an.
Apple Mac und Linux User nehmen hier wie immer Bordmittel z.B. ssh mit ssh username@<raspi_ip>oder z.B. das Terminal Programm ZOC.
Natürlich lässt sich auch die grafische Windows Oberfläche des RasPi mit VNC oder Windows RDP (xrdp) fernbedienen. Wie das remote geht erklärt das Tutorial mit der Installation eines VNC oder RDP Servers auf dem RasPi im Kapitel 3 weiter unten.

Fertig der grauen Theorie... !
Nun geht es endlich daran den Management Server für den Netzwerk Einsatz zu konfigurieren und fit zu machen...!


Den Raspberry Pi ins Netzwerk bringen...

Nach dem Booten und mit angeschlossenem LAN Kabel holt der Pi sich im Default automatisch eine IP Adresse von einem im Netz vorhandenen DHCP Server, üblicherweise also vom Router oder Server DHCP.
Wer mit der DHCP Adresse leben kann oder den Pi an wechselnden Standorten betreibt, belässt es bei der Default DHCP Einstellung.
Sinnvoll und besser ist, für einen festen stationären Server, aber immer eine feste, statische IP Adresse !

Statische IP am LAN Port vergeben:
Mit sudo su macht man sich zum Root User (Administrator) um die Konfig Dateien bearbeiten zu können.
Dann wechselt man ins Verzeichnis cd /etc/network/ und editiert dort die Datei interfaces mit einem Editor wie z.B. nano. Das Kommando lautet nano interfaces
Das dort aufgeführte eth0 Interface ist das Onboard LAN Interface. Den dortigen Parameter dhcp ersetzt man mit static und gibt dann seine statische Adresse an. Der fertige Eintrag in der Datei Interfaces sieht dann so aus:

iface eth0 inet static
address 192.168.1.222
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1


Danach rebootet man das System mit dem Kommando reboot. Nach dem Reboot gibt ein Ping auf die IP Adresse 192.168.1.222 eine positive Antwort und ebenso kann man den Pi mit Putty nun wieder über diese IP per SSH erreichen.
Damit der Pi auch mit seiner statischen IP Adresse einen DNS Nameserver erreichen kann und Namen auflösen kann, muss man zusätzlich die Datei /etc/resolv.conf wie oben editieren und hier folgende Änderung machen:

domain netz.intern
search netz.intern
nameserver 192.168.1.1


Die Nameserver IP Adresse wird hier also auf den lokalen Router (Beispiel) oder die des lokalen DNS Servers im Netz angepasst. (Die Domain netz.intern hier im Beispiel ist natürlich durch die eigene Domain zu ersetzen !)
Ein wiederholter Ping z.B. auf www.heise.de sollte dann das folgende Ergebnis haben:
root@raspberry:/etc# ping www.heise.de
PING www.heise.de (193.99.144.85): 56 data bytes
64 bytes from 193.99.144.85: icmp_seq=0 ttl=247 time=51.774 ms
64 bytes from 193.99.144.85: icmp_seq=1 ttl=247 time=52.305 ms
...usw.
(Stop mit ctrl-c )
Die gesamte Prozedur ist HIER noch einmal visuell zu sehen.

Zusätzliche USB Netzwerk LAN Adapter hinzufügen:
Auf exakt diese Weise lassen sich auch USB basierte Ethernet Adapter wie z.B. DIESER oder auch solche mit Gigabit_Ethernet als 2ten Ethernet Port (eth1) betreiben.
Man fügt lediglich in die o.a. Datei interfaces einen weiteren Adapter eth1 hinzu:
iface eth1 inet static
address 10.1.1.1
netmask 255.255.255.0

Natürlich ist auch hier DHCP möglich. (DHCP Server Betrieb mit dem RasPi folgt unten im Tutorial in einem eigenen Kapitel)
Damit ist ein NIC Teaming / Link Aggreagtion möglich, also das Bündeln zweier Netzwerkkarten auf eine virtuelle NIC mit doppelter Bandbreite oder auch das Betreiben des RasPi als Netzwerk Router/Firewall und das auch in einem VLAN Umfeld.
Zu diesen beiden Netzwerk Optionen später mehr im Laufe dieses Tutorials...


WLAN aktivieren und an ein bestehendes WLAN ankoppeln
Oft besteht der Wunsch den Server statt mit umständlichem LAN Kabel einfach mobil in ein bestehendes WLAN zu hängen.
Auch das ist sehr einfach und schnell erledigt mit dem RasPi Klassiker einem kleinen WLAN_USB_Stick.
Ein guter Tip sind die USB Adapter von Alfa die optimale Sende- und Empfangsoptionen haben (nicht nur für den RasPi). Für den weiter unten beschriebenen Sniffer sind diese Adapter besonders zu empfehlen, denn sie bieten im Lieferumfang externes Befestigungsmaterial um die optimale Position zu finden für das WLAN.
Am allereinfachsten erledigt man das mit dem Tool wpa_gui, was man über die grafische Oberfläche einfach mit Start -> Internet -> wpa_gui anklickt. Das Tool ist selbsterklärend, und speichert die angegebenen WLANs dauerhaft, so das der Raspberry sich auch nach einem Reboot wieder automatisch mit ihnen verbindet.

Wer gerne die Kommandozeile bemüht, macht es wieder wie oben indem man einfach die interfaces Datei per Editor anpasst. Allerdings erfordert das Thema WLAN ein paar Vorbemerkungen:
Der Pi unterstützt eine sehr große Anzahl an WLAN USB Stick Hardware. Vornehmlich Sticks mit Atheros, Ralink und Realtek Chipsätze !
Hier sollte man, sofern man unsicher ist was die HW des Sticks betrifft, wie immer vorher Dr. Google befragen.
Das folgende Setup nutzt einen kleinen .11n WLAN Stick mit Ralink Chipsatz RT5370 wie er preiswert z.B. HIER als Massenware zu haben ist. Auch der dortige Mini Stick von Edimax funktioniert fehlerlos.
Ob ein WLAN Stick "out of the Box" supportet ist kann man schnell feststellen indem man ihn in einen der USB Slots des Raspberrys steckt und das Kommando lsusb eingibt. Erscheint sowas wie:

root@raspberry:> lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter <<---


..hat man schon mal sehr gute Karten und kann gleich weitermachen mit dem WLAN Setup...
Das Kommando iwlist scanning sollte ebenfalls jetzt zu empfangene Accesspoints und WLANs anzeigen.
Das WLAN Passwort ungeschützt in eine Konfigurations Datei zu sichern ist nicht wirklich sicher aber keine Sorge... der Pi hat gleich ein Tool an Bord um das geschützt einzugeben.
Das Kommando heisst wpa_passphrase. Man gibt also ein
wpa_passphrase <ssid> <wlan-passwort>
Am Beispiel eines WLANs mit dem Namen (SSID) "Bitschleuder" und dem WLAN Passwort "Geheim123" sieht das dann so aus:
root@raspberry:/etc# wpa_passphrase Bitschleuder Geheim123
network={
ssid="Bitschleuder"
#psk="Geheim123"

psk=01b035e084c87e1a3e348e6fbb4783202b145950789c691687ee0a6f71584e8b

}

Nun passt man einfach wieder, wie oben mit eth0 beschrieben, die Datei /etc/network/interfaces an für das wlan0 Interface:

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid Bitschleuder
wpa-psk 01b035e084c87e1a3e348e6fbb4783202b145950789c691687ee0a6f71584e8b
iface default inet dhcp

Danach rebootet man das System und kann nun wahlfrei den LAN oder WLAN Port benutzen.
Ein ifconfig Kommando zeigt analog zu Windows ipconfig die finale Interface Konfig.
Möchte man ebenso im WLAN eine statische IP Adresse ändert man auch dort wie oben die IP von "dhcp" auf "static".
In der Regel ist es aber besser bei wechselnden WLANs an unterschiedlichen Standorten hier DHCP zu belassen.

Erheblich flexibler ist es die im Default bestehende "wlan0" Konfiguration in der Datei interfaces zu belassen:
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

und alles über die dort angegebene Datei wpa_supplicant.conf zu regeln. Um ins obige WLAN zu kommen passt man diese entsprechend so an:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev 
update_config=1 
eapol_version=1 
ap_scan=1 
network={ 
               ssid="Bitschleuder" 
               scan_ssid=1 
               key_mgmt=WPA-PSK 
               pairwise=CCMP 
               group=CCMP 
               psk=01b035e084c87e1a3e348e6fbb4783202b145950789c691687ee0a6f71584e8b 
          } 
Der große Vorteil mit diesem Setup, statt der Konfig direkt auf dem Interface, ist das man über das "network" Statement mehrere WLAN Netze vordefinieren kann, was analog z.B. den Windows WLAN Profilen gleicht.
Es entspricht genau dem was man oben grafisch in der RasPi Windows Oberfläche auch mit dem wpa_gui Tool macht.
Der Supplicant Client scannt dann alle diese vordefinierten WLAN Netze und verbindet sich automatisch mit ihnen sobald eine SSID (WLAN-Name) passend und empfangbar ist.
Sinnvoll und erheblich flexibler, wenn man den Raspberry sich als Client automatisch mit mehreren WLANs verbinden lassen will, ohne immer vorher die Konfig auf dem Interface pro WLAN per Editor anfassen zu müssen !

Nachdem man Änderungen in der Datei /etc/wpa_supplicant/wpa_supplicant.conf gemacht hat, immer mit:
wpa_action wlan0 stop
wpa_action wlan0 reload
ifup wlan0

das "wlan0" Interface neu starten ! (Reboot des RasPi geht auch, dauert aber länger)
Ein "ifconfig wlan0" mit einem Ping zum Accesspoint bzw. dess IP zeigt dann immer ob man erfolgreich mit dem betreffenden WLAN verbunden ist.

All diese WLAN Settings sind wie bereits erwähnt nur für Kommandozeilen Interessierte !
Wer es ganz einfach haben will, ganz ohne Kommandozeile, und mit Windows Grafik zum Klicken, der bemüht einfach nur mit Start -> Internet -> wpa_gui das grafische wpa_gui Setup Tool dort, gibt seinen WLAN Namen und Passwort ein und erreicht mit ein paar Mausklicks das gleiche.

WLAN ohne AP als Ad Hoc Verbindung:
Natürlich kann man sich mit dem RasPi auch ganz ohne ein bestehendes WLAN mit Accesspoints mit einer sog. "Ad Hoc" Punkt zu Punkt Verbindung koppeln. Z.B. mit Laptop, Smartphone oder Pad.
Dazu editiert man die Datei /etc/network/interfaces dann folgendermaßen:
iface wlan0 inet static
address 192.168.222.1
netmask 255.255.255.0
wireless-mode ad-hoc
wireless-channel 5
wireless-essid RasPi
auto wlan0

Hierbei ist zu beachten das das verbindende Gerät ebenfalls auf Ad Hoc eingestellt ist was meist automatisch passiert. Eine IP Adresse muss statisch im gleichen IP Netz vergeben werden (hier 192.168.222.x).


Raspberry Pi Server als WLAN Accesspoint betreiben
Der Raspberry Server lässt sich mit diesem WLAN Stick auch selber als eigenständiger WLAN Accesspoint betreiben auf dem sich WLAN Clients anmelden und verbinden können:
Dazu installiert man mit
apt-get install hostapd
die Accesspoint Software "hostapd" und editiert wieder die interfaces Datei mit einer statischen IP (AP Betrieb geht ausschliesslich mit statischer IP) auf dem wlan0 Interface (z.B. 10.0.0.1 /24) und passt dazu mit dem Editor die Konfigurationsdatei etc/default/hostapd an, indem man dort die Zeile
DAEMON_CONF="/etc/hostapd/hostapd.conf"
entkommentiert durch Entfernen des "#" am Zeilenanfang bzw. die Pfadangabe der Konfig Datei zwischen die "" einfügt.
Mit dem nano Editor legt man dann mit nano hostapd.conf im Verzeichnis /etc/hostapd/ die Konfigurations Datei "hostapd.conf" zum Einstellen der AP Parameter an, mit folgendem Inhalt den man per cut and paste übertragen kann:
interface=wlan0 
# Logging aktivieren 
logger_syslog=-1 
logger_syslog_level=2 
logger_stdout=-1 
logger_stdout_level=2 
dump_file=/tmp/hostapd.dump 
ctrl_interface=/var/run/hostapd 
# WLAN Name (SSID), Landeseinstellung Funkkanal und .11 Modus 
ssid=Raspberry 
country_code=DE 
hw_mode=g 
channel=2 
# Timing Parameter 
max_num_sta=32 
rts_threshold=2347 
fragm_threshold=2346 
macaddr_acl=0 
auth_algs=3 
ignore_broadcast_ssid=0 
wmm_enabled=0 
ap_max_inactivity=300 
# WPA Schluesseleinstellungen u. Passwort 
wpa=2 
wpa_passphrase=raspberry 
wpa_key_mgmt=WPA-PSK 
wpa_pairwise=CCMP 
rsn_pairwise=CCMP 
wpa_group_rekey=600 
SSID Name und WLAN Passwort (wpa_passphrase) und ggf. Das Land passt man hier seinen individuellen Wünschen an.

Danach startet man wie gewohnt unter /etc/init.d den Accesspoint mit ./hostapd restart neu.
Falls der hostapd das mit einem "[FAIL] Starting advanced IEEE 802.11 management: hostapd failed!" quittiert, ist das meist ein Indiz dafür das dem Interface wlan0 vergessen wurde eine statische IP Adresse@@ (siehe oben) zu geben !
Nun kann man z.B. mit dem kostenfreien InSSider_Tool (Windows, Mac, Android) seinen "Rasberry Accesspoint" auf dem WLAN Funk Kanal 2 senden sehen und sich mit ihm verbinden wie mit einem klassischen WLAN AP oder WLAN Router.
Sehr praktisch wenn man in Verbindung z.B. mit dem unten beschrieben seriellen Terminal im lauten und kalten Rechenzentrum einen Switch oder Router über die serielle Konsole konfigurieren muss, was man nun bequem im ruhigen und warmen Vorzimmer entspannt per WLAN machen kann...
Andere Optionen sind WLANs zu routen oder IP Netze mit einem Raspberry zu verbinden. Mit dem u.a. Quagga Tool lässt sich das sogar mit dynamischen Routing Protokollen machen.

Nun möchte man natürlich nicht dem WLAN Client, der sich mit dem Rasberry Accesspoint verbindet, immer eine statische IP per Hand konfigurieren.
Keine Bange, das muss auch nicht sein, denn das übernimmt für uns ein DHCP Server den man mit
apt-get install dnsmasq
installiert und dessen Konfig Datei /etc/dnsmasq.conf man editiert und ganz am Ende mit dem nano Editor die folgenden Zeilen einfügt:
# Nur auf dem Interface wlan0 DHCP Adressen verteilen 
interface=wlan0  
# DHCP Adressbereich und Leasetime (hier 12 Stunden) 
dhcp-range=10.0.0.100,10.0.0.120,255.255.255.0,12h 
Wie bereits gehabt, startet auch ./dnsmasq restart unter /etc/init.d den DHCP Server neu mit unserer Konfiguration und vergibt nun den WLAN Clients eine IP dynamisch beim Verbinden.
(Achtung: Stadische IP am WLAN Port muss zum DHCP Bereich passen. Hier 10.0.0.x)
Möchte man einen DHCP Server fürs LAN lässt sich das nach dem selben Muster natürlich auch für weitere Netzwerk Interfaces bzw. IP Netze am Raspberry machen.
Konfigurationshinweis !:
Zu Recht kam unten in den Beitragsthreads der Hinweis eines Lesers das der LAN Port und der WLAN Port hier 2 getrennte IP Netze sind !
Man MUSS als zwangsweise ein IP Forwarding (Routing) im RasPi aktivieren, möchte man vom WLAN z.B. über einen Internet Router der am LAN angeschlossenen ins Internet.
Dazu muss im RasPi das IPv4 Forwarding mit #net.ipv4.ip_forward=1 in der Datei /etc/sysctl.conf aktiviert werden indem man das Kommentarzeichen "#" vor dieser Zeile entfernt.
Die Trennung der Netze hat aber Vorteile, da man mit der iptables Firewall zusätzliche Optionen hat den WLAN Traffic zu kontrollieren.
Wer das nicht möchte und den LAN und WLAN Port zusammen in einem gemeinsalem IP Netz haben möchte, der konfiguriert eben schlicht und einfach beide Ports LAN und WLAN über eine Netzwerk Bridge zusammen mit den folgenden Kommandos:
brctl addbr bridge0
brctl addif bridge0 eth0
brctl addif bridge0 wlan0
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig bridge0 10.0.0.1
ifconfig bridge0 up

Will man hier auch den dnsmasq laufen lassen muss man dort das Interface mit interface=bridge0 entsprechend umsetzen.
Achtung aber wer im LAN noch einen weiteren DHCP Server betreibt. Dadurch das LAN und WLAN Port nun per Netzwerkbrücke verbunden ist vergibt der dsnmasq damit auch im LAN IP Adressen dynamisch was zu Konflikten führen kann.
In der Regel ist im LAN ein DHCP Server vorhanden (Router, Server etc.) so das der dnsmasq in so einer Bridge Konstellation dann überflüssig ist.


Was ist so los im eigenen LAN oder WLAN…???
Wer etwas hinter die Kulissen seines oder anderer Netzwerke sehen möchte kann das mit vielen freien Tools recht einfach realisieren. Als Beispiel sei hier die bekannte Aircrack-ng Suite genannt für die WLAN Analyse bzw. nmap als Klassiker.
Um das Aircrack Packet zu installieren müssen zuerst ein paar Zusatzpakete installiert werden und die Suite selber übersetzt werden, da sie nicht Teil des Raspian Repositories ist. Das ist aber schnell gemacht mit den folgenden Schritten:
apt-get install iw sysfsutils ethtool libssl-dev kismet libnl-3-dev libnl-genl-3-dev
Installiert alle nötigen Komponenten.
Dann lädt man den Aircrack Source Tarball hier herunter ins Verzeichnis /home/pi mit dem Kommando
wget http://download.aircrack-ng.org/aircrack-ng-1.2-rc4.tar.gz 
und entpackt es als Root User mit: tar xvfz aircrack-ng-1.2-rc4.tar.gz
Danach wechselt man in dieses Verzeichnis:
cd aircrack-ng-xyz

und übersetzt dann das Paket mit:
make
und danach mit:
make install

Ist das sauber durchgelaufen lädt man mit (sudo) airodump-ng-oui-update noch die aktuellen OUI Dateien dazu. Fertig !

Mit iwconfig prüft man nun ob ein erkannter WLAN Adapter vorhanden ist und ob dieser Monitor fähig ist zeigt das Kommando airmon-ng check .
Hilfreich ist es hier das WLAN Interface aus der Datei /etc/network/interfaces auszukommentieren mit "#" damit nicht andere Prozesse es blockieren für das WLAN Sniffing.
Das Kommando airmon-ng start wlan0 bringt nun den WLAN Adapter in den Monitor Modus (wie oben zu sehen) und erzeugt ein Monitor Interface wlan0mon in das man weitere Kommando Tools wie z.B. Kismet einklinken kann. iwconfig verifiziert das wieder:
 root@raspberrypi:/home/pi/aircrack-ng-1.2-beta2# iwconfig 
wlan0     IEEE 802.11bg  Mode:Monitor  Frequency:2.442 GHz  Tx-Power=20 dBm 
          Retry  long limit:7   RTS thr:off   Fragment thr:off 
          Power Management:off 
lo        no wireless extensions. 
wlan0mon      IEEE 802.11bg  Mode:Monitor  Frequency:2.442 GHz  Tx-Power=20 dBm 
          Retry  long limit:7   RTS thr:off   Fragment thr:off 
          Power Management:on 
eth0      no wireless extensions. 
Achtung: Ganz wichtig ist hier das der Adapter bei der Eingabe von iwconfig "Mode:Monitor" anzeigt, ansonsten funktioniert die Datenanalyse nicht ! Der Adapter muss dafür im Monitor Modus sein.
Mit dem airmon-ng start Kommando sollte das eigentlich automatisch geschehen aber manche USB Adapter sind etwas zickig dabei.
Keine Sorge, man kann mit den iwconfig Kommandos das immer manuell in der folgenden Reihenfolge fixen.
Ggf. sind dazu mit apt-get install wireless-tools noch die entsprechenden WLAN Tools zu installieren und gibt die Kommandos in der folgenden Reihenfolge ein:
  • iwconfig wlan0 = Zeigt an ob WLAN Adapter "interface mode" im Monitor Mode ist (Darf nicht Managed sein !)
  • ifconfig wlan0 down = Deaktiviert das WLAN Interface zum Umschalten des Modes
  • iwconfig wlan0 mode monitor = Schaltet den Adapter manuell in den Monitor Mode.
  • ifconfig wlan0 up = Aktiviert den Adapter wieder und ein iwconfig wlan0 sollte nun anzeigen das der Monitor Mode aktiv ist.

WLANs beobachten und analysieren:
airodump-ng wlan0 zeigt dann z.B. sämtliche empfangbaren WLAN Accesspoints inklusive ihrer BSSIDs und aller mit diesen APs assoziierten WLAN Clients an und zwar im gesamten WLAN Band !
airbase-ng -e "Hier freies WLAN" -c 2 wlan0mon
Gaukelt z.B. einen unverschlüsselten Accesspoint allen WLAN Clients auf Kanal 2 vor, den man mit einem der zahllosen WLAN Sniffer wie z.B. inSSIDer sehr schön sehen kann. (Die aktuelle Version ist jetzt leider kostenpflichtig !)
Eine gute freie Alternative für ein Windows WLAN Scan Tool ist WiFi_Info. Für Mac OS-X ist ein WLAN-Scanner gleich onboard !
Der zusätzliche Parameter -Z 4 im o.a. Kommando macht ihn zu einem WPA-2 AP.
Ersetzt man diesen Parameter mit einem -A ,wird ein Ad Hoc Client vorgegaukelt.
aireplay-ng -0 4 -a 00:12:34:56:78:22 -c 98:76:54:32:10:11 wlan0 ärgert den Nachbarn und schmeisst z.B. den WLAN Client mit der Mac Adresse 98:76:54:32:10:11 vom Access Point mit der Mac 00:12:34:56:78:22 runter und erzwingt eine Neuanmeldung des Clients.

Man kann diese Aircrack Funktion ebenfalls nutzen um ungeliebte Gäste aus seinem und allen anderen WLANs auszuschliessen wie z.B. HIER in einem einfachen Skript, das Google Glass Träger aus jedem WLAN verbannt !
Wenn man die Mac Adressen dort im Skript entsprechend anpasst, kann man natürlich auch andere Hersteller Endgeräte aus seinem und fremden WLAN Netzen erfolgreich fernhalten.

Eine weitere gefährliche Unart von Windows WLAN Profilen (und auch die anderer OS) ist, das sie im Hintergrund immer weiter versuchen sich mit einem einmal gespeicherten WLAN Profil zu verbinden und das auch wenn dieses WLAN gar nicht mehr erreichbar ist.
Sprich: Windows sucht weiter aktiv nach WLAN Namen mit dem es einmal verbunden war. Siehe auch die aktuelle Problematik bei Android hier.
Anhand dieser sog. Probe Requests kann man dann schnell rausbekommen wo z.B. der Nachbar oder Kollege usw. sich mit dem WLAN Client oder dem Smartphone so alles anmeldet und angemeldet hat und damit aufgehalten hat !
Wie bekommt man das raus...? Die Lösung ist schnell gemacht:

Mit apt-get install tshark installiert man den Kommandozeilen Wireshark und das Kommando:
tshark -i wlan0mon subtype probereq -w probreq.pcap
startet dann einen entsprechenden Probe Request Sniffer, der alle diese Requests in WLAN Reichweite in eine Wireshark kompatible .pcap Datei speichert.
Mit z.B. WinSCP oder Per USB Stick kann man sich die dann auf seinen "großen" Rechner holen und mit dem grafischen Wireshark Tool ansehen.
Natürlich geht das in Echtzeit auch einfacher auf dem RasPi direkt, wer die grafische Windows Oberfläche dort laufen hat oder ihn mit VNC fernbedient und zusätzlich den Wireshark dort mit apt-get install wireshark installiert hat.
Dazu geht man dann folgendermaßen vor:
airmon-ng start wlan0 startet wieder den Monitor Mode und legt das Monitor Interface wlan0mon im Monitor Mode an sofern noch nicht aktiviert.
Man startet den Wireshark im GUI und wählt das Interface wlan0mon aus und klickt Start bzw. die grüne "Rückenflosse".
Der Wireshark zeigt jetzt sämtlichen WLAN Traffic im Empfangsbereich an und deshalb ist es zwingend einen Display Filter aufzusetzen, der nur die gewünschten Probe Requests aus den mitgeschnittenen WLAN Daten rausfischt.
In das obige Fenster "Filter" gibt man dazu folgenden String: wlan.fc.type_subtype eq 4 ein und klickt auf Apply.
Et voila... nun werden nur noch die verräterischen Probe Requests angezeigt.
Ein etwas verbessertes Ergebnis erreicht man mit iwconfig mon0 channel 6 wenn man den Adapter auf den WLAN Mittenkanal 6 setzt.
So kann man auch sehr leicht herausfinden ob die eigenen WLAN Geräte gelernte WLAN Netze ausposaunen und so anderen Rückschlüsse auf ein eigenes Bewegungsprofil bieten !

Die weiteren grundlegenden Kommandos zum Analysieren bzw. Sicherheitscheck des WLAN Netzes werden im Aircrack_Guide oder Wardrive_Enzyklopädie beschrieben.

Drahtgebundene Netze überwachen:
Eines der klassischen Tools zum Analysieren eines LANs (und auch WLANs) ist das bekannte NMAP.
Die erforderlichen Pakete installiert man mit
apt-get install nmap zenmap
Wobei "zenmap" die grafische Oberfläche für nmap ist, die man auch bequem via VNC fernbedienen kann. (Siehe auch Tightvnc Server Installation hier im Tutorial Kapitel 3)
Startet man Zenmap und befindet sich z.B. im Netzwerk 192.168.0.0/24 tippt man das als lokales Netzwerk ein und mit einem Klick auf "Quick Scan" führt nmap einen Scan des gesamten Netzes und seiner Hosts aus.
Im linken Bereich sieht man die Hosts und auf welchen TCP/UDP Ports diese antworten.
(Real Life Scan auf administrator.de (Sorry Frank ))
04c047fb6359c61cc1d1299300659a03 - Klicke auf das Bild, um es zu vergrößern

Sehr aufschlussreich ist auch das eigene Netzwerk zuhause. WER also dort im eigenen Heimnetz so alles unbemerkt mit dem Internet kommuniziert, wie z.B. PCs, Smart TVs die heimlich nach Hause telefonieren und Fernsehgewohnheiten an Sender und Hersteller übermitteln, aber auch andere Dinge die man nicht wirklich in der großen weiten Welt haben will und schon gar nicht auf sozialen Netzen !
nmap -sP 192.168.1.* (IP Adresse an eigenes Netz anpassen)
liefert schnell einen Überblick welche Hosts von welcherm Hersteller im eigenen Netz gerade aktiv sind.

Jetzt bemüht man das Tool Ettercap auf dem RasPi der diese heimlichen "Spione" im Nu entlarvt.
Das Tool ist mit apt-get install ettercap-text-only schnell installiert. (Wer es grafisch mag installiert mit apt-get install ettercap-graphical die Grafik Variante).
Ettercap kann unter anderem ein ARP Spoofing ausführen und im gesamten Netzwerk z.B. allen anderen Teilnehmern den Internet Router vorgaukeln ohne diese anzufassen. Es leitet so den gesamten Traffic ins Internet über sich selber und sieht sich den Traffic dabei an.
In einem Netzwerk mit der IP Adresse 192.168.1.0 /24 wo der der DSL/Kabel Internet Router die IP Adresse 192.168.1.1 hat, erreicht man das mit dem Kommando:
ettercap -T -M arp:remote /192.168.1.1/ / /
Will man die Kommunikation von ganz bestimmten Endgeräten im Netzwerk (z.B. dem Host 192.168.1.100) mit dem Internet belauschen lautet das Kommando:
ettercap -T -M arp:remote /192.168.1.1/ /192.168.1.100/
Man kann hier auch mehrere Endgeräte IP Adressen angeben. Die man Page "man ettercap" und diverse Tutorials im Internet haben weitere Beispiele. Meist ist man sehr erstaunt WAS alles so unverschlüsselt " ;nach Hause telefoniert" bzw. ins Internet geht wenn man es nicht im Router blockt.
Die einfachste Massnahme ist an solchen Geräten wie Fernseher usw. einfach keine Gateway IP einzustellen um den Spuk sicher abzustellen.

Mit apt-get install driftnet installiert man ein "grafisches" tcpdump. Leitet man den Netzwerktraffic mit Ettercap wie oben entsprechend um und startet driftnet -i eth0 kann man in einem X Window Fenster alle Bilder und Grafiken sehen die ein Client überträgt. Driftnet fischt diese aus dem umgelenkten Datenstrom.
ettercap -Tqi eth0 -M arp:remote // // 
ist quasi ein "Schrotschuss" der das gesamte Netz umlenkt.
apt-get install dsniff installiert weitere Analyse Tools um den auf den RasPi umgelenkten Datenstrom zu untersuchen. urlsnarf extrahiert z.B. alle HTTP Anfragen aus diesem umgelenkten Datenstrom.

Ein zusätzliches hilfreiches Tool ist fing das man für den RasPi hier herunterladen kann:
http://www.overlooksoft.com/getfing4arm
Ein dpkg -i overlook-fing-2.2.deb installiert es. fing --help zeigt die Kommandosyntax. Der alleinige Aufruf von fing zeigt alle aktiven Mac- und IP Adressen im Netz.
Es ist quasi ein Schweizer Taschenmesser, das alle Geräte eines Netzes inklusive ihrer Ports und Namen aufspürt.

Weitere Tools wie Wireshark, tcpdump , arpspoof usw. komplettieren das Toolset zur Netzwerkanalyse.
Eine Plug and Play Sniffer Probe zum Einschleifen ins LAN Kabel findet man z.B. HIER beschrieben.

VLANs auf dem Raspberry einrichten
Natürlich supportet der Raspberry auch die VLAN Integration mit VLAN Tagging (802.1q) auf seinen Interfaces. Dabei ist es egal ob man das eingebaute Ethernet Interface dafür benutzt oder z.B. eins mit einem zusätzlichen USB-Ethernet Adapter.
Die Installation ist wie immer im Handumdrehen erledigt:
Mit apt-get install vlan installiert man den 802.1q VLAN Tagging Support.
Dann passt man wiederum die Datei /etc/network/interfaces an gem. der auf dem VLAN Switch verwendeten VLANs am Raspberry Port.
Die folgende Beispielkonfiguration zeigt das Ethernet Interface eth1 (ein USB-Ethernet Adapter) das mit den VLANs 20 und 30 tagged auf einem VLAN Switch verbunden ist. Das Interface eth1 selber ist dabei untagged mit dem native VLAN (default VLAN) des Switches verbunden
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp
auto vlan20
iface vlan20 inet static
address 10.20.1.163
netmask 255.255.255.0
vlan_raw_device eth1
auto vlan30
iface vlan30 inet static
address 10.30.1.163
netmask 255.255.255.0
vlan_raw_device eth1

Eine dazu korrespondierende Cisco VLAN Switchkonfiguration sähe z.B. so aus:

interface FastEthernet0/24
description VLAN Uplink zum Raspberry Pi Server
switchport mode trunk
switchport trunk native vlan 1
switchport trunk allowed vlan 1,20,30


Die RasPi VLAN Konfig lehnt sich dabei an das VLAN_Servertutorial hier im Forum an, das die weiteren Details beschreibt.
Die dazu korrespondierende VLAN Switchkonfiguration für gängige LAN Switchmodelle beschreibt ein entsprechendes VLAN_Switchtutorial hier im Forum.
Es behandelt auch wie das IP Routing (Forwarding) global auf dem Raspberry oder Linux allgemein aktiviert wird. (Entkommentieren der Zeile #net.ipv4.ip_forward=1 in der Datei /etc/sysctl.conf).
Der RasPi kann damit problemlos auch als externer VLAN Router eingesetzt werden der zwischen VLAN IP Netzen routet !

NIC Teaming bzw. Link Aggregation / Bonding mit dem Raspberry einrichten
Wem die 100 Mbit Bandbreite des Raspberrys nicht genügen, kann natürlich auch Link Aggregation bzw. Teaming mit 2 Netzwerkadaptern machen um so die Kapazität der Bandbreite zu erhöhen. Da der Raspberry nur einen Adapter onboard hat benötigt er zusätzlich einen weiteren USB-Ethernet Adapter wie z.B. diesen. Praktisch ist auch einer mit integriettem USB Port Hub wie dieser. Alle diese USB-Ethernet Adapter werden automatisch erkannt und supportet.
Interessant ist die Link Aggregation zum Test mit managebaren LAN Switches die Teaming oder Link Aggregation, sprich also das Bündeln mehrer Ports zur Bandbreitenerhöhung supporten.
In der Regel unterstützen die meisten am Markt befindlichen managebaren LAN Switches den verbreiteten Standard 802.3ad mit LACP (Link Aggregation Control Protokoll).
Damit kann man den Switch in Bezug auf funktionierendes NIC Teaming mit 802.3ad / LACP wasserdicht testen.
(ACHTUNG: Der zusätzliche USB Adapter muss ebenfalls ein 100 Mbit/s LAN Adapter sein ! Ein Teaming mit 2 unterschiedlichen LAN Speeds supportet der 802.3ad Standard definitiv NICHT !)
Die folgenden Schritte zeigen das NIC Teaming / LAG inklusive Konfiguration an einem Cisco Catalyst LAN Switch und einem HP ProCurve Switch. Als Beispiel für einen Web Smart Switch mit Konfig über eine GUI ist hier die Konfig eines Cisco Switches der preiswerten SG-200 / SG-300 Reihe gezeigt. Bei Switches anderer Hersteller sind die Konfigs mehr oder minder identisch.
Los gehts...
apt-get install ifenslave-2.6 ethtool bmon
Installiert wie gehabt die benötigten Komponenten dazu.
Zum Konfigurieren fasst man wieder mit dem nano Editor die bekannte Datei /etc/network/interfaces an und konfiguriert das Bonding bzw. Teaming. Hier im Beispiel ein 2er Trunk mit den Interfaces eth0 (onboard Ethernet) und eth1 (USB 100Mbit Ethernetadapter):
iface eth0 inet dhcp
iface eth1 inet dhcp

auto bond0
iface bond0 inet dhcp
bond-slaves eth0 eth1
bond-mode 802.3ad
bond-miimon 100
bond-updelay 200
bond-downdelay 200
bond-xmit_hash_policy layer2+3

Den Status des Trunks kann man mit cat /proc/net/bond0/info auf der Linux Seite checken.
Die o.a. Konfig ist fast selbsterklärend...
Mode 802.3ad schaltet das Teaming in dieses Standardmodus den alle LAN Switches verstehen.
Die Hash Policy Layer 2+3 erwirkt eine bessere Last Verteilung auf Basis von L2 und L3 Adressen.
An dieser Stelle ein warnendes Wort:
Im Host/Server Bereich, speziell Windows, gibt es diverse Teaming Arten (Bonding, Failover usw.) die aber in einer LAN Switch Infrastruktur NICHT alle supportet sind !! Ein Quell vieler Fehlerthreads hier im Forum wo Netzwerk Admins oft mit Serveradministratoren streiten über diese Funktion und was geht und nicht geht an LAN Switches.
Dieser Teil des Tutorials bezieht sich NUR auf den o.g. Standard zur Bandbreitenerhöhung (IEEE 802.3ad und LACP Standard) und KEIN Link Failover ! Link Failover ist aktive KEINE Bündelung paraleller Links. Das erreicht man ausschliesslich nur mit 802.3ad (oder .ax) und LACP was der Switch auch supporten muss. Ein managebarer Switch oder WebSmart Switch ist hier also immer minimalste Voraussetzung !

Details zu den Teaming oder Bonding Modi kann man hier nachlesen.
Da wie bereits erwähnt Link Aggregation IMMER eine 2-seitige Angelegenheit ist egal ob "Server UND Switch" oder "Switch zu Switch" folgt im 2ten Schritt nun die entsprechende LAN Switch Konfiguration zum NIC "Teaming / Bonding / Link Aggregation / Etherchannel" mit Switches verschiedener Hersteller als Beispiel:

Trunking Beispiel Cisco "Etherchannel" (Trunk, LAG) Konfiguration an den Ports 0/3 und 0/4 eines IOS Catalyst Switches.
Mitbewerber mit ähnlichem CLI machen das identisch und bei einfachen Web Smart Switches ist das ein Klick im grafischen Setup:
interface Port-channel1
description RasPi 2Port LAG
switchport mode access
spanning-tree portfast
!
interface FastEthernet0/3
description NIC 1
switchport mode access
channel-group 1 mode active
spanning-tree portfast
!
interface FastEthernet0/4
description NIC 2
switchport mode access
channel-group 1 mode active
spanning-tree portfast

Nach dem Reboot des Raspberrys sieht man das der Port Channel (LAG) auf dem LAN Switch aktiv ist:
catalyst#sh int po 1 eth 
Port-channel1   (Primary aggregator) 
 
Age of the Port-channel   = 0d:02h:45m:48s 
Logical slot/port   = 2/1          Number of ports = 2 
HotStandBy port = null 
Port state          = Port-channel Ag-Inuse 
Protocol            =   LACP 
Port security       = Disabled 
 
Ports in the Port-channel: 
 
Index   Load   Port     EC state        No of bits 
------+------+------+------------------+----------- 
  0     00     Fa0/3    Active             0 
  0     00     Fa0/4    Active             0   
Die "andere" Seite auf dem RasPi ebenfalls:
root@raspberry:/etc/network# ifconfig 
bond0     Link encap:Ethernet  HWaddr b8:27:eb:b9:ac:dd 
          inet addr:192.168.7.155  Bcast:192.168.7.255  Mask:255.255.255.0 
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1 
          RX packets:2476 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:254 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:0 
          RX bytes:172634 (168.5 KiB)  TX bytes:282409 (275.7 KiB) 
 
eth0      Link encap:Ethernet  HWaddr b8:27:eb:b9:ac:dd 
          inet addr:192.168.7.155  Bcast:192.168.7.255  Mask:255.255.255.0 
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1 
          RX packets:352 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:254 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:40685 (39.7 KiB)  TX bytes:29703 (29.0 KiB) 
 
eth1      Link encap:Ethernet  HWaddr b8:27:eb:b9:ac:dd 
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1 
          RX packets:2124 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:131949 (128.8 KiB)  TX bytes:252706 (246.7 KiB) 
Hier kann man sehr schön sehen das der Host trotz zweier separater NICs nur eine einzige Mac Adresse (b8:27:eb:b9:ac:dd ) verwendet für den LAG !
Das ist essentiell wichtig für den Switch denn es dürfen KEINE 2 unterschiedlichen MAC Adresen verwendet werden, sonst würde kein Load Sharing funktionieren im Trunk / LAG !
Entsprechend zeigt das auch der LAN Switch:
          Mac Address Table 
------------------------------------------- 
 
Vlan    Mac Address       Type        Ports 
----    -----------       --------    ----- 
 All    0100.0ccc.cccc    STATIC      CPU 
 All    0100.0ccc.cccd    STATIC      CPU 
  
   1    b827.eb63.cc67    DYNAMIC     Fa0/1 
   1    b827.ebb9.acdd    DYNAMIC     Po1 
Damit ist der 2mal 100 Mbit/s LAG aktiv am Switch mit einer laufenden Lastverteilung und automatischem Link Backup !
Mit dem Aufruf von "bmon" kann man sich die laufende Lastverteilung ansehen:
  #   Interface                RX Rate         RX #     TX Rate         TX # 
─────────────────────────────────────────────────────────────────────────────────── 
raspberry (source: local) 
  1   eth0                     238.00B            1      66.00B            0 
  2   eth1                     144.00B            2       0.00B            0 
  3   bond0                    382.00B            3      66.00B            0 
Diese Konfig gilt natürlich auch für "große" Server die z.B. multiple Netzwerkkarten schon gleich mit onboard haben !

LAG / Trunking Syntax auf einen HP Procurve Switch:
Generell ist eine dedizierte Trunk Konfig bei den billigen HP ProCurve Switches nicht zwindend erforderlich, denn HP hat per Default auf allen LAN Ports des Switches LACP im Passive Mode aktiviert.
Der Switch formt so von sich aus automatisch sofort einen dynamischen Trunk sofern die angeschlossenen Systeme LACP im Active Mode sprechen. Steckt man also den o.a. konfigurierten RasPi oder einen andere LAG an Switch Port 1 und 2 sieht es so aus:
HP-Switch# sh lacp 
                           LACP 
   PORT   LACP      TRUNK     PORT      LACP      LACP 
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS 
   ----   -------   -------   -------   -------   ------- 
   23     Passive   Dyn1      Up        Yes       Success 
   24     Passive   Dyn1      Up        Yes       Success 
HP-Switch# 
Sieht man sich jetzt an ob der Trunk aktiv ist:
HP-Switch# sh trunks 
 Load Balancing 
  Port | Name                             Type      | Group Type 
  ---- + -------------------------------- --------- + ----- ----- 
  1   |                                  10/100TX  | Dyn1  LACP 
  2   |                                  10/100TX  | Dyn1  LACP 
HP-Switch# 
zeigt der Switch das entsprechend an das er die Trunk Gruppe "Dyn1" automatisch geformt hat.
Wer lieber auf Nummer sicher gehen will beim ProCurve definiert den Trunk fest und statisch.
Benutzt werden als Beispiel wieder die Ports eth 1 und eth 2 und der Trunk hat den logischen Namen trk1.
<config># trunk 1,2 trk1 LACP
<config># wr me

Alternativsyntax:
<config># trunk eth 1-2 trk1
<config># interface eth 1-2 lacp active

Fertig !
Wenn auf dem Switch z.B. das VLAN 10 auf dem Trunk (LAG) Interface untagged oder tagged übertragen werden soll:
<config>#vlan 10 untagged trk1

Tagged:
<config>#no vlan 10 untagged trunk1
<config>#vlan 10 tagged trk1

Konfig danach immer sichern mit:
<config>#wr me

Weitergehende Infos zum Trunking, Link Aggregation mit HP Switches findet man HIER.

Teaming / Trunking Beispiel Brocade ICX Switch:
lag "TestLAG" dynamic id 1
ports ethernet 1 to 2
primary-port 1
deploy
port-name Standard LACP LAG ethernet 1
!
ICX-Switch#sh lag  
Total number of LAGs:          1 
Total number of deployed LAGs: 1 
Total number of trunks created:2 (27 available) 
=== LAG "TestLAG" ID 1 (dynamic Deployed) === 
LAG Configuration: 
   Ports:         e 1 to 2 
   Port Count:    2 
   Primary Port:  1 
   Trunk Type:    hash-based 
Deployment: HW Trunk ID 1 
Port    Link    State   Dupl Speed Trunk Tag Pvid Pri MAC             Name 
  1   Up      Forward Full 100M  1     Yes 1    0   bb7e.2408.5f81  Standard LAG 
  2   Up      Forward Full 100M  1     Yes 1    0   bb7e.2408.5f81 
 
Port   [Sys P] [Port P] [ Key ] [Act][Tio][Agg][Syn][Col][Dis][Def][Exp][Ope] 
1/2/1        1        1   20002   Yes   L   Agg  Syn  Col  Dis  No   No   Ope 
1/2/2        1        1   20002   Yes   L   Agg  Syn  Col  Dis  No   No   Ope 
Der Status "Ope" wie "Operational" zeigt hier das der LACP Trunk aktiv ist !

Teaming / Trunking Beispiel eines preiswerten Web-Smart Switch Cisco SG-200er Serie:
Zuerst ist der Trunk ch1 zu definieren mit den Ports (Hier Port 7 und 8)
f06e0aaa8cbe5436c337f07cdf41fbb5 - Klicke auf das Bild, um es zu vergrößern

Durch Überprüfung des Trunk Status kann man sehen ob der LACP Trunk / LAG korrekt aufgebaut wurde und aktiv ist (UP):
29c1bcccba87ca73e86a2fff1dc2ceb0 - Klicke auf das Bild, um es zu vergrößern

Optional: Wenn man den Trunk / LAG in einem spezifischen VLAN oder als Tagged Trunk gesetzt haben will muss man dieses natürlich noch entsprechend in den VLAN Settings definieren: (Entfällt natürlich wenn der Trunk im Default VLAN 1 ist !)
fda9ac4206df0ed5f06928b8ff20b8f2 - Klicke auf das Bild, um es zu vergrößern

Internet Mobilfunk Zugang mit UMTS USB-Stick einrichten
Auch wenn man den Raspberry Pi Server fernab von jedem DSL, Kabel TV oder WLAN betreiben will ist da ja immer noch UMTS, oder sogar LTE. Der Zugriff mit einem UMTS USB Stick ist schnell eingerichtet.
Das bekannte apt-get install ppp wvdial installiert die benötigten Software Packete. Hat man den Stick eingesteckt zeigt ein lsusb:
root@raspberry:/home/pi# lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem

Das der UMTS Stck sauber erkannt wurde. Wer es genau wissen will checkt auch nochmal mit dmesg:
usbserial: USB Serial support registered for GSM modem (1-port)
option 1-1.2:1.0: GSM modem (1-port) converter detected
usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0

Das UMTS Modem (hier ein billiger "Aldi" Stick) ist also erkannt und auf die Schnittstelle ttyUSB0 gesetzt.
Unter dem Verzeichnis /etc editiert man jetzt die Datei wvdial.conf mit dem Nano Editor und passt diese entsprechend seiner SIM Karte bzw. Providers an:
[Dialer Defaults] 
Init1 = ATZ 
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 
Modem Type = Analog Modem 
Baud = 460800 
New PPPD = yes 
# Ersetzen mit der Stick Schnittstelle, i.e. ttyUSB0  
Modem = /dev/ttyUSB0 
ISDN = 0 
 
[Dialer umts] 
Dial Command = ATD 
Carrier Check = no 
# Ersetzen mit dem Wählstring. *99# oder *99***1# 
Phone = *99# 
Password = t-mobile 
Username = tm 
Stupid Mode = 1 
# Ersetzen mit dem  APN, z.B. "web.vodafone.de" 
Init4 = AT+CGDCONT=1,"IP","internet.t-mobile" 
Dial Attempts = 2 
Idle Seconds = 0 
Das obige Beispiel ist angepasst auf eine T-Mobile Xtra Datenkarte.
Wichtig ist hier der sog. APN der entsprechend der SIM und des Providers angepasst werden muss ! Eine APN Übersicht der Mobilfunk Provider findet man z.B. hier.
Das war schon (fast) alles !
Man kann nun mit dem Kommando wvdial umts ( Das "umts" bezieht sich auf den frei wählbaren Namen in der [Dialer "xyz"] Definition oben ) einen ersten UMTS Mobilfunk Verbindungstest machen um zu sehen ob die UMTS Einwahl fehlerfrei funktioniert:
root@raspberry:/home/pi# wvdial umts
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet.t-mobile"
AT+CGDCONT=1,"IP","internet.t-mobile"
OK
--> Modem initialized.
--> Sending: ATD*99#
--> Waiting for carrier.
ATD*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Apr 22 21:46:21 2014
--> Pid of pppd: 2459
--> Using interface ppp0
--> local IP address 172.2.56.174
--> remote IP address 172.2.64.164
--> primary DNS address 172.34.10.10
--> secondary DNS address 172.34.10.11

Anhand der via PPP vom Mobilfunk Provider übermittelten IP Adressen sieht man das die UMTS Einwahl funktioniert. Wer die Verbindung so immer manuell mit wvdial aufbauen will muss nichts mehr weiter machen. CTRL C stoppt die Verbindung wieder.
Zusammen mit dem oben vorgestellten Accesspoint z.B. als "UMTS Taschenrouter" oder wenn der RasPi Server irgendwo autark ohne DSL automatisiert steht, möchte man aber die UMTS Verbindung selbstständig beim Booten aufbauen.
Dazu ist die Datei /etc/network/interfaces anzupassen und um die Schnittstelle ppp0 zu ergänzen:
auto ppp0 
iface ppp0 inet wvdial 
provider umts 
# pre-up /usr/local/bin/setPIN.sh 
Ist das so konfiguriert wird beim nächsten Reboot oder mit den Kommados ifup ppp0 oder ifdown ppp0 der UMTS Link automatisch hergestellt.
Ein Wort zur PIN auf der SIM Karte ! Einfacher ist es die PIN Abfrage abzuschalten auf der SIM. Man muss das SIM dann nicht entsperren vor der Einwahl. Wer auf diese Sicherheit aber nicht verzichten möchte erzeugt mit dem Nano Editor ein kleines Shell Script setPIN.sh mit folgendem Inhalt:
#!/bin/bash 
echo "AT+CPIN=1234\n\r" > /dev/ttyUSB0 
Wobei hier "1234" durch die eigene PIN zu ersetzen ist ! Mit cp setPIN.sh /usr/local/bin kopiert man es ins Binary Verzeichnis und macht es mit chmod 711 setPIN.sh nur für den Root User sichtbar.
Nun kann man mit dem Kommado setPIN.sh manuell die Karte entsperren und zusätzlich das Kommentar "#" vor dem pre-up Kommando in der Datei etc/network/interfaces oben entfernen um das automatisiert vor der UMTS Einwahl auszuführen.

Damit ist nun der grundlegende Teil der RasPi Server Installation an sich und der Netzwerk Installation abgeschlossen.
Die jetzt folgenden Kapitel im Tutorial beschreiben die Einrichtung der einzelnen Netzwerk Management Dienste und Funktionen.




Kapitel 2. Die Netzwerk Management Dienste und ihre Einrichtung

Basisdienste sind die Syslog Anpassung zum Empfang von Log Meldungen, ein Webserver mit PHP, FreeRadius für sicheres LAN und WLAN, RS-232 Terminalserver zum Fernwarten von Konsolen, TFTP Server für den Upload von Imagedateien. Alle diese Dienste liegen dank Debian Basis als fertige Pakete vor die mit einfachen Kommandos nur installiert werden müssen.
Wer viele Daten vorhalten will entscheidet sich also schon gleich am Anfang für eine größere SD Flash Karte mit 8GB oder mehr.
Man spielt nun die wichtigsten Pakete ein:
apt-get install apache2
installiert den Webserver Apache 2
apt-get install php5
Installiert PHP5 dazu.
Wenn man jetzt die IP Adresse des Pi im Webbrowser eingibt, dann erscheint eine kurze Begrüssungsseite.
Die HTML Dateien für den Webserver sind unter /var/www/ zu finden.
Analog dazu installiert man mit...
apt-get install freeradius
...den FreeRadius Server
apt-get install mrtg mrtg-rrd rrdtool snmp snmpd snmp-mibs-downloader
...die grafische Performance Überwachung MRTG / RRD
apt-get install ser2net
...den RS-232 Terminalserver (Serielle Cisco Konsole etc.)
(Wird fortgesetzt...!)


Ein grafischer Logging Server (Syslog) mit Web Oberfläche

Dieser Dienst dient zum zentralen Empfang von Log Meldungen aktiver Komponenten im Netzwerk wie Switches und Router oder auch Server.
Zusätzlich zur obigen Installation von Apache2 und PHP5 muss man noch ein Grafikpaket installieren um die grafischen Statistiken des Loganalyzers ausgeben zu können.
apt-get install php5-gd
erledigt das wieder im Handumdrehen.

Bevor man nun zur grafischen Oberfläche für den Syslog Server kommt, muss man diesen erst etwas anpassen damit er Log Meldungen von externen Geräten im Netzwerk an ihn akzeptiert.
Dazu editiert man mit dem nano Editor die Datei /etc/rsyslog.conf. Hier entkommentiert man 2 Zeilen indem man das "#" davor entfernt:
01.
# provides UDP syslog reception  
02.
$ModLoad imudp 
03.
$UDPServerRun 514  
Wer möchte kann externe Log Meldungen, die wie bei Cisco als local7 Meldungen reinkommen, noch in ein separates Log schicken damit sie nicht im allgemeinen Log untergehen.
Dazu editiert man wieder die Datei /etc/rsyslog.conf und fügt folgende Zeilen hinzu:
01.
# Logging external network devices 
02.
local7.*                        /var/log/cisco.log 
03.
 
04.
# local4.* /var/log/netzlog 
05.
# local7.debug /var/log/netzlog 
06.
# local7.warn /var/log/netzlog 
Die separate Log Datei "cisco.log" erzeugt man dann mit dem Kommando "touch cisco.log" im Verzeichnis /var/log/.
Mit ./rsyslog restart unter /etc/init.d/ startet man dann den Syslog Server neu um die Änderungen zu aktivieren oder macht einen Reboot mit "reboot".
Das Kommando tail -f /var/log/syslog zeigt eingehende Log Meldungen in Echtzeit an, die man z.B. mit dem Kommando logger Hallo hier kommt was rein... provozieren kann.
Mit less syslog oder less cisco.log kann man sich die Log Dateien mit den eingehenden Meldungen der externen Komponenten unter /var/log ansehen.
Auf die Dauer natürlich langweilig und nicht gerade komfortabel, deshalb muss ein grafisches Frontend her.
Das kommt in Gestalt einer PHP Anwendung mit dem Namen "LogAnalyzer" und kann hier kostenlos runtergeladen werden:
http://loganalyzer.adiscon.com/downloads
Die Installation ist recht einfach und unter Windows benötigt man das Tool WinSCP um diese Datei auf den Pi zu übertragen, die dann im Verzeichnis /home/pi landet. Mac und Linux Nutzer nehmen das bordeigene scp Kommando dafür.
Dann führt man folgende Schritte aus:
  • tar.z Datei mit "tar xzf <dateiname>" entpacken
  • Im Webserver Verzeichnis /var/www mit "mkdir loganalyzer" ein Verzeichnis erstellen
  • Alle Dateien im entpackten /src Verzeichnis des Loganalyzer Programm Archivs von oben dahin kopieren mit mv * /var/www/loganalyzer
  • Zwei Dateien aus dem /contrib Unterverzeichnis (configure.sh und secure.sh) ebenfalls mit cp *.sh /var/www/loganalyzer dorthin kopieren und mit chmod +x configure.sh secure.sh ausführbar machen und dann die Datei mit dem Aufruf ./configure.sh im Verzeichnis ausführen.
  • Webbrowser öffnen, auf http://<ip_adresse_pi>/loganalyzer gehen. In der erscheinenden Error Meldung ist ein Link zum weitermachen den man anklickt.
  • Der gesamte Rest ist grafisch Menü geführt und man kann die Defaults einfach abnicken.
Eine genaue Anleitung zum Nachlesen findet man hier: http://loganalyzer.adiscon.com/doc/install.html

Wer das separate Netzwerk Log mit den local7 Messages (Cisco u.a. Switch Hersteller) gefiltert ansehen will, editiert die config.php Datei unter /var/www/loganalyzer und fügt unter dem Abschnitt "$CFG['DefaultSourceID'] = 'Source1';" am Ende eine 3te Source ein (2 wird von MySQL benutzt !):

$CFG['Sources']['Source3']['ID'] = 'Source3';
$CFG['Sources']['Source3']['Name'] = 'Netzwerk';
$CFG['Sources']['Source3']['ViewID'] = 'SYSLOG';
$CFG['Sources']['Source3']['SourceType'] = SOURCE_DISK;
$CFG['Sources']['Source3']['LogLineType'] = 'syslog';
$CFG['Sources']['Source3']['DiskFile'] = '/var/log/netzlog';

Hat man alles richtig gemacht sollte das zu sehen sein:
08762a1b727544dd28adc554841baad4 - Klicke auf das Bild, um es zu vergrößern
(Beispiel hier mit 2 Cisco Log Meldungen)

Ein Schnelltest ob alles angezeigt wird liefert die Eingabe von logger Test123. Die Syslog Message "Test123" sollte dann im Syslog erscheinen.
Natürlich ist der Loganlyzer auch in deutscher Sprache (und auch andere Sprachen) verfügbar:
http://loganalyzer.adiscon.com/plugins/translations
Die obige Installation hat Deutsch aber schon per Default installiert so das nur eine klitzekleine Änderung der Konfig Datei vonnöten ist:
Mit dem nano Editor öffnet man die Datei /var/www/loganalyzer und sucht nach der Zeile:
$CFG['ViewDefaultLanguage'] = "en";______________ Sets the default display language
Das "en" ersetzt man ganz einfach mit einem "de" und schon ist beim nächsten Aufruf die Seite in Deutsch.

FritzBox Betriebsdaten per Script auslesen
Dafür hat Forumskollege colinardo ein fertiges Script erstellt:
http://www.administrator.de/contentid/214598


Mit Nagios Netzwerk Komponenten und Server überwachen

Auch hier werden im ersten Schritt wieder die Grundpakete installiert mit den bekannten Kommandos:
apt-get install nagios3
Bei der Installation wird das Nagios Login Passwort abgefragt, das also bitte gut merken.
Das Nagios Web Frontened kann man nach der Installation direkt mit http://<RasPi_ip>/nagios3 in einem Webbrowser aufrufen. Der Benutzername zum Einloggen ist nagiosadmin.
Die Konfig Dateien zum Bearbeiten befinden sich unter /etc/nagios3/objects. Dort ist auch eine Default Datei switch.cfg die man für eine erste quick and dirty Installation anpassen kann
define host{ 
        use             generic-host           
        host_name       win-srv                 
        alias           Server 2012           
        address         172.16.1.200        
        hostgroups      server                  
        icon_image      www_server.png 
define host{ 
        use             generic-switch           
        host_name       cisco-switch              
        alias           Cisco SG-200       
        address         172.16.1.1             
        hostgroups      switches                 
        icon_image      switch40.png 
define host{ 
        use             generic-switch 
        host_name       pfsense 
        alias           Firewall 
        address         172.16.1.253 
        hostgroups      router 
        icon_image      firewall_router.png 
define hostgroup{ 
	hostgroup_name	switches	 
	alias		Network Switches	 
define hostgroup{ 
        hostgroup_name  router              
        alias           Network Router         
define hostgroup{ 
        hostgroup_name  server             
        alias           Network Server      
# Service definieren zum Ping Erreichbarkeits Check 
define service{ 
        use                     generic-service 
        host_name               win-srv 
        service_description     PING 
        check_command           check-host-alive 
        normal_check_interval   5 
        retry_check_interval    1 
define service{ 
        use                     generic-service 
        host_name               cisco-switch 
        service_description     PING 
        check_command           check-switch-alive 
        normal_check_interval   5 
        retry_check_interval    1 
define service{ 
        use                     generic-service 
        host_name               pfsense 
        service_description     PING 
        check_command           check-router-alive 
        normal_check_interval   5 
        retry_check_interval    1 
# Monitor der Verfuegbarkeit mit SNMP 
define service{ 
       use                     generic-service ; Inherit values from a template 
       host_name               win-srv 
       service_description     Uptime 
       check_command           check_net_snmp!-C public -o sysUpTime.0 
define service{ 
       use                     generic-service ; Inherit values from a template 
       host_name               pfsense 
       service_description     Uptime 
       check_command           check_net_snmp!-C public -o sysUpTime.0 
       } 
Die o.a. Konfig passt man entsprechend auf seine IP Adressen und Hostnamen an und erweitert sie je nach zu überwachenden Komponenten.
Damit ist erstmal eine einfache Grundkonfiguration gegeben.
(Wird fortgesetzt...)


Top Tip: Web basierte Voucher (Einmalpasswort) Verwaltung für ein LAN/WLAN Gastnetz mit Hotspot

Eine Top Anwendung und Highlight die hier im Forum oft nachgefragt wird um die Passwort Verwaltung in Gastnetzen erheblich zu vereinfachen !
Diese Funktion bietet für kleine Pensionen, Cafes, Hotels oder Firmen mit einem Gast WLAN Hotsport oder allgemein für die Zugangskontrolle zu Gastnetzen, eine auch für Laien (Frontdesk) sehr einfache Verwaltung von Gäste Einmalpasswörtern (Gästetickets) mit einem Web Browser und auch den gleichzeitigen Versand dieser Tickets auf die Mobiltelefone der Gäste papierlos per SMS.

Die Installation ist auf dem kleinen Raspberry Server im Handumdrehen gemacht...
Grundlage hierfür sind die beiden Forums Tutorials zur generellen Einrichtung eines Gast Hotspot die man unbedingt vorher lesen sollte:
http://www.administrator.de/contentid/91413
und das darauf aufbauende Tutorial für die Web basierte Voucher (Eimalpasswort) Verwaltung.:
http://www.administrator.de/contentid/193763
Im .zip File des PHP Voucher Tools ist zusätzlich ein PDF Dokument enthalten mit weiteren Informationen.
Der Raspberry Server bietet somit die Möglichkeit ohne große Investition in Server Hardware eine sehr komfortable Voucher Verwaltung für kleines Geld und minimalem Aufwand zu realisieren.
Das er nebenbei auch noch die Benutzer rechtssicher mittloggt (Störerhaftung) ist ein weiterer positiver Nebeneffekt dieser Lösung.
Los gehts....

Zu den oben bereits installierten Paketen apache2 und PHP5 muss noch ein MySQL Server mit PHP5 Support installiert werden. Das geht wie gehabt als Root User mit:
apt-get install mysql-server php5-mysql php-fpdf phpmyadmin
Während der Installation wird man nach einem Root Passwort für den MySQL Datenbank Server gefragt, das man sich unbedingt notieren sollte !
Wer die Installation vorab schon auf korrekte Funktion testen möchte, erzeugt mit dem nano Editor eine kleine Datei im Web Server Root Verzeichnis /var/www mit dem Namen info.php und folgendem Inhalt
<?php 
phpinfo(); 
?> 
Mit dem Aufruf von http://<server-ip>/info.php im Browser seiner Wahl checkt man ob das PHP5 Modul "mysql" sauber im Webserver geladen wurde:
2ef4199c1b6f64b890192ea54c4ed29b - Klicke auf das Bild, um es zu vergrößern
Das Tool phpmyadmin dient zur grafischen Bedienbarkeit der Datenbank wem das CLI zu kompliziert ist. Es kommt in deutscher Sparche daher wenn man es installiert und wird im Webbrowser mit <ip_adresse_raspi>/phpmyadmin aufgerufen. Login ist root und das bei der Installation vorab abgefragte Passwort.

Sind alle Pakete fertig installiert, erzeugt man die Voucher Datenbank in MySQL. Es ist aus Sicherheitsgründen empfehlenswert einen separaten Datenbank User zu installieren als das Root Passwort zu benutzen. Das ist aber kein Muss sondern Geschmackssache.
Dazu nutzt man das Kommando mysql wie folgt:
mysql -u root -p 
Jetzt gibt man am MySQL Prompt sein oben gemerktes MySQL Rootpasswort ein und kreiert mit:
mysql> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

und dann mit
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> exit

(Das Fettgedruckte eingeben)
..einen neuen Benutzer "admin" und weist ihm entsprechende Datenbank Rechte zu.
Wie gesagt: wer möchte kann hier auch den Root User verwenden der während der Installation angelegt wurde.
("test123" ist hier ein Passwort Beispiel und sollte entsprechend durch ein eigenes ersetzt werden !)


Mit
mysql -u admin -p 
loggt man sich jetzt mit dem neuen Datenbank User ein und erzeugt mit:
mysql> CREATE DATABASE voucher;
Query OK, 1 row affected (0.01 sec)
mysql> exit
Bye

Eine neue Datenbank mit dem Namen "voucher" für die Gast Vouchers.
Die MySQL Vorbereitungen sind damit abgeschlossen !

Jetzt kopiert man mit WinSCP oder direkt mit dem Raspberry die Voucher Server PHP Installationsdatei vouchergenerator1x.zip ins Webserver Dokumentverzeichnis /var/www/ und entpackt es dort mit dem Kommando unzip vouchergenerator1.x.zip . (Aktuell ist derzeit die Version 1.5)
Es erzeugt dort beim Entpacken selber ein entsprechendes Verzeichnis das man der Einfachheit halber mit "mv vouchergenerator1.x vouchergenerator" umbenennen sollte, was aber kein Muss ist.
Wichtig: Detailierte Installationshinweise findet man zusätzlich in der im .zip Archiv enthaltenden PDF Datei.
Das /temp UND das /includeVerzeichnis sind beide unbedingt noch mit chmod 777 temp bzw. chmod 777 include beschreibbar zu machen !

Nun startet man die Installation des Voucher Tools mit
http://<server-ip>/vouchergenerator/setup.php
die dann alle relevanten Daten abfragt und sofern die Installation erfolgreich war, dies auch meldet mit:
45c1c730c343c55af7447f921ec52181 - Klicke auf das Bild, um es zu vergrößern

Danach kann man nun für mehrere Zeitlimits und auch für die Voucher Vergabe per SMS die Voucher Tabellen anlegen. Hier im Tutorial Beispiel für 30 Minuten, 2 Std. und 8 Std.:
13da083bb3b184868b95dbf83864359b - Klicke auf das Bild, um es zu vergrößern
Fertig.... !

Über die Upload Funktion werden nun die von pfSense oder Monowall generierten und exportierten Excel CSV Voucher Dateien hochgeladen. Ob das erfolgreich war meldet die Voucherverwaltung über einen Klick auf Statistik:
2b1c54dc957cf4f0c30d1474a47f38cd - Klicke auf das Bild, um es zu vergrößern
(Hier als Beispiel mit 100 generierten Vouchers in der CSV Datei)

Der Voucherserver ist jetzt sofort einsatzbereit oder man kann weiteres Finetuning machen wie die Verteilung der Vouchers über SMS via Provider http://www.smsflatrate.net oder das Anlegen weiterer Voucher Verzeichnisse z.B. für 3 oder 8 Stunden Hotspot Zugang unterschiedlicher Benutzer Zeitspannen.
Achtung: Zur SMS Versendung via http://www.smsflatrate.net benötigt man VOR dem Ausführen des obigen Setups einen dortigen Prepaid Account um eine API (Gateway Key) zu bekommen.
Diese API Ziffer trägt man dann beim Setup unten in das Feld "smsflatrate.net Gateway Key" ein !


Netzwerk Performance Monitoring mit MRTG / RRD oder Cacti via SNMP

Ein hier im Forum häufig auftauchender Thread: "Wie sehe ich die Auslastung meines Routers oder Switches...?"
Cacti ist ein komplettes fertiges grafisches Frontend auf Basis der RRD Tools. Es ist etwas einfacher zu Installieren und zu Konfigurieren als MRTG weil es als fertiges Paket kommt.
Die Installation des Pakets erfolgt in gewohnter Weise mit
apt-get install cacti
Der Installer installiert alle erforderlichen Dienste und startet sie. Ist die Installation durchgelaufen startet man lediglich einen Web Browser und gibt dort ein http://<ip_adresse_RasPi>/cacti
Cacti zeigt dann den Status an und man kann gleich loslegen....

Der nächste Abschnitt beschreibt die Installation des ebenfalls wie Cacti populären MRTG_Tools für die kontinuierliche, grafische Performance Überwachung von Netzwerk Komponenten wie Server, Router oder Switches mit einer Tages-, Wochen- und Jahresübersicht.
Alles analog wie Cacti nur feiner customizebar wenn man etwas Handarbeit nicht scheut.
Die entsprechenden Pakete sollten mit apt-get install mrtg mrtg-rrd rrdtool snmp snmpd wie oben beschrieben installiert sein !

Zusätzlich installiert man nun dazu im Webserver Verzeichnis ein separates Verzeichnis für die MRTG Daten:
mkdir /var/www/mrtg
und ändert mit chown www-data:www-data /var/www/mrtg den Benutzer, damit Apache in das Verzeichnis schreiben kann.
Leider gibt es ein Problem im SNMP Perl Modul (Stand 14.10.2012) so das etwas Editor Handarbeit zum Korrigieren dieses Fehlers erforderlich ist. Mit unserem bekannten nano Editor ist das aber im Handumdrehen erledigt !
Die entsprechende Datei ist /usr/share/perl5/SNMP_Session.pm die man mit dem nano editiert.
In Zeile 149 und Zeile 608 (Zeilenanzeige im nano mit <ctrl c>) ist dort der Text import Socket6; zu ersetzen mit der Zeile Socket6->import(qw(inet_pton getaddrinfo)); !
Im nano ist das recht einfach indem man <ctrl>_ (ctrl underline) eingibt und einfach die Zeilennummer (149 und dann 608) eintippt so das der Editor direkt an diese Stellen springt.
Mit Cut and Paste kann man dann diese beiden Zeilen überschreiben.
Ist das erledigt geht es nun daran SNMP (Simple Network Management Protocol) auf den Netzwerk Geräten zu aktivieren, denn MRTG liest diese Daten mit SNMP.
Bei einem Cisco IOS Switch oder Router sieht das z.B. dann so aus:
!
snmp-server community public RO
snmp-server community private RW
snmp-server location Rechenzentrum, Raum: 1
snmp-server contact Herr Admin, Tel.:1234
(snmp-server host 172.16.1.200)
optional
!

Bei HP, Extreme, Brocade, Enterasys oder anderen CLI basierten Switches und Router sehen diese Konfig Zeilen identisch aus.
Bei einfachen WebSmart Switches wie z.B. D-Link, NetGear usw. sind im Konfig GUI diese Einstellungen zu machen:
a20597f6170ff960a69f13b94882c103 - Klicke auf das Bild, um es zu vergrößern
bzw. hier ein einfacher Trendnet Switch:
726fb0cfd60a374469835561e8dc545c - Klicke auf das Bild, um es zu vergrößern
Ein snmpwalk <ip_adresse_router/switch> -c public -v1 checkt ob das Netzwerk Gerät per SNMP ansprechbar ist. (Wer andere Community Strings als public für read-only verwendet muss das natürlich entsprechend anpassen !)
Ist das geschehen und hat man mit einem Ping die Verbindung zwischen Mangement Server und Router, Firewall oder Switch verifiziert, dann erzeugt der folgende Aufruf automatisch die MRTG Konfigurationsdatei:
cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg.cfg public@<ip_adresse oder domain_name>
(Mit IP oder Domain ist hier die Management IP des Servers, Routers oder Switches gemeint !!)
Jetzt kann man einen manuellen MRTG Probelauf starten und Daten mit
mrtg /home/pi/mrtg.cfg
abfragen. Anfängliche Fehlermeldungen kann man hier ignorieren, denn sie verschwinden spätestens nach dem 2ten oder 3ten Aufruf.
Sieht man mit ls /var/www/mrtg/ in das Webserver Verzeichnis für MRTG sieht man hier nun auch eine Menge Dateien mit den aktuellen grafischen Daten.
Nun gilt es noch eine HTML Index Datei dort zu erstellen damit man die Grafiken einfach mit einem Web Browser abfragen kann.
Auch das geschieht wieder automatisiert mit einem Skript:
indexmaker --output=/var/www/mrtg/index.html --title=Internet-Router /home/pi/mrtg.cfg
Fertig...
Nun reicht es mit dem Browser einfach auf http://<server_ip>/mrtg zu gehen und man kann die Daten betrachten.
Am Beispiel eines älteren Cisco 2514 Routers sieht das Ergebnis dann so aus:
4063331bcf406088d64d0c7e7af63983 - Klicke auf das Bild, um es zu vergrößern
(Hier mit zwei 10 Mbit/s Ethernet, VPN Tunnel und CPU Load)...und etwas wenig Traffic
Eine pfSense Firewall mit etwas mehr Traffic...:
891fd2233d7c4d58628a9c4f4d4f5c68 - Klicke auf das Bild, um es zu vergrößern

Nutzbar ist diese Analyse auch auf virtuellen Routern o. Switches die mit Emulationssystemen wie z.B. GNS-3 nur in einer Laborumgebung simuliert werden.
Nun will natürlich niemand manuell alle 5 Minuten ein MRTG Kommando senden um die Daten abzufragen.
Das übernimmt automatisch der CRON Dämon auf dem Server.
Man erzeugt mit dem nano Editor eine kleine Text Datei z.B. cronmrtg mit folgendem Inhalt:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg.cfg
Und ruft dann crontab cronmrtg auf.
Damit ruft der Server dann alle 5 Minuten die aktuellen Daten vom Netzwerk Gerät ab. Hat man mehrere Komponenten zu überwachen bekommt jedes eine MRTG Konfig Datei und auch einen Crontab Eintrag.
Mit crontab -l kann man checken ob der Cron Dämon sauber läuft.
Noch ein kosmetischer Tip:
Wer auch den oben beschriebenen Log Message Server (Syslog) laufen lässt wird nun sehen das jetzt die MRTG Cron Aktivität alle 5 Minuten den Syslog "vollmüllt" da alle 5 Minuten auch eine Log Message erzeugt wird.
Schnelle Abhilfe schafft wieder ein kleiner chirurgischer Eingriff in die Syslog Konfig Datei etc/rsyslog.conf die oben schon bei der Einrichtug des Syslog Servers beschrieben ist.
Den Eintrag
01.
 *.*;auth,authpriv.none             -/var/log/syslog 
erzetzt man mit
01.
 *.*;auth,authpriv,cron.none             -/var/log/syslog 
und startet den Syslog Server mit /etc/init.d/rsyslog restart neu und schon ist der Syslog wieder sauber.

Diese Anleitung zeigt die einfache Basis Konfiguration. Die MRTG Webseite hat noch viele Tips wie man den grafischen Output weiter optimieren oder verändern kann.
Die CPU Last Anzeige im obigen Screenshot bekommt man z.B. in die Ausgabe wenn man die mrtg.cfg Datei um die folgenden Zeilen ergänzt:
01.
 # Monitor the Cisco CPU usage 
02.
Target[router-inet1-CPU]: 1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:public@<ip_adresse>: 
03.
MaxBytes[router-inet1-CPU]: 100 
04.
UnScaled[router-inet1-CPU]: dwmy 
05.
Options[router-inet1-CPU]: integer gauge noo 
06.
Title[router-inet1-CPU]: CPU Load on Internet 1 
07.
PageTop[router-inet1-CPU]: <H1>CPU Load</H1> 
Die SNMP OID für die CPU Last variiert ggf. bei unterschiedlichen Herstellern (die obige ist eine Cisco OID) und muss ggf. entsprechend angepasst werden.
Analog lassen sich so auch bei Microsoft und Linux Servern und auch beim Management Server selber die CPU Last, Plattenfüllstände, NICs usw. abfragen.
Hilfreiches Tool zum troubleshooten von SNMP außer dem Bordmittel snmpwalk ist der auch kostenfreie SNMP_Tester von Paessler.
Wer eine richtig schicke Bedienoberfläche haben möchte für MRTG / RRD der installiert sich zusätzlich das "Router2" Skript:
http://www.steveshipway.org/software/f_routers.html


Top Thema: Gesamt Netzwerk Traffic Analyse mit sFlow
Sehr viel interessanter und detailierter wird die Auswertung wenn man sFlow oder NetFlow fähige LAN Switches oder Router im Netzwerk hat, denn Ntop wertet auch eingehende sFlow Pakete aus.
So ist man in der Lage Switch- und Router Ports im gesamten Netzwerk, sprich von allen Endgeräten und ihren Flows zu analysieren die nicht direkt mit dem eth0 Interface des Ntop Servers verbunden sind. Auch ein Traffic Accounting ist möglich mit kostenfreien Tools wie z.B. pmacct.
Mit sFlow / NetFlow ist man so in der Lage sämtlichen Traffic eines Netzes quantitativ und qualitativ, egal wo, schnell und übersichtlich per Webbrowser zu analysieren.

Eine Vielzahl derzeit aktueller Ethernet Switches am Markt supportet den Standard sFlow:
http://blog.sflow.com/2012/09/switch-configurations.html zeigt alle Hersteller.
Hier kann man auch gleich die zum jeweiligen Switch passende sFlow Konfig einsehen. Ntop bereitet diese sFlow Daten mit Hilfe des u.a. sFlow Toolkits auf und stellt sie entsprechend nach IP Adresse und Protokoll spezifisch grafisch dar.
Wem eine einfache, tabellarische und textbasierte Darstellung reicht kommt mit diesem einfachen Kommandotool, das sFlow Toolkit aus:
http://www.inmon.com/technology/sflowTools.php
bzw.
http://blog.sflow.com/2011/12/sflowtool.html
Das Tool und die Beispiel Scriptsammlung kann man entsprechend frei runterladen. Das geht am bequemsten direkt mit wget auf den RasPi:
wget http://www.inmon.com/bin/sflowtool-3.34.tar.gz 
wget http://www.inmon.com/bin/sflowutils.tar.gz 
Läd Toolkit und Beispielskripte auf den RasPi. Das aktuellste Release findet man immer auf der Inmon Seite.

Wie üblich jetzt mit tar xvzf sflowtool-3.34.tar.gz entpacken und nach der obigen Anleitung mit ./configure dann make und make install übersetzen und installieren. (Die im Archiv enthaltende Datei INSTALL hat alle Infos)
Damit das sFlow Tool die sFlow Daten des Switches an Ntop übergeben kann muss man den Ntop Dienst zunächst stoppen (ps -ax und dann Prozess ID mit kil stoppen)
Nun startet man Ntop neu mit:
sflowtool -4 -t | ntop -f -
Browser wieder wie oben mit http://<ip_adresse_raspberry>:3000 auf NTop verbinden und schon sieht man nun sämtliche Teilnehmer, Protokolle und Lasten im Netzwerk grafisch sortiert gelistet und erhält so eine schnelle und umfassende Übersicht des eigenen Netzwerk Traffics im gesamten Netzwerk.

Für die erfolgreiche Ausführung der Beispiel Scripts ist mit apt-get install gawk noch die entsprechende awk Version zu installieren sofern nicht schon gemacht, damit die Scripte sauber laufen.
Zusätzlich muss man die Scripte noch editieren (nano) und das "#!/bin/awk -f in der ersten Zeile des Scripts durch ein #!/usr/bin/awk -f ersetzen.
Der Skriptaufruf:
sflowtool -4 | ipTrafficMatrix z.B. zeigt dann z.B. minütlich die Top Talker auf dem sFlow Switch.
root@raspberrypi:/home/pi/utils# sflowtool -4 | ./ipTrafficMatrix
10:00 192.168.1.161 192.168.1.30 2
10:00 192.168.1.169 239.255.255.250 6
10:00 192.168.1.169 192.168.1.162 88
10:00 192.168.1.161 192.168.1.255 11
10:00 192.168.1.162 192.168.1.169 90
10:00 192.168.1.161 224.0.0.1 3
10:00 192.168.1.157 255.255.255.255 2
10:00 192.168.1.1 239.255.255.100 1
usw...
Wer möchte kann das auch im Hintergrund in eine Text Datei schreiben lassen mit sflowtool -4 | ipTrafficMatrix > traffic.txt &
sflowtool -h gibt einen Hilfstext aus und zeigt die gesamten Paramter die möglich sind.

(Der Parameter "-4" limitiert die Ausgabe auf IPv4 Traffic. Lässt man ihn weg wird IPv4 und IPv6 Traffic angezeigt.
IPv6 funktioniert im RasPi nur wenn es entsprechend wie im Kapitel "IPv6 ins Internet routen mit SixXS Tunnel" beschrieben, vorher aktiviert ist ! Im Default macht der RasPi nur IPv4.)


Grafische Netzwerk Protokollanalyse mit Ntop

Im Gegensatz zur obigen Performance- und Durchsatzanalyse kann man mit dem ntop Tool eine Protokoll Analyse fahren im Netzwerk und dort auch bestimmen wer Hauptnutzer ist mit welchen Protokollen.
Ideal ist das mit einer Kombination von LAN Switches die sFlow oder NetFlow supporten doch dazu später mehr...
Als allererstes installiert man wieder mit
apt-get install ntop rrdtool gawk
die dafür notwendigen Anwendungen. Hier werden während der Installation die Interfaces abgefragt und statt none kann man dort eth0 einsetzen und setzt zudem ein User Passwort womit die Installation abgeschlossen wird.
ntop bringt seinen eigenen Web Server mit ! Eine Installation des Apache ist also nicht erforderlich, stört aber auch nicht, da ntop einen eigenen Port TCP 3000 benutzt !
Ein Aufruf von http://<ip_adresse_raspberry>:3000 zeigt dann auch schon erste Ergebnisse:
5f8b4f7e0eaf10219f49f0cf5370920c - Klicke auf das Bild, um es zu vergrößern
Damit die RRD Tools in ntop sauber laufen ist noch etwas Handarbeit erforderlich und unbedingt folgende Anpassung zu machen:
chmod 755 /var/lib/ntop
mkdir /var/lib/ntop/rrd
chown -R nobody:nogroup /var/lib/ntop/rrd

Damit funktionieren dann auch die Statistik Übersichten und grafischen Top Talker Auswertungen:
ba17c74afb26f9d9d5ec6d5d65d09079 - Klicke auf das Bild, um es zu vergrößern
dbbcff64954a820ff7d5ea8f9c2ebeb7 - Klicke auf das Bild, um es zu vergrößern


Netzwerk Performance Test mit NetIO und iPerf / JPerf

Der Raspberry lässt sich ebenso als Benchmark Testserver für die Messung von Netzwerkdurchsatz und Performance im LAN, WAN und WLAN verwenden.
Natürlich ist das nur machbar mit Ethernet Geschwindigkeiten bis 100 Mbit, da der Raspberry nur einen Fast Ethernet Adapter onboard hat. Gigabit bleibt also außen vor, es sei denn man verwendet einen USB Gigabit Ethernet Adapter.
Auch dieser Adapter Workaround ist im Gigabit Umfeld aber nur bedingt nutzbar, da die USB 2.0 Schnittstelle des RasPi nicht mehr als 480 Mbit/s = 60 MByte/s hergibt. Technisch funktioniert es aber bis zu dieser Geschwindigkeitsgrenze.
Bei WLAN Durchsatztests wird es durch den verfügbaren Standard .11g, .11n, .11a usw. des USB WLAN Adapters und der aktuellen Feldstärke Situation bestimmt.
Viele kleine Netze und Heimnetze, insbesondere WLAN Netze, sind oft 100 Mbit/s Netze und lassen sich so sehr aussagekräftig überprüfen was die grundlegenden Übertragungsgeschwindigkeiten in der Praxis wirklich hergeben.
Insbesondere bei WLAN mit seinen dynamischen Geschwindigkeitsraten je nach Feldstärke Situation, sind diese Messungen immer sehr aufschlussreich !
NetIO und auch iPerf benutzt bewusst keine File Sharing Protokolle für die Messung, da diese mehr oder weniger die reine netzwerk Effizienz beeinflussen und damit das Messergebnis. Es misst rein auf UDP oder TCP Basis.
So ist auch eine Aussage über die Effektivität und Performance einzelner Filesharing und Übertragungsprotokolle im verwendeten Netz möglich, denn das ist die Differenz der mit NetIO gemessenen reinen Netzwerk Performance und dem Ergebnis mit einem File Sharing Protokoll.

Das NetIO Tool findet man zum Download auf der Webseite des Programmierers:
http://www.ars.de/ars/ars.nsf/docs/netio
Nach dem Entpacken findet man im Verzeichnis /bin die ausführbaren Programme für fast alle Betriebssysteme. Allerdings nicht direkt für den Raspberry, da der auf ARM CPU Basis arbeitet und das i386 Binary von Linux nicht funktioniert.
Das ist aber in Sekundenschnelle korrigiert, denn bequemerweise kommt der Quellcode im ZIP File gleich mit.
Man kopiert entweder mit "wget <Download URL>" gleich direkt oder mit WinSCP oder SCP das ZIP File auf den Raspberry in ein Verzeichnis z.B. "netio" was man vorher mit mkdir netio z.B. im Verzeichnis /home/pi erstellt hat.
Ein unzip netio132.zip entpackt es dort. Anschliessend übersetzt man den Quellcode auf dem Raspberry mit:
make linux
Ein anschliessendes ls -l zeigt das es nun eine ausführbare Programmdatei (x=executable) mit dem Namen netio im Verzeichnis gibt.
Mit ./netio kann man diese nun aufrufen und sieht die Kommandosyntax.
Wie man NetIO bedient für ein Testszenario ist unter anderem hier nachzulesen:
http://www.nwlab.net/art/netio/netio.html
Die Hilfe beim Aufruf von netio ohne Parameter ist aber auch für Laien selbsterklärend.
Kopiert man mit cp netio /usr/bin NetIO ins /usr/bin Verzeichnis, hat man es immer verfügbar egal in welchem Verzeichnis man sich befindet. (Mit rm -rf /netio kann man dann das angelegte Verzeichnis im Ordner /home/pi dann wieder löschen.
Auf einem Raspberry mit der IP 10.1.1.1 kann man nun z.B. NetIO in der Serverfunktion mit UDP mit ./netio -u -s starten.
Ein Test Client gibt dann in der Eingabeaufforderung netio 10.1.1.1 an und die Durchsatz Messung beginnt automatisch für unterschiedliche Paketgrößen.
Die Messergebnisse werden während der Messung aktuell auf Server und Client angezeigt !

Kommando Syntax ist ja bekanntlich nicht jedermanns Sache und Anfänger bevorzugen lieber eine grafische Oberfläche zur Bedienung. Das erfüllt das Tool iPerf in Kombination mit jPerf. Auch diese Installation ist wie immer im Handumdrehen auf dem RasPi erledigt:
iPerf befindet sich im Standard Software Repository und wird wie gewohnt mit
apt-get install iperf
installiert. Ein "man iperf" erklärt dann die komplette Syntax. Es gibt diverse Tutorials im Internet wie z.B. dieses hier.
Einfacher arbeitet man mit der grafischen Oberfläche jPerf die iPerf entsprechend steuert. Diese findet man unter https://code.google.com/p/xjperf/ und muss zusätzlich zu iPerf installiert werden ! Auch das ist schnell gemacht....

Mit wget https://xjperf.googlecode.com/files/jperf-2.0.2.zip kopiert man sie ins Verzeichnis z.B. /home/pi und entpackt das Archiv mit dem Kommando "unzip jperf-2.0.2.zip"
Nach dem Entpacken muss man die jperf Datei (Java) unbedingt noch ausführbar machen, was das Kommando
chmod 755 jperf* 
erledigt.
In der grafischen Windows Oberfläche oder von remote mit VNC Viewer öffnet man ein Root Terminal und startet jetzt einfach ./jperf.sh oder gibt unter Start --> Run dann im Fenster /home/pi/jperf.sh ein und bedient dann iPerf bequem grafisch:
7b6bedb70e69dea8f3663867850bec04 - Klicke auf das Bild, um es zu vergrößern


Sicherheit: Netzwerk Zugangs Kontrolle mit FreeRadius für LAN Switches oder WLAN mit 802.1x

Die Installation des FreeRadius Servers zur Absicherung von LANs (802.1x) und vor allen Dingen WLANs beschreiben schon 2 detailierte Tutorials hier im Forum:
http://www.administrator.de/contentid/142241
und
http://www.administrator.de/contentid/154402
Weitere Hilfestellungen liefern externe Tutorials wie hier. Windows Nutzer sind hier fehl am Platze werden aber hier fündig.
Los gehts...
Man muss nach der o.a. Paketinstallation (apt-get install freeradius) und dem o.a. Radius Tutorial hier lediglich die etwas andere Verzeichnisstruktur beachten in dem die Konfigurationsdateien beim Raspberry Pi liegen. Das ist schon alles.
Alle FreeRadius Konfig Dateien liegen hier im Verzeichnis /etc/freeradius und unterhalb davon und müssen gem. o.a. Tutorial angepasst werden.
Die Zertifikatsdateien zum Generieren der individuellen Zertifikate findet man hier /usr/share/doc/freeradius/examples/certs/ Die Generierung läuft hier auch wieder gemäß o.a. Tutorial !
Hier die wichtigsten Schritte:
  • Mit cd /usr/share/doc/freeradius/examples/certs/ ins Zertifikats Verzeichnis wechseln
  • Hier zuerst mit rm -f *.pem *.der *.csr *.crt *.key *.p12 serial* index.txt* alle ggf. vorhandenen aten Zertifikatsdatenen löschen.
  • Mit nano ca.cnf die Zertifikats Profil Datei editieren.
Hier wieder gem. Tutorial vorgehen:
Im Bereich [ CA_default ] kann man den Parameter default_days auf 1826 Tage (5 Jahren) Gültigkeit setzen.
Im Bereich [certificate_authority] dann die entspr. Settings:
[certificate_authority]
countryName = DE
stateOrProvinceName = Radius
localityName = Frankfurt
organizationName = Firma-Meier
emailAddress = admin@meier.de
commonName = "Mein Radiustest"

Datei mit "ctrl o" und "ctrl x" sichern.
  • WICHTIG: Im Bereich [ req ] die Radius Passwörter unter input_password und output_password identisch setzen ! Das sind die Passwörter die nachher auch auf Switch, Router oder AP gesetzt werden müssen !
  • Jetzt kommt das eigentliche Server Zertifikat indem man mit nano server.cnf die Server Profil Datei editiert
  • Dort ist lediglich im Bereich [CA_default] der Gültigkeitszeitraum identisch zum o.a. Root Zert. einzutragen (hier im Beispiel 1826, 5 Jahre)
  • Ebenso identisch dort wieder unter [ req ] die Radius Passwörter unter input_password und output_password genau so setzen wie oben !
  • Auch unbedingt sicherstellen das die Land, Email etc. Einstellungen im Bereich [server] wirklich identisch zu den obigen in ca.conf ist !!
  • Das Kommando ./bootstrap ausführen das sämtliche Zertifikate erzeugt.
Wer noch ein Client Zertifikat für Endgeräte PCs etc. erzeugen will geht jetzt analog vor:
  • Mit nano client.cnf wieder Profildatei editieren.
  • Hier wieder alles input_password und output_password ,Gültigkeit, Land, Email etc. identisch setzen wie oben !
  • Achtung: Hier im Bereich [client] den "Common Name" So setzen wie der Username dieses Clients für den Login lautet.
  • make client.pem erzeugt das Client Zertifikat was dann unter "emailAddress.pem" ("user@example.com.pem") zu finden ist.
  • Fertig, das wars.
Ansonsten ist die restliche Vorgehensweise zur Installation des Radius Servers vollkommen identisch zu der im o.a. Tutorial beschriebenen. Man kann diesem dann wieder schrittweise folgen zum Starten des Radius Servers und Testen der Installation.
Der Start des Radius Servers im Troubleshooting Modus erfolgt hier mit freeradius -X. Ansonsten lässt er sich über /etc/init.d/freeradius start | stop normal als Dienst starten und stoppen.

FreeRadius Server in Microsoft Server Active Directory Domain integrieren:
WICHTIG: Für die FreeRadius Abfrage über ein angekoppeltes Active Directory ist es zwingend notwendig alle Konfigurations- und Testschritte wie sie unten im Kapitel 3 ("David u. Goliath") beschrieben sind umzusetzen !
Für die FreeRadius Konfiguration mit Microsoft AD ist dies erforderlich und wird hier vorausgesetzt.
Sofern also nicht alles so funktioniert wie im Kapitel 3 beschrieben, muss man hier nicht weitermachen !

Funktioniert alles so wie unten beschrieben sind folgende Dateien zu editieren und anzupassen:
/etc/freeradius/eap.conf
  • Die Zeile default_eap_type = md5 ist zu ersetzen mit default_eap_type = peap
  • Weiter zum Abschnitt #EAP-TLS und hier im Bereich "tls" die Zeile random_file = ${raddbdir}/certs/random ersetzen mit random_file = /dev/urandom .
  • Unter dem Abschnitt "peap" sicherstellen das default_eap_type = mschapv2 entkommentiert ist.
Datei /etc/freeradius/modules/ntlm_auth editieren.
  • Die Zeile "ntlm_auth..." folgendermassen setzen
    exec ntlm_auth { 
            wait = yes 
            program = "/usr/bin/ntlm_auth --request-nt-key --domain=PRIVAT --username=%{mschap:User-Name} --password=%{User-Password}" 
    } 
Wobei hier "PRIVAT" wieder mit dem eigenen AD Domain Namen ersetzt werden muss !
  • Datei /etc/freeradius/users
Im Gegensatz zur statischen User Konfiguration in der Datei users wie in den obigen Tutorials beschrieben wird die Zeile:
DEFAULT Auth-Type = ntlm_auth

testweise ganz an den Anfang gesetzt.
Später, sollte man Mischbetrieb mit statischen User fahren, kann man diese wieder auskommentieren.
Möchte man statische User in der "users" Datei belassen die NICHT mit mschap authentisiert werden sollen, konfiguriert man diese VOR dem "Default Auth" Eintrag wie z.B.
testuser Cleartext-Password := "testuser", MS-CHAP-Use-NTLM-Auth := No

Das Statement "MS-CHAP-Use-NTLM-Auth := No" schaltet hier die Authentisierung gegen das AD aus so das der User lokal authentisiert wird.
Will man ausschliesslich nur gegen das Windows AD authentisieren, muss man noch die Datei mschap im Verzeichnis /etc/freeradius/modules mit dem nano editieren.
Dort muss im Kommentar Bereich # If ntlm_auth is configured below... die Konfig Zeile:
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key......

entkommentiert werden (# davor entfernen) und der korrekte Pfad zur ntlm_auth Datei (hier /usr/bin) eingetragen werden.
Alle mschap Authentisierungen werden dann vom FreeRadius gegen das Windows Active Directory authentisiert !
Fast geschafft....
Zu allerletzt sind die beiden Dateien defaults und inner-tunnel unter /etc/freeradius/sites-enabled/ anzupassen.
Hier ist die Zeile ntlm_auth im Bereich "authenticate" hinzuzufügen:
 authenticate { 
        ... 
        ntlm_auth 
        ... 
} 
Fertig !

Jetzt startet man FreeRadius mit /etc/init.d/freeradius restart neu oder noch besser erstmal zum Testen mit "freeradius -X" im Debugging Mode.
Bevor man nun gleich die Authentisierung mit Radius gegen das AD testet, ist es sehr wichtig das NTLM_AUTH Modul separat VORHER zu testen, denn das übergibt die Radius Daten an den AD Server !
Funktioniert das fehlerfrei wird auch der Rest dann fehlerfrei funktionieren !
root@raspberry:/home/pi# ntlm_auth --request-nt-key --domain=PRIVAT --username=user --password=test123 
NT_STATUS_OK: Success (0x0) 
NT Status OK zeigt das alles klappt. Wenn nicht, läuft noch etwas schief...
Kommt die obige "Success" Meldung steht dem Radius Test mit dem ntradping_Tool nichts mehr im Wege.
Ebenso muss ein Test mit dem bordeigenen Test Tool radtest erfolgreich verlaufen:
root@raspberry:/etc# radtest user test123 localhost 0 radiustest 
Sending Access-Request of id 138 to 127.0.0.1 port 1812 
        User-Name = "user" 
        User-Password = "test123" 
        NAS-IP-Address = 127.0.1.1 
        NAS-Port = 0 
        Message-Authenticator = 0x00000000000000000000000000000000 
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=138, length=20 
(Wobei hier der "user" mit Password "test123" ein gültiger AD User ist und "radiustest" das FreeRadius Password in der clients.conf Datei ! )
Entsprechend meldet der Debug Output des FreeRadius ebenfalls die korrekte Funktion:
Found Auth-Type = ntlm_auth 
# Executing group from file /etc/freeradius/sites-enabled/default 
+- entering group authenticate {...} 
[ntlm_auth]     expand: --username=%{mschap:User-Name} -> --username=user 
[ntlm_auth]     expand: --password=%{User-Password} -> --password=test123 
Exec-Program output: NT_STATUS_OK: Success (0x0) 
Exec-Program-Wait: plaintext: NT_STATUS_OK: Success (0x0) 
Exec-Program: returned: 0 
++[ntlm_auth] returns ok 
# Executing section post-auth from file /etc/freeradius/sites-enabled/default 
+- entering group post-auth {...} 
++[exec] returns noop 
Sending Access-Accept of id 138 to 127.0.0.1 port 48617 
Finished request 1. 
Einen Screenshot des erfolgreichen Tests mit AD Authentisierung zeigt das folgende Bild:
197ef12b6f6b07d6d69294ad2382f9c9 - Klicke auf das Bild, um es zu vergrößern
Läuft alles sauber durch (NT_STATUS=OK, Access Accept) ist der FreeRadius Server mit Microsoft AD Kopplung jetzt einsatzklar fürs LAN oder WLAN !
Er stellt damit eine einfache zentralisierte Benutzer Verwaltung im Netzwerk zur Verfügung das LAN oder WLAN entsprechend sicher macht und sehr einfach managebar für eine größere Anzahl von Usern.


TACACS+ Server zur Admin Zugriffskontrolle auf aktive Netz Komponenten

TACACS+ ist der etablierte Standard nahezu aller Hersteller aktiver Netzwerk Komponenten um den Zugriff auf die Konfiguration von Routern, Switches usw. im Netzwerk nutzerabhängig zu steuern. Insbesondere um den Kommandoumfang für zusätzliche Administratoren oder Abteilungsadministratoren zu regeln und auch Änderungen zu dokumentieren.
Den Quellcode des TACACS+ Servers findet man auf dem FTP Server von Cisco ( ftp://ftpeng.cisco.com/pub/tacacs/ ) Ein Übersetzen ist allerdings nicht erforderlich, denn alle gängigen Linux Distros bringen ihn mit wie natürlich auch unsere auf dem Raspberry Pi Server.
Damit ist auch diese Installation im Handumdrehen gemacht.
Mit dem bekannten apt-get install tacacs+ installiert man alles Nötige auf dem Server.
Unter /etc/tacacs+ findet man eine gut dokumentierte Konfig Datei. Weitere Details zur TACACS+ Konfiguration findet man z.B. bei tacacs.org oder www.shrubbery.net/tac_plus/ .
Ein einfaches TACACS+ Konfigurationsbeispiel für die Konfig Datei unter /etc/tacacs+/ ist z.B.:
01.
accounting file = /var/log/tac-plus/account.txt 
02.
 
03.
key = 123-my_tacacs_key 
04.
 
05.
group = netadmin { 
06.
        default service = permit 
07.
        login = file /etc/passwd 
08.
        service = exec { 
09.
                priv-lvl = 15 
10.
11.
12.
 
13.
user = test { 
14.
        member = netadmin 
15.
} 
Oder man passt die dortige dokumentierte Beispieldatei mit dem nano Editor auf seine Belange an. Über Privilege Levels und CMD Kommandos kann man die CLI Kommandos auf den Netz Komponenten dann per User entsprechend einschränken.
Eine TACACS+ Konfiguration auf einem Netzwerk Switch oder Router sieht z.B. so aus:
!
aaa new-model
aaa authentication login default group tacacs+ local
aaa authentication enable default group tacacs+
aaa authorization exec default group tacacs+ local
!
tacacs-server host 192.168.255.254 key 123-my_tacacs_key
!
line con 0
login authentication default
!
line vty 0 15
login authentication default
!

Die TACACS man Pages auf dem Server und die oben zitierten Webseiten beschreiben weitere Optionen.


Terminal Server für remoten Zugang auf eine serielle Konsole (Cisco etc.)

Damit ist dann später eine sog. reverse Telnet Session möglich die auf dem seriellen Adapter landet.
So kann man mit einem oder mehreren USB-Seriell Adaptern einen Terminal Server im Miniformat betreiben.
Für Administratoren die öfter auf serielle Konsolen zur Konfiguration von Netzwerkgeräten zugreifen müssen ergibt sich so eine sehr bequeme Möglichkeit außerhalb des lärmenden RZ zu arbeiten. Mit dem oben vorgestellten WLAN Accesspoint hostapd ist das dann sogar auch noch bequem drahtlos über WLAN möglich !
Zusätzlich zur Installation des ser2net Paketes, wie oben beschrieben, erfordert dieser Dienst noch einen Telnet Server den man jetzt mit
apt-get install telnetd
installiert.
Nun die Konfiguration:
Man steckt ein Standard USB-zu-Seriell Kabel (Adapter) wie z.B. DIESES hier in einen der Pi USB Ports.
Das bekannte lsusb zeigt wieder, wie schon bei der WLAN Stick Installation, an ob der Adapter richtig erkannt wird:
root@raspberry:/etc/# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Generell basieren alle am Markt befindlichen USB-Seriell Adapter auf dem Prolific PL2303 Chip, so das man davon ausgehen kann das alle Adapter dieser Art sicher erkannt werden.
Damit man nun eine serielle Switch oder Router Konsole am Cisco oder Komponenten anderer Hersteller erreichen kann, muss wieder die Konfig Datei dazu angepasst werden.
Wie immer findet man sie in /etc/ser2net.conf und passt dort wieder mit dem nano Editor eine Zeile an:
2000:telnet:600:/dev/ttyS0:9600 8DATABITS NONE 1STOPBIT banner
2001:telnet:600:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner
3000:telnet:600:/dev/ttyS0:19200 8DATABITS NONE 1STOPBIT banner

Die vierstellige Ziffer vor dem Parameter gibt an mit welchem Telnet TCP Port (Default ist 23) man die serielle Konsole (9600 Baud N,8,1) am Switch oder Router erreichen kann.
Nun muss der ser2net Prozess noch neu gestartet werden um die obigen Änderungen zu aktivieren. Das geht wie immer mit etc/init.d/ser2net restart oder einem Reboot.
Öffnet man jetzt z.B. Putty, startet eine remote Telnet Session von irgendeinem Rechner auf den Pi Server mit dem Telnet Port TCP 2001 erreicht man direkt die serielle Konsole des am Pi und dem USB-Seriell Kabel angeschlossenen Netzwerk Endgerätes (Switch/Router).
So ist im Notfall ohne IP oder Zugriff via Netzwerk oder fürs direkte Troubleshooting ein Router oder Switch über seine Konsole sicher erreichbar.
Alternativ lässt sich auch ein kleines Terminal wie dem bekannten MiniCom auf dem Pi Installieren um direkt Zugang zu einer seriellen Konsole zu bekommen. Das geht mit apt-get install minicom.
Beim allerersten Mal ruft man Minicom mit dem Parameter -s auf (minicom -s) um den Terminalport von /dev/modem auf /dev/ttyUSB0 zu ändern.


OSPF, RIP, BGP Router für das Netzwerk oder Training mit Cisco Kommando CLI

Netzwerk Admins oder auch IT Auszubildende und Schüler, die die Funktionsweise von dynamischen Routing Protokollen im LAN erlernen oder auch in einem Labor Testnetzwerk vorab ausprobieren möchten, benötigen einen Router der auch diese dynamischen Protokolle wie OSPF, BGP, RIPv2 usw. "sprechen" kann.
Idealerweise mit einem Cisco Kommando Set um kompatibel zu "großen" Routern zu sein.
Auch das ist schnell und unkompliziert mit dem Raspberry Pi Server zu lösen. Natürlich lässt sich der RasPi auch als "richtiger" Router einsetzen aber man sollte bedenken das die Ethernet Interfaces im RasPi allesamt am USB Bus hängen und dessen Durchsatz recht eingeschränkt ist. Für das Heimnetz mag das OK sein aber nicht im kommerziellen Umfeld. Hier sind Router wie sie z.B. den hiesigen Router_Tutorials beschrieben sind (Mikrotik etc.) besser geeignet.

Für dieses Beispiel hier erweitern wir nun unseren kleinen Server um ein (oder 2) zusätzliches WLAN oder Ethernet Interfaces z.B. mit einem preiswerten USB_Ethernet_Adapter, so das wir nun 3 Netzwerk Interfaces im Server haben: eth0=eingebautes Ethernet, eth1=USB Ethernet, wlan0=WLAN Interface. Diese aktivieren wir dann mit dem OSPF Routing Protokoll um diese Routen dynamsich im Netz bekannt zu machen.
Zusätzlich kann, wer will, auch RIP, RIPv2, BGP oder weitere Protokolle parallel aktivieren.
Hier die ToDos:
Wie immer Hardware Check der USB Geräte mit lsusb:
root@raspberry:> lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
--> Hier der WLAN Stick
Bus 001 Device 005: ID 0b95:7720 ASIX Electronics Corp. AX88772
--> Hier der USB Ethernet Adapter
Unsere /etc/network/interfaces Datei sieht dann wieder so aus wie oben schon beschrieben (ggf. an eigene IP Adressen anpassen):
iface eth0 inet static 
address 192.168.0.254 
netmask 255.255.255.0 
gateway 192.168.0.1 
 
iface eth1 inet static 
address 10.1.0.254 
netmask 255.255.255.0 
 
allow-hotplug wlan0 
iface wlan0 inet dhcp 
wpa-ssid Bitschleuder 
wpa-psk 12345abcdefg 
iface default inet dhcp 
Ein Ping auf an diesen Ports angeschlossene IP Endgeräte sollte jetzt problemlos funktionieren !
Beispiel IP Netze hier: eth0=192.168.0.0 /24, eth1=10.1.0.0 /24, wlan0=DHCP (dynamisch vom WLAN Router)
Will man mit dem Server auch real routen muss man hier auch wieder das Routing aktivieren wie schon in diesem_Tutorial beschrieben !
Hierzu editiert man die Datei /etc/sysctl.conf und entkommentiert die Zeile net.ipv4.ip_forward=1 indem man wieder das "#" davor entfernt.
Jetzt installiert man die dynamische Router Software mit dem Kommando
apt-get install quagga
Ist das erfolgreich durchgelaufen gilt es vorab ein zwei Dateien im Verzeichnis /etc/quagga mit dem altbekannten nano Editor einzurichten.
Es müssen hier im /etc/quagga/ Verzeichnis mit dem nano Edtor diese 2 Dateien, nämlich zebra.conf und ospfd.conf, angelegt werden, die folgenden einfachen Inhalt haben: password test123
Wichtig: Mit den Kommandos:
chown quagga:quagga zebra.conf  
chmod 644 zebra.conf  
chown quagga:quagga ospfd.conf 
chmod 644 ospfd.conf 
werden diese dann dem User quagga zugewiesen und die korrekten Zugriffsrechte eingestellt.
Diese beiden Dateien sind zwingend wichtig, damit der Router aktiviert werden kann !!
Nun gilt es noch dem Router zu sagen das er OSPF sprechen soll !
Mit dem nano editiert man dazu die Datei /etc/quagga/daemons und setzt ein yes hinter die beiden Einträge zebra=yes und ospfd=yes. (Wer will kann hier weitere Protokolle aktivieren muss aber darauf achten das dann auch die zu den Route Protokollen entsprechenden Dateien wie z.B ripd.conf vorhanden sind !!)
Fertig... ! Nun muss man den Quagga Prozess noch neu starten um die neuen Einstellungen zu aktivieren. Das geht wie immer im Verzeichnis /etc/init.d/ mit dem Kommando ./quagga restart
Tip: Da dieser Router ggf. nur temporär genutzt wird, kann man mit dem oben beschrieben Tool "rcconf" den Quagga Prozess beim Booten des RasPi ausgeschaltet lassen. So kann man wenn man möchte bei Bedarf diesen Router "per Hand" starten mit /etc/init.d/quagga start.

Wenn nun alles fehlerfrei rennt kann man daran gehen den OSPF Router zu konfigurieren. Das geht mit der bekannten Cisco_CLI_Syntax.
Auf die Router Konfigurationsoberfläche gelangt man vom RasPi mit dem Kommando nc localhost 2604. (Wir machen als Beispiel OSPF)
Die anderen Protokollports lauten entsprechend:
RIP: 2602RIPv2: 2603OSPF: 2604OSPFv6: 2606BGP: 2605
Auch per Telnet kommt man so bequem von extern auf den "RasPi Router": telnet <ip_adresse_pi> 2604 oder gibt in der Telnet App (PuTTY, TeraTerm, zTerm (Mac), etc.) die IP und den Zielport zum Protokoll an. (Beispiel 2604 für OSPF)
Bei der jetzigen Passwort Abfrage kommen nun die Passwörter aus den obigen Konfig Dateien ins Spiel !
Mit Eingabe dieser und dem Kommando "enable" ist man wie bei einem Cisco Router auf der Command Line Oberfläche was man am "#" im Eingabe Prompt erkennt.
Das CLI Kommando "show run" zeigt jetzt die aktuelle Konfiguration unseres Routers, die natürlich noch leer ist. Wir passen sie jetzt nach Eingabe von conf t (Konfig Modus) mit den einzelnen Kommandos unten auf unsere Beispiel IP Netze an, so das sie am Ende so aussieht:
raspberry# sh run
Current configuration:
!
service advanced-vty
!
password test123
!
interface eth0
!
interface eth1
!
interface lo
!
interface wlan0
!
router ospf
redistribute connected
passive-interface lo
passive-interface wlan0
network 192.168.0.0/24 area 0.0.0.0
network 10.1.1.0/24 area 0.0.0.0
!
line vty
end

Mit dem Kommando "exit" beendet man den Konfigurations Modus.
Cisco CLI Kundige fühlen sich hier sofort zuhause Ein "?" zur Kommando Übersicht funktioniert analog wie bei Cisco.
Ein "wr" am Schluss der Konfig ist zwingend wichtig, denn das sichert unsere OSPF Konfiguration in der Konfig Datei das sie nach einem Reboot nicht verloren geht !
Da das WLAN ein dynamisches IP Netz ist (DHCP), ist hier mit dem "passive" Kommando OSPF ausgeschaltet, ebenso auf dem localhost 127er Loopback Interface wo wir kein aktives OSPF machen wollen.
Ein show ip ospf neigbor zeigt uns nun unsere OSPF Nachbarn an (hier ein Mikrotik mit OSPF) die im Netz gesehen werden:
raspberry# sh ip ospf nei 
    Neigbor ID Pri State            Dead Time Addr.         Interface               RXmtL RqstL DBsmL 
10.1.0.1        1 Full/DR           30.180s 10.1.1.254    eth1:10.1.0.254         0     0     0 
Mit dem Kommando exit verlässt man die Quagga Router Konfig wieder.

Hier kann man sich jetzt frei auch mit anderen dynamischen Routing Protokollen auslassen, experimentieren und testen.
Ein apt-get install tcpdump installiert z.B. einen Kommandozeilen Sniffer wo man sich z.B. mit dem Kommando tcpdump -i eth1 sich die OSPF Pakete am eth1 Interface auch mal live ansehen kann. (ctrl-c stoppt ihn)
Die Konfig Dateien oben sind immer auf die IP Adress Belange oder Routing Protokolle wie RIP, RIPv2 usw. entsprechend individuell anzupassen.



IPv6 ins Internet routen mit SixXS Tunnel

Sehr interessant für Netzwerker, die aktuell keinen IPv6 Internet Zugang haben, ist die Option ein lokales, eigenes IPv6 Netzwerk mit IPv6 ins Internet zu routen um so IPv6 an sich oder die Dual Stack Funktion auzuprobieren oder sich allgemein mit dem neuen, zukünftigen Internet Protokoll zu beschäftigen und mit einer Migration vertraut zu machen.
Man erhält so ein eigenes, öffentliches und weltweit erreichbares IPv6 Subnetz (Jetzt "Global Unicast" genannt) und kann im kleinen Rahmen Hoster spielen mit IPv6.
Aber Achtung: Auch hier gilt das diese IP Adressen weltweit offen erreichbar sind ! Eine Filterliste ist also dringend angeraten um das eigene öffentliche v6 Subnetz zu schützen. Das Tutorial wird im Verlauf auch darauf eingehen.

Mit dem Raspberry Pi ist so ein IPv6 Tunnelrouter, der hinter einem bestehenden IPv4 NAT Router steht, schnell eingerichtet.
Um eine gültige IPv6 Tunneladresse und ein IPv6 Subnetz mit einem eigenen /64 Prefix zu bekommen muss man sich lediglich kostenfrei bei SixXS, einem non Profit Service, registrieren unter der Webseite http://https://www.sixxs.net/signup/create/ und einen Account anlegen.
Danach beantragt man einen IPv6 Tunnel den man auch in der Regel nach 10 Minuten bekommt. Wichtig ist hier beim Antrag den Tunnel Type Dynamic NAT-traversing IPv4 Endpoint using AYIYA auswählt, sonst kann der Tunnel nicht über einen NAT (IPv4 Adress Translation) Router aufgebaut werden.

Dann geht es weiter mit dem Raspberry IPv6 Router....
Als ersten grundlegenden Schritt muss auf auf dem Raspberry Routing und IPv6 Support aktiviert werden, was es im Default nicht ist.
Für das Routing öffnet man mit dem nano Editor die Datei etc/sysctl.conf und hier entfernt man die Kommentarsymbole "#" vor den Zeilen net.ipv4.ip_forward=1 und net.ipv6.conf.all.forwarding=1
Danach aktiviert man global den IPv6 Support durch Editieren der Datei etc/modules und dort fügt man am Ende der Datei einfach ein ipv6 ein.
Der Raspberry sollte 2 Netzwerk Interfaces haben. Ein lokales was das lokale IPv6 Netz bedient und eines was die Tunnel Verbindung über IPv4 realisiert. In der Regel ist das das lokale IPv4 Netzwerk am heimischen Router. Das kann dann ein WLAN USB Stick sein oder eins der o.a. USB Ethernet Adapter (eth1).
Danach sollte man den Raspberry mit reboot einmal booten.
Folgende zusätzliche Pakete sind dann nach dem üblichen apt-get update und upgrade noch zu installieren:
apt-get install aiccu radvd
Bei der Installation des aiccu Paketes werden im Dialog der Username und das Passwort des SixXS Accounts erfragt. Man kann es auch immer nachträglich unter etc/aiccu.conf mit dem nano Editor anpassen.
Ist das der Fall muss man den Tunnel mit etc/init.d/aiccu restart neu aufbauen.
Ein ip link show oder ifconfig zeigt nun das aktive IPv6 Tunnelinterface und mit ping6 2001:8f6:810:fc12::1 (mit eigener Tunnel IP ersetzen) kann man den SixXS Tunnelrouter nun pingen. Ein ping6 2a02:2e0:3fe:100::7 pingt die IPv6 Adresse des Heise Webservers.
(Administrator.de arbeitet noch nicht mit IPv6, da hat der Frank noch Nachholbedarf !)
Klappt das alles, liegt einem das IPv6 Internet schon zu Füssen ! Im nächsten Schritt wird das lokale IPv6 Subnetz mit einem Testhost eingerichtet...

Der Router soll natürlich das von SiXXS mit dem Tunnel zusätzlich bereitgestellte IPv6 Subnetz automatisch am IPv6 Interface eth1 verteilen.
DHCPv6 ist überflüssig, denn IPv6 macht das mit seiner Stateless Address Autoconfiguration.
Das Interface eth1 (USB Ethernet Adapter) richtet man entsprechend wie schon oben beschrieben ein in der Datei /etc/network/interfaces (Beispielnetz IPv6 ist 2001:6f8:770:304f::/64):
allow-hotplug eth1
auto eth1
iface eth1 inet6 static
address 2001:6f8:770:304f::1
netmask 64

Das Netzwerk an eth1 ist damit ein reinrassiges IPv6 Netzwerk.

Die Datei /etc/radvd.conf passt man entsprechend an:
01.
interface eth1 { 
02.
        AdvSendAdvert on; 
03.
        MinRtrAdvInterval 15; 
04.
        MaxRtrAdvInterval 60; 
05.
        AdvCurHopLimit 64; 
06.
        AdvManagedFlag off; 
07.
        AdvOtherConfigFlag off; 
08.
        AdvDefaultPreference medium; 
09.
        AdvDefaultLifetime 300; 
10.
        AdvReachableTime 0; 
11.
        AdvRetransTimer 0; 
12.
        AdvLinkMTU 1280; 
13.
 
14.
        prefix  2001:6f8:770:304f::/64 { 
15.
                AdvOnLink on; 
16.
                AdvAutonomous on; 
17.
                AdvRouterAddr off; 
18.
                AdvValidLifetime 3600; 
19.
                AdvPreferredLifetime 1800; 
20.
                }; 
21.
        RDNSS  2001:6f8:770:304f::1 { }; 
22.
        AdvSourceLLAddress on; 
23.
}; 
Danach rebootet man den RasPi.
Nun wird der Router, der DNS automatisch im lokalen IPv6 Netzwerk bekanntgemacht und der Router vergibt den Endgeräten automatisch eine korrekte IPv6 Adresse in diesem Netzwerk 2001:6f8:770:304f::/64
Schliesst man einen kleinen Switch an eth1 an und dort einen Host mit Windows, Apple, oder Linux aktiven IPv6 Rechner kann man mit ipconfig oder ifconfig das sofort sehen.


IPv6 DNS aktivieren und auch für IPv4 nutzen:
Als nächstes steht ein Caching IPv6 Nameserver, eine IPv6 zu v4 Translation an die den IPv6 Rechnern im lokalen IPv6 LAN auch Zugriff auf IPv4 Internet Ziele bietet die noch nicht IPv6 fähig sind.
Dazu sind folgende Packete auf den Raspberry IPv6 Router zu laden:
apt-get install tayga unbound totd
In der Datei /etc/tayga.conf entkommentiert bzw. passt man die folgenden Zeilen an:
tun-device nat64
ipv4-addr 192.168.255.1
ipv6-addr 2001:6f8:770:304f::64
prefix 64:ff9b::/96
dynamic-pool 192.168.255.0/24

Desweiteren ist in der Datei /etc/default/tayga die Variable RUN auf yes zu setzen !
Danach startet man Tayga mit /etc/init.d/tayga restart neu. Ein ifconfig zeigt nun ein virtuelles Interface nat64 !
Als ersten Test pingt man die Adresse von Administrator.de (82.98.86.165) an. Da man ein reines IPv6 Netzwerk hat an eth1 versteht der Rechner keine v4 Adressen und man gibt diese als v6 Adresse an, die Tayga dann in die IPv4 Adresse übersetzt und als v4 weiterschickt. Der Prefix für die v4 Adressen lautet 64:ff9b:: also lautet die lokale v6 Adresse für Administrator.de: 64:ff9b::82.98.86.165 bzw.. hex 64:ff9b::5262:56a5.
(Wer hier Probleme mit der Hexadezimaldarstellung der v6 Adressen hat nimmt den Google DNS 8.8.8.8 mit 64:ff9b::8.8.8.8 bzw. hex 64:ff9b::808:808 )
Ein ping6 64:ff9b::82.98.86.165
root@raspi-v6:/etc# ping6 64:ff9b::82.98.86.165
PING 64:ff9b::82.98.86.165(64:ff9b::5262:56a5) 56 data bytes
64 bytes from 64:ff9b::5262:56a5: icmp_seq=1 ttl=53 time=52.7 ms
64 bytes from 64:ff9b::5262:56a5: icmp_seq=2 ttl=53 time=51.5 ms
64 bytes from 64:ff9b::5262:56a5: icmp_seq=3 ttl=53 time=52.0 ms

sollte nun also eine Antwort von Administrator.de zeigen auch wenn Frank den Forumsserver hier noch gar nicht mit einer IPv6 Adresse betreibt.
Tayga sorgt dafür das er auch für reine IPv6 Hosts via NAT64 Adress Translation mit IPv4 erreichbar ist.

All das funktioniert nun wunderbar für reine IPv6 Adressen aber scheitert an Hostnamen von solchen Servern im Internet die (noch) keine IPv6 Adresse haben. Versucht man das mit www.administrator.de von Rechnern im eth1 im IPv6 Segment gibt es keine Verbindung mehr.
Natürlich gibts dafür auch eine Lösung für den RasPi v6 Router mit dem DNS Caching Server "unbound" und einem kleinen Daemon der den AAAA Record aus der DNS Antwort auswertet.
Findet er keinen, liefert er den IPv6 Rechnern am eth1 Interface die NAT64 Adresse von Tayga.
Hier kommen die notwendigen Schritte:
1.) Anpassen der Datei /etc/unbound/unbound.conf:
server:
verbosity: 1
interface: ::1
port: 5300
access-control: ::1/128 allow

2.) Anpassen der Datei /etc/totd.conf:
forwarder ::1 port 5300
prefix 64:ff9b::

3.) Anpassen der Datei /etc/resolv.conf:
domain v6router.intern
search v6router.intern
nameserver ::1

4.) Neustarten der Dienste mit /etc/init.d/totd restart und /etc/init.d/unbound restart um die obigen Konfigs zu übernehmen.
Ein erster Test mit administrator.de sollte ergeben:
root@raspi-v6:/etc# host www.administrator.de
www.administrator.de has address 82.149.225.18
www.administrator.de has IPv6 address 64:ff9b::5295:e112

Hier sieht man nun sehr gut das der DNS die NAT64 IP Adresse liefert, da administrator.de (noch) keine gültige IPv6 Adresse hat !
Wohingegen der Server heise.de schon eine reguläre IPv6 Adresse besitzt, die der Raspi dann auch prompt liefert:
root@raspi-v6:/etc# host www.heise.de
www.heise.de has address 193.99.144.85
www.heise.de has IPv6 address 2a02:2e0:3fe:100::7

Damit ist das IPv6 Segment dann einsatzklar für einen reinen IPv6 Betrieb !!
(Wird fortgesetzt mit den Firewall Einstellungen ip6tables...)


Kapitel 3. Netzwerk Funktionen

David und Goliath: Der Raspberry als Mitglied einer Windows Domäne mit Active Directory:

Es hat ein bisschen was von David und Goliath was es aber umso interessanter macht, nämlich die Kopplung des Raspberry Pi Servers an einen Domain Controller Windows 2008 R2 Server (oder neuere Version) mit Active Directory.
Wer FreeRadius auf dem Raspberry laufen lässt kann so eine Benutzer Authentisierung über das AD Userverzeichnis auf dem Windows Server machen….und natürlich noch andere spannende Sachen.
Grundlage ist spacyfreaks hiesiges Tutorial:
http://www.administrator.de/contentid/85403
und ein weiteres HowTo
Beispiel IP Adresse des Windows Servers 192.168.1.100 und Domaine MYDOMAIN.INTERN (Hinweis: .LOCAL Domains sollte man besser vermeiden, weil Bonjour (mDNS) und Apple Macs damit einige Probleme bekommen !)
Welche Pakete brauchen wir auf dem Raspberry:
apt-get install krb5-user samba samba-common-bin winbind
...installiert alles Nötige dafür !
Wer die obige 802.1x Port- und WLAN Authentisierung will installiert den FreeRadius mit apt-get install freeradius gleich mit dazu

Nun müssen ein paar Dateien per Hand angepasst werden. Der bekannte nano Editor ist da wieder unser Freund... !
Da geht man exakt so vor, wie es am Ende in den letzten Threads des o.a. Tutorials beschrieben ist.
Hier sind nochmals die wichtigsten Punkte
  • Raspberry Hostnamen und IP ins Windows Server 2008 DNS als Host eintragen. Desgleichen den Windows Server mit seiner IP Adresse in die Datei /etc/hosts am Raspberry.
Wichtiger Check bevor man weitermacht: Beide Maschinen müssen sich gegenseitig mit ihrem Namen anpingen lassen !!
  • Die Dienste Samba und Winbind mit /etc/init.d/samba stop und /etc/init.d/winbind stop stoppen.
  • Datei /etc/krb5.conf wie in Spacyfreaks Tutorial beschrieben anpassen. Überflüssige Hosts und Domains unter "realms" dort und "domain_realm" löschen.
  • Datei /etc/nsswitch.conf anpassen (Parameter winbind hinzufügen)
  • Datei /etc/samba/smb.conf (Default) ggf. als Backup sichern und die smb.conf Datei wie sie im Tutorial_Thread steht kopieren als smb.conf. IPs und Namen ggf. auf eigene Belange und Settings anpassen !
  • Optional: in die Datei /etc/pam.d/common-session kann, wer will ,folgende Zeile ergänzen: session required pam_mkhomedir.so umask=0022 skel=/etc/skel
Damit bekommen dann Microsoft AD User die sich am Raspberry mit ihrem AD Account einloggen automatisch ein Home Verzeichnis erstellt. Dazu sollte man dann unter /home mit "mkdir MYDOMAIN" (MYDOMAIN mit eigenem Domain Namen ersetzen !) noch ein Directory mit dem Domain Namen erzeugen. Wer nur User authentisieren will, kann sich diesen Schritt sparen.
Fertig… ! Damit sind alle Konfigurationen erledigt....

Los geht's mit der Aufnahme des Raspberrys in die Microsoft Domäne:
net ads join -U Administrator ---> (Wobei "Administrator" hier der Administrator Account auf dem Windows Server ist !)
Hat man oben alles richtig gemacht erscheint diese Meldung:
root@raspberry:# net ads join -U Administrator 
Enter Administrator's password:  
Using short domain name -- MYDOMAIN 
Joined 'RASPBERRY' to realm 'mydomain.intern' 
Hurra….der Raspberry Server ist nun vollwertiges Mitglied der Windows Domäne !
Nun kann man mit /etc/init.d/samba start und /etc/init.d/winbind start die Dienste Samba und Winbind wieder starten.
Ob alles sauber arbeitet kann man mit den folgenden Kommandos auf dem RasPi testen:
wbinfo -u --> zeigt die AD Userliste
wbinfo -g --> zeigt die Liste aller AD Gruppen
wbinfo -a username%password --> authentisiert einen AD Benutzer


Windows 8.1 PE (ct' Notfall Windows 2014) per PXE / TFTP via Netzwerk booten:

Das Windows Original PE (Preinstallation Environment) dient zum Erstellen von Rettungsdatenträgern und zum Reparieren bestehender Installationen mit recht einfachen und limitierten Funktion rein auf Windows bezogen.
Auf Basis dieses PE ist aber im Forum theoven eine Alternative entstanden die erheblich mächtiger ist und erweiterte Tools wie das Lesen von Bitlocker Laufwerken und vieles mehr zur Verfügung stellt.
Das Computermagazin ct' hat dieses Tool als Basis genommen ein dazu noch umfangreicheres "Notfall Windows 8.1" mit zusätzlichen Tools zu erstellen unter anderem der kompletten Sysinternals Suite.
Der komplette Artikel ist auf der ct_Projektseite zum Notfall Windows beschieben und kann dort nachgelesen werden. Details würden die Anleitung hier sprengen.

Was braucht man dazu...?:
Wer erst einmal einen Eindruck bekommen möchte läd sich das Win8.1SE Tool von der Win8.1SE_Projektseite herunter und entpackt es in einem Verzeichnis seines Rechners.
Als weiteres wird eine Win 8.1 Installations DVD benötigt. Wer keine DVD besitzt läd sich als Ersatz eine Win8.1_Demoversion herunter.
Der hier angegebene Link lädt eine 32Bit Version die universeller ist, da sie auf älteren Systemen rennt und gleichzeitig auch auf moderner 64Bit Hardware. Zusätzlich ist das Image erheblich kleiner und bootet schneller.
Hier muss man sich aber final entscheiden ob 64 oder 32 Bit..
Die Win8.1 Installations DVD bzw. das ISO Image kopiert man ebenfalls in ein eigenes, leeres Verzeichnis z.B. c:\win81inst, Das ISO Image muss aber noch zwingend extrahiert werden, was wieder das bekannte Tool 7z erledigt.
Dazu kopiert man die 7z.exe und die 7z.dll Datei aus dem 7z Programmordner in das ISO Verzeichnis der Win 8.1 Demo Version und entpackt es dort mit dem folgenden Kommando: 7z x c:\win81inst\win81.iso
Ist das geschehen startet man im Win81SE Verzeichnis den Win81SE82_Builder.exe, klickt oben auf Source und gibt im entsprechenden Eingabefeld das Verzeichnis c:\win81inst der kopierten Install DVD oder der zuvor entpackten Win8.1 ISO Datei an. Fertig !
Jetzt nur noch das blaue Play Dreieck oben klicken und etwas Geduld mitbringen, denn das Tool braucht zum Erzeugen des fertigen ISO Images etwas Zeit.
Wer VirtualBox auf dem Rechner hat kann nach Abschluss direkt prüfen lassen ob das Win8.1SE ISO Image bootet und es ggf. auf bootbaren USB Stick oder CD kopieren.

In der Zwischenzeit den Raspberry Pi für PXE Boot vorbereiten....:
Mit dem bekannten...
apt-get install isc-dhcp-server
und
apt-get install tftpd-hpa (man achte hier auf das "d" um nicht den Client zu installieren!)
installiert man auf dem Raspberry Server die nötigen Komponenten für PXE Boot.
Der TFTP Server erzeugt automatisch das TFTP Download Verzeichnis /srv/tftp wo nachher alle Dateien hinkopiert werden.
Damit es beim Start des TFTP Servers auf dem RasPi nicht zu einer (IPv6) Fehlermeldung kommt ist noch kurz dessen Konfig Datei mit dem Editor anzupassen unter /etc/defaults/tftpd-hpa indem dort die TFTP_OPTIONS Zeile angepasst wird:
  • TFTP_OPTIONS="--secure --ipv4"
Zusätzlich benötigt man noch die Syslinux Tools und das wimboot Tool aus dem iPXE Projekt was in das Raspi Homeverzeichnis /home/pi mit
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.zip
und
wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
schnell geladen ist. (Wichtig ist unbedingt die Version 5.0.1 der Syslinux Tools zu verwenden !)
Beide ZIP Archive entpackt man dort mit unzip <Dateiname.zip>
Jetzt sind einige Verzeichnisse einzurichten und Dateien in das /srv/tftp Verzeichnis zu kopieren:
mkdir -p /srv/tftp/libs 
mkdir -p /srv/tftp/boot 
mkdir -p /srv/tftp/winpe 
mkdir -p /srv/tftp/win81se 
mkdir -p /srv/tftp/ctnotfall 
mkdir -p /srv/tftp/pxelinux.cfg 
cp /home/pi/syslinux-5.01/com32/lib/libcom32.c32 /srv/tftp/libs/ 
cp /home/pi/syslinux-5.01/com32/libutil/libutil.c32 /srv/tftp/libs/ 
cp /home/pi/syslinux-5.01/com32/modules/linux.c32 /srv/tftp/libs/ 
cp /home/pi/syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /srv/tftp/ 
cp /home/pi/syslinux-5.01/com32/menu/vesamenu.c32 /srv/tftp/ 
cp /home/pi/syslinux-5.01/core/pxelinux.0 /srv/tftp/ 
cp /home/pi/syslinux-5.01/memdisk/memdisk /srv/tftp/ 
cp /home/pi/syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /srv/tftp/  
cp /home/pi/wimboot-2.4.1/wimboot /srv/tftp/libs/ 
(Aktuell ist wimboot 2.4.1 Verzeichnis Name mag sich daher ändern)

Desweiteren benötigt man noch ein paar Windows Dateien aus dem oben mit 7z entpackten c:/win81inst Verzeichnis
\bootmgr             —> /srv/tftp/ 
\boot\bcd            —> /srv/tftp/ 
\boot\boot.sdi       —> /srv/tftp/ 
\sources\boot.wim    —> /srv/tftp/winpe/  
Wer mit dem Win8.1SE Tool und der ct’ Notfall CD die entsprechenden ISOs erzeugt hat kopiert aus diesen beiden Tool Verzeichnissen jeweils die boot.wim Datei in die entsprechenden Verzeichnisse auf dem RasPi.
Diese Datei findet sich immer im Verzeichnis: \ISO\Targetimage\WIM\sources.
Die boot.wim von Win8.1SE kopiert man unter /srv/tftp/win81se
Die boot.wim des ct’ Notfall Windows 2014 kopiert man unter /srv/tftp/ctnotfall

Als vorletzten Schritt erzeugt man im Verzeichnis /srv/tftp/pxelinux.cfg mit dem nano Editor noch eine Datei default mit folgendem Inhalt:
DEFAULT vesamenu.c32 
PATH libs 
LABEL Win8.1PE 
COM32 linux.c32 libs/wimboot 
APPEND initrdfile=bootmgr,boot/bcd,boot/boot.sdi,winpe/boot.wim 
LABEL Win8.1SE 
COM32 linux.c32 libs/wimboot 
APPEND initrdfile=bootmgr,boot/bcd,boot/boot.sdi,win81se/boot.wim 
LABEL ctNotfall 
COM32 linux.c32 libs/wimboot 
APPEND initrdfile=bootmgr,boot/bcd,boot/boot.sdi,ctnotfall/boot.wim 
Mit chmod -R 744 /srv/tftp/* macht man nun zum Schluss alle Dateien im TFTP Verzeichnis für alle lesbar und damit für Clients bootbar.

Das ISO Image booten statt wim.boot:
Mit etwas weniger Aufwand als das obige wimboot kann man aber auch das komplette Win8.1 ISO Image und damit auch jedes ISO Image booten.
Im Win8.1.SE ISO Verzeichnis des Tools wo nachher das fertige ISO Image steht, ist im Verzeichnis unter \ISO\Targetimage\WIM die Datei menu.lst zu finden die Infos für den Bootloader enthält.
Diese Datei kopiert man z.B. mit WinSCP auf den Raspberry und benennt sie in default um.
Im TFTP Root Verzeichnis /srv/tftp/ erzeigt man jetzt ein Verzeichnis mit dem Namen menu.lst (mkdir /srv/tftp/menu.lst) und kopiert diese default Datei in dieses Verzeichnis.
Mit dem nano Editor ediert man sie und ändert den Eintrag title Win8.1SE folgendermaßen:
title Win8.1SE 
map --mem (pd)/Win8.1SE_x86.ISO (0xff) 
map --hook 
root (0xff) 
chainloader /BOOTMGR 
Dann ergänzt man in der /srv/tftp/pxelinux.cfg/default Menü Datei einen Eintrag:
LABEL Win8.1SE ISO
KERNEL memdisk keeppxe
APPEND initrd=Win8.1SE_x86.ISO iso raw

und schon bootet der PXE Server auch das ISO Image.

Dem DHCP Server beibringen was er den PXE Clients mitgeben muss...:
Weiter untem im Tutorial findet sich die universelle Einrichtung des ISC DHCP Servers auf dem RasPi. Um dem DHCP den PXE Boothost und File mitzugeben ist die Konfig Datei zu erweitern (PXE Bootserver hier 10.2.0.100):
allow booting; 
allow bootp;  
next-server 10.2.0.100; 
filename "pxelinux.0";
Wer möchte kann das auch dediziert für ganz bestimmte Clients auf Basis der Mac Adresse machen:
# PXE Boot Test Laptop 
host tftpclient { 
     hardware ethernet 00:21:85:AD:12:34; 
     fixed-address 10.2.0.30; 
     next-server 10.2.0.100; 
     filename "pxelinux.0"; 
So sind auch andere OS problemlos zu booten wie FreeDOS oder Damn Small Linux usw.
https://www.winhistory-forum.net/showthread.php?tid=12466

Um den PXE Boot beim Starten des Rechners zu aktivieren gibt es mehrere Methoden die Hersteller abhängig sind.
Entweder geht man ins BIOS um diese Funktion zu aktivieren.
Bei den meisten Rechnern reicht es aber mit ESC, F11 oder F12 in das BIOS Boot Auswahlmenü zu gehen und hier den Netzwerk Boot im Bootmenü zu wählen.

ct' Desinfect Viren DVD via PXE booten.
Eine weitere sinnvolle Verwendung des PXE Bootservers bietet sich für Besitzer der ct' Desinfect Viren Boot DVD. Diese läßt sich bequem zum Viren Scannen und Entfernen via Netzwerk auf beliebigen Rechnern booten.
Die Installation ist im wesentlichen identisch zur oben beschriebenen, bietet aber auch eine sehr einfache Installations Option mit Dnsmasq.
Alle Schritte die aktuelle ct' Desinfect via Netz zu booten findet man hier:
http://www.heise.de/security/artikel/Desinfec-t-vom-Linux-Server-booten ...


Ein eigener Cloudserver mit ownCloud

Wer Sicherheits Bauchschmerzen hat mit einer fremden Cloud und der NSA ein Schnippchen schlagen will, kann sich mit ownCloud unkompliziert und schnell einen eigenen Cloudserver in den eigenen 4 Wänden auf dem Raspberry installieren analog wie es z.B. HIER für ein NAS beschrieben ist.
Damit können Kalender, Adressbücher, Dokumente, und Smartphones problemlos mit anderen synchronisiert werden und die Daten kommen nicht in fremde Hände !
Die dafür notwendigen Komponenten Apache2, PHP5, php5-gd, sqlite und sqlite-php5 werden ganz einfach wieder als root mit apt-get install installiert. Wer Apache2 und PHP5 schon installiert hat, kann sich mit den restlichen Paketen begnügen.
apt-get install sqlite sqlite-php5 php5-gd php-xml-parser php5-intl
Die aktuelle Owncloud Version lädt man hier http://owncloud.org herunter und kopiert sie mit WinSCP oder SCP auf den Raspberry ins Verzeichnis /var/www/
Nachdem alle o.a. Pakete installiert sind ist das Setup schnell gemacht:
  • Im Web Server Verzeichnis /var/www / das Owncloud Paket mit tar xf owncloud-4.5.5.tar.bz2 entpacken.
  • Der Apache benötigt eine Anpassung der Owncloud Directory Rechte im Setup. Dazu editiert man die Datei /etc/apache2/sites-available/default und fügt einfach folgendes im Bereich der Directory Settings per cut and paste ein:
    Alias /owncloud "/var/www/owncloud/" 
            <Directory "/var/www/owncloud/"> 
            Options +Indexes 
            AllowOverride All 
            Order allow,deny 
            allow from all 
            </Directory> 
Danach muss man den Apache2 Webserver noch einmal neu starten mit der bekannten Prozedur /etc/init.d/apache2 restart
Nun kann man mit http://<ip_adresse_raspi>/owncloud die webbasierte Owncloud Installation starten indem man lediglich einen Administrator User mit Passwort einrichtet und die Datenbankeinstellung auf SQLite setzt.
Fertig...der eigene Cloudserver ist nun einsatzklar !
94f649f9309a4a7ebb2e8c67e85ca46a - Klicke auf das Bild, um es zu vergrößern
Bei größeren Datenbeständen als z.B. die Familien Smartphones macht es Sinn nicht alles auf die interne SD zu speichern und das Verzeichnis /var/www/owncloud/data/ auf einen USB Stick oder ein USB Laufwerk auszulagern.
Die Datei owncloud.db beinhaltet alle Daten der privaten Cloud.
Die passenden Clients zum Hochladen ala Dropbox für Win, Mac und Linux findet man hier:
http://owncloud.org/sync-clients/
Kalender- und Kontaktdaten werden über die jeweilige Kalender- und Kontakt App auf die eigene Cloud synchronisiert.

Für den Zugriff von außen gibt man nun ganz einfach den ownCloud Server per Port Forwarding frei im Router. Noch sicherer ist es natürlich mit einem VPN Zugriff.
Der Raspberry kann hier geschickterweise auch gleich als VPN Server dienen sofern man keinen VPN_fähigen_Router besitzt.
Entsprechende Tutorials für das Server VPN Setup von OpenVPN, IPsec (ike Package) und auch PPTP findet man hier im Forum bei Administrator.de.

Für Linux Laien ist ggf. eine komplett fertige Heim Server Distribution wie z.B. ArkOS sicher einfacher. Sie wird wie das Raspbian Image auf eine SD Karte geschrieben, in den RasPi gesteckt und ist sofort einsatzfähig. Dieser eigene Server ersetzt Windows Datei-, Dropbox- und Google Dienste und erlaubt die sichere und private Datensicherung in den eigenen 4 Wänden.
Mit einfacher Bedienung über einen Webbrowser inklusive eigenem Webserver mit Wordpress ist er fast so mächtig wie ein eigenes NAS im Heimnetz.
Links zur ArkOS Installation unten in der Link Sammlung.


NAS mit iSCSI oder Windows Share (CIFS/SMB) anbinden

Wenn der Server größere Datenmengen speichern muss wie z.B. oben bei der Anwendung als Syslog Server und für die Hotspot Überwachung oder das Sammeln von Performancedaten mit MRTG ist es oft sinnvoll die Daten nicht auf der begrenzten SD Flashkarte zu sichern sondern auf einer USB Festplatte oder noch eleganter per iSCSI auf einem NAS z.B. von QNAP, Synology oder anderer Hersteller im Netzwerk.
Ersteres ist recht einfach und bedarf keiner Erklärung hier da USB Platten automatisch erkannt werden. Letzters ist etwas spannender und beschert dem Raspberry letztlich Zugriff auf GB oder TB Laufwerke ohne eigene Resourcen zu belasten.
Es gibt einen Wermutstropfen: Auch wenn man mit apt-get install open-iscsi den iSCSI Initiator installiert bringt man ihn nicht zum Laufen. Grund sind die fehlenden Kernelmodule im Standardkernel...
Es ist daher erforderlich sich einen neuen Kernel zu bauen der diese Module beinhaltet. Die genaue Beschreibung würde den Rahmen und das Thema des Tutorial sprengen und ist HIER umfassend und wasserdicht erklärt.
Ein so customizter Kernel wird also vorausgesetzt wie ebenso ein entsprechend eingerichtetes iSCSI Target auf einem der o.g. NAS Systeme. Letzteres ist mit dem dort vorhandenen "Wizzard" mit ein paar Mausklicks erledigt.
Der Rest ist dann schnell gemacht:
  • apt-get install open-iscsi installiert das Paket
  • In der Datei /etc/iscsi/iscsid.conf den Eintrag "node.startup = automatic" setzen.
  • /etc/init.d/open-iscsi restart ausführen.
  • iscsiadm -m discovery -t st -p <ip_adresse_nas> sollte jetzt den Target Namen anzeigen, ebenso iscsiadm -m node
  • iscsiadm -m node --targetname "<target_name>" --portal "<ip_adresse_nas>" --login verbindet das iSCSI NAS
  • Mit fdisk -l "sieht" man nun das Laufwerk unter /dev/sda1 und mkfs.ext4 /dev/sda1 formatiert es mit ext4 das es dann mit mount /dev/sda1 /mnt ins Dateisystem gehängt werden kann.
Damit man dies beim Starten des Servers nicht alles manuell machen muss sollte noch die Zeile /dev/sda1 /mnt/iscsi ext4 defaults,auto,_netdev 0 0 in die Datei /etc/fstab hinzugefügt werden !
Das NAS ist dann im Verzeichnis /mnt zu finden.

Noch einfacher ist das Einhängen eines bestehenden Windows Shares auf einem NAS oder einem Windows Fileserver oder PC oder auch einen am Router (FritzBox etc) im Netz freigegebenem USB Stick oder Platte mit Windows SMB/CIFS.
Der Mount Befehl supportet auch direkt das Windows CIFS Filesystem.
Als Beispiel dient hier ein Windows Server oder NAS System mit einem Freigabeordner "Public" und der IP 192.168.1.100, dann lautet das entsprechende Kommando auf dem Raspberry Pi:
01.
mount.cifs //192.168.1.100/Public /mnt/ -o user=<username>,password=<passwort> 
Statt der IP kann man auch den Hostnamen verwenden wenn man das NAS oder Server in die /etc/hosts Datei eingetragen hat oder einen lokalen DNS benutzt.
Auch "andersherum" (Zugriff von Windows PC auf ein vom RasPi freigegebenes Verzeichnis oder Platte) ist diese Freigabe mit dem Samba Server kinderleicht. Samba emuliert einen Windows Fileserver unter Unix/Linux.
So kann man sehr einfach Dateisysteme für beide Systeme über das Netzwerk zugänglich machen. (Samba HowTo ist in der Linksammlung am Ende des Tutorials)


Remoter grafischer X Windows Zugang mit Windows RDP und VNC:

Bei einem so kleinen Rechner wie dem Raspberry Pi ist es oft umständlich Tastatur, Maus und Monitor anzuschliessen um mit der grafischen Windows Oberfläche zu arbeiten.
Gerade Anfänger fühlen sich aber sicherer auf einem Windows GUI als auf der Kommando Ebene.
Einfacher und bequemer geht das natürlich mit einer grafischen Fernsteuerung ala RDP über das vorhandene Netzwerk. Der Raspberry kann natürlich beides, sowohl RDP als auch VNC.
Hier die ToDos für Windows RDP (Remote Desktopverbindung):
  • apt-get update
  • apt get upgrade
  • apt-get install xrdp

Auch ein VNC Server ist schnell mit apt-get install tightvncserver installiert.
Nach der Installation ruft man den Server einmal mit tightvncserver auf, worauf dieser nach einem Terminal Passwort fragt das man ihm eingibt.
Ist das erledigt startet man den Server mit vncserver, Fertig...!
Von Windows aus nimmt man einen VNC Viewer wie UltraVNC oder RealVNC und gibt als Server IP ein <ip_adresse_raspi>:5901
Apple Mac User haben es mit dem bordeigenen VNC Client noch einfacher:
Klick auf --> "Gehe zu" --> Mit Server verbinden --> vnc://<ip_adresse_raspi>:5901
Analog ist die Prozedur bei der VNC App bei iPad, iPhone und Android Smartphones.
(Screenshot einer VNC Verbindung zur Anzeige der GPS/NTP Funktion von oben)
d93cfa21b7f999ace1f826bae884e9b7 - Klicke auf das Bild, um es zu vergrößern
Einen Nachteil hat diese einfache Installation: Nach einen reboot des Raspberry muss man manuell mit der Eingabe "sudo vncserver" den VNC Server wieder neu starten. Aber keine Angst auch das lässt sich automatisieren.
Dieser_Link erklärt wie das einfach zu bewerkstelligen ist.
Einfacher ist da dann RDP das belibt auch nach einem Reboot erhalten.

! Nochwas zu RDP und VNC:
Der Mauzeiger hat seit Raspian Jessie sowohl mit RDP als auch mit VNC (apt-get install tightvncserver) ein hässliches Kreuz statt des üblichen Mauszeigers auf dem Remote Schirm.
Das bekommt man ganz einfach weg:
  • Ins User Home Verzeichnis gehen. Hier ist das /home/pi oder entspr. ins Home Verz. aller User die remote zugreifen wollen.
  • dort eine Datei mit dem Namen .xsessionrc erzeugen mit nano .xsessionrc (Man achte auf den Punkt vor dem Dateinamen !!)
  • Diese hat folgenden Inhalt: xsetroot -cursor_name left_ptr&
  • Sichern der Datei mit Ctrl o und dann Ctrl x
  • Ausführbar machen mit chmod ugo+x .xsessionrc
  • Idealerweise wiederholt man das für den Root User unter /root und alle anderen User in ihren /home Verzeichnissen, dann verschwindet da auch das hässliche Remote Kreuz im Mauszeiger.


Zentraler DHCP Server im LAN und auch VLAN Umfeld:

In segmentierten LAN und VLAN Umgebungen macht es Sinn einen zentralen DHCP Server zu verwenden, der alle IP Netze in den LANs oder VLANs zentral bedient.
Um von einem zentralen DHCP Server IP Adressen in mehrere Segmente eines Netzes zu verteilen konfiguriert man auf dem Router oder Layer 3 Switch, der diese LANs oder VLANs routet, dann sog. "IP Helper Adressen“ (DHCP Forwarder) auf den Gateway IP Interfaces.
Diese IP Helper Adressen forwarden DHCP Client Broadcasts dieser IP Netz Segmente dann direkt an den zentralen DHCP Server.
Da sie auf einem UDP Broadcast basieren, würden diese DHCP Requests sonst nicht über Routergrenzen übertragen werden.
Oft machen diese DHCP Forwarder Adressen oder deren Einrichtung Probleme und mit einem DHCP Testserver auf dem RasPi, der mehrere DHCP Subnetz Bereiche supportet, kann man sowas sehr gut troubleshooten.
Natürlich spricht auch nichts dagegen den RasPi DHCP Server in kleinen Netzen als zentralen DHCP Server zu betreiben !

So ein DHCP Server ist schnell eingerichtet...:
apt-get install isc-dhcp-server
installiert wieder das notwendige Packet für den Server. Der DHCP Server hat hier im Beispiel selber die LAN IP Adresse 10.2.1.254 was man ggf. auf eigene IP Adressbealnge wieder anpassen muss.
Jetzt konfiguriert man die Datei /etc/dhcp/dhcpd.conf entsprechend. Hier mit im Beispiel mit 3 LAN / VLAN IP Bereichen 10.2.1.0, 10.3.1.0 und 10.4.1.0.
# Sample configuration file for ISC dhcpd for Debian 
ddns-update-style none; 
 
# option definitions common to all supported networks... 
option domain-name "raspi.intern"; 
option domain-name-servers 192.168.1.1, 8.8.8.8; 
default-lease-time 600; 
max-lease-time 7200; 
 
# Use this to send dhcp log messages. 
log-facility local7; 
 
# DHCP Ranges for different Subnets 
subnet 10.2.1.0 netmask 255.255.255.0 { 
  range 10.2.1.10 10.2.1.20; 
  option domain-name "vlan2.intern"; 
  option routers 10.2.1.1; 
subnet 10.3.1.0 netmask 255.255.255.0 { 
  range 10.3.1.10 10.3.1.20; 
  option domain-name "vlan3.intern"; 
  option routers 10.3.1.1; 
subnet 10.4.1.0 netmask 255.255.255.0 { 
  range 10.4.1.10 10.4.1.20; 
  option domain-name "vlan4.intern"; 
  option routers 10.4.1.1; 
# Fixed IP addresses can also be specified for hosts.    
host winsrv2012 { 
hardware ethernet 08:00:08:26:c0:c3; 
fixed-address 10.4.1.100; 
} 
Ist die Konfig Datei angepasst muss der Server mit diesen Einstellungen einmal neu gestartet werden mit /etc/init.d/isc-dhcp-server restart

Eine entsprechende Layer 3 Switch Beipiel Konfig für die VLANs sähe so aus. (Cisco IOS). HP Switches und andere sind mehr oder weniger identisch.
!
interface Vlan1
description VLAN-1
(Hier ist der DHCP Server mit der 10.2.1.254 verbunden)
 ip address 10.2.1.1 255.255.255.0
!
interface Vlan3
description VLAN-3
(Client Netzwerk)
 ip address 10.3.1.1 255.255.255.0
ip-helper address 10.2.1.254
!
interface Vlan4
description VLAN-4
(Client Netzwerk)
 ip address 10.4.1.1 255.255.255.0
ip-helper address 10.2.1.254
!

Ein DHCP Request von einem PC Client im VLAN 3 der an den zentralen DHCP Server im VLAN 1 geforwardet wird aus dem VLAN 3 sieht man in der Log Datei dann folgendermaßen: tail -f /var/log/messages 
Apr 10 17:05:38 raspberry dhcpd: DHCPDISCOVER from 00:21:85:dd:06:5c via 10.3.1.1 
Apr 10 17:05:39 raspberry dhcpd: DHCPOFFER on 10.3.1.10 to 00:21:85:dd:06:5c (win-pc) via 10.3.1.1 
DHCP Im Netzwerk absichern mit Option 82 (DHCP Snooping)
Ein spannendes Kapitel im Bereich DHCP ist die Absicherung des Netzwerks mit DHCP Snooping und Option 82 auf dem Netzwerk Switch.
Kurz beschrieben "sieht" der Switch dann in DHCP Pakete hinein, die er von Clients auf seinen Ports empfängt. Der Switch trägt dann eigene Informationen und die des Clients in diese Pakete ein bevor er sie an den DHCP Server weiterleitet.
Und dieses Weiterleiten macht er auch nur auf Ports die in der Switchkonfiguration als trusted, also vertrauenswürdig, definiert sind wo z.B. der DHCP Server angeschlossen ist oder die Uplinks zum DHCP Server.
Auf untrusted Ports blockiert er alle DHCP Antworten so das "wilde" Clients keine automatische IP Adresse bekommen.
Dieses Switchfeature bietet dem Netzwerk Admin eine sehr weitreichende Übersicht wer, wann an welchem Switchport welche IP Adresse bekommen hat.
So ist es möglich ein wasserdichtes DHCP Netz zu definieren OHNE das nicht authentisierte Clients automatisch DHCP Adressen im Netzwerk zugeteilt bekommen und ohne z.B. die oben beschrieben 802.1x Port Authentisierung implementieren zu müssen.
Los gehts mal wieder mit dem Setup...

Zuallererst aktiviert man global das Logging von Option 82 markierten DHCP Paketen im DHCP Server mit
# Option 82 logging 
if exists agent.circuit-id { 
log ( 
 info, concat ( "Lease for ", 
binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ", 
binary-to-ascii (10, 8, "/", suffix ( option agent.circuit-id, 2)), ", VLAN ", 
binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch 
", substring(option agent.remote-id,2,9999))); 
} 
Das würde schon ausreichen um als Admin eine dedizierte Übersicht über zugeortnete IP Adressen zu Ports und Clients zu bekommen.
Ein Beispiel für eine dedizierte Adress Vergabe sieht dann z.B. so aus:
# Beispiel fuer DHCP Server mit Option 82 
option domain-name "raspi82.intern"; 
option subnet-mask 255.255.255.0; 
default-lease-time 600; 
max-lease-time 7200; 
 
subnet 10.1.1.0 netmask 255.255.255.0 { 
  option broadcast-address 10.1.1.255; 
  option subnet-mask 255.255.255.0; 
  class "festeip" { 
        match if  binary-to-ascii(16, 8, ":", substring(option agent.remote-id, 2, 6)) = "00:11:22:33:44:55" 
			and	binary-to-ascii (10, 8, "/", suffix ( option agent.circuit-id, 2)) = "0/10";  } 
  pool { 
        range 10.1.1.10; 
        allow members of "festeip"; }  
  pool { 
	option domain-name-servers dns.intern; 
	range 10.1.1.100 10.1.1.110; 
	default-lease-time 600; } } 
Wenn hier am LAN Switch am Port 0/10 ein Client (PC, Laptop etc.) mit der Mac Adresse 00:11:22:33:44:55 einen DHCP Request ins Netzwerk sendet wird der Port im Server identifiziert und dieser Client bekommt an diesem Port immer fest statisch die IP Adresse 10.1.1.10 zugewiesen.
ACHTUNG:
DHCP Snooping muss immer vorher auf dem LAN Switch gemäß Handbuch aktiviert werden !! Als Beipiel hier die Konfigurationsschritte für einen Cisco IOS Switch:
ip dhcp snooping
=> schaltet DHCP Snooping global auf dem Switch ein.
Möchte man DHCP Snooping nur dediziert für ein bestimmtes VLAN machen kann man das auch spezifisch nur für dieses VLAN mit:
ip dhcp snooping vlan <vlan id>

aktivieren.
Danach ist dann nur noch das trusted Interface an dem der DHCP Server hängt mit:
interface FastEthernet0/1
description Port zum DHCP Server
ip dhcp snooping trust

zuzuweisen.
Sind mehrere Switchhops notwendig zum DHCP Server muss auf allen diesen Switch Uplinks dorthin "ip dhcp snooping trust" konfiguriert sein !


Zentraler Netzwerk Zeitserver (NTP) mit USB oder Bluetooth GPS

Die korrekte Uhrzeit ist in heutigen Netzwerken speziell Windows Umgebungen mit AD Domain Login und Kerberos Authentisierung essentiell wichtig.
Für einen kleinen preiswerten NTP Time Server im Netz, der unabhängig vom Internet ist, kann man recht einfach eine preiswerte Standard_GPS_Maus oder einen GPS_Stick mit USB oder auch Bluetooth an den RasPi anschliessen um die Atomuhren der GPS Satelliten zu nutzen mit ihrer sehr genauen Zeit.
Auch der direkte Anschluss eines DCF-77_USB Empfängers (Amtliche Zeit der PTB) ist problemlos möglich.
Bei Ausfall von Internet Zeitservern ist man so autark.
Bei einer USB GPS Maus ist nichts weiter erforderlich, bei Bluetooth installiert man schnell den Bluetooth Stack mit:
apt-get install bluetooth bluez-utils bluez-compat blueman
Damit wird dann jeder handelsübliche Bluetooth_USB_Microstick supportet. (Bevorzugt Class 1 oder 2 und V.4.0)
Steckt der Bluetooth Stick oder die USB GPS Maus hilft wieder ein lsusb :
root@raspberrypi:/home/pi# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

um zu checken das der Adapter richtig erkannt wurde. Direkte USB GPS Mäuse oder Sticks zeigen in der Regel den Prolific Chipsatz hier wie oben bei der seriellen Cisco Konsole mit dem USB-Seriell RS232 Adapter.
Ein hcitool scan sollte nun alle BT Geräte in Reichweite anzeigen.
root@raspberrypi:/home/pi# hcitool scan
Scanning ...
00:6A:4B:22:1D:EB BT GPS


Wer es jetzt ganz einfach haben will geht auf die Windows Oberfläche lokal oder per VNC und startet den "Bluetooth Manager" und mappt sein Bluetooth Gerät auf eine serielle Verbindung. Direkte USB Mäuse werden automatisch erkannt.

Über die Konsole sind es 2 Kommandos:
bluez-simple-agent hci0 00:6A:4B:22:1D:EB
--> Verbindet die BT Maus, PIN:0000
rfcomm bind /dev/rfcomm0 00:6A:4B:22:1D:EB
--> Weist der Maus eine Schnittstelle zu
Damit ist die Verbindung dann erfolgt !
Das Kommando cat /dev/rfcomm0 (Bluetooth) oder cat /dev/ttyUSB0 (direct USB) zeigt nun sofort eingehende NMEA Daten der GPS Maus oder des GPS Moduls an.
Sollten hier "Hieroglyphen" kommen läuft das Modul im Hersteller Binary Mode und muss mit gpsctl -n /dev/ttyUSB0 in den NMEA Mode geschaltet werden. ( gpsctl -b /dev/ttyUSB0 schaltet wieder zurück in Binary)

Ist das erfolgreich, kann man nun mit
apt-get install gpsd gpsd-clients
die GPS Software installieren...
und mit gpsd -n /dev/rfcomm0 (Bluetooth) bzw. bei USB GPS mit gpsd -n /dev/ttyUSB0 den GPS Empfang starten.
Das Kommando cgps -s zeigt dann die Live GPS Daten in Tabellenform an.
Nackte NMEA vom GPS sieht man mit gpscat /dev/ttyUSB0 (USB GPS)
Wer es grafisch haben möchte, der startet xgps auf der grafischen Windows Oberfläche. (Screenshot oben)

Der gpsd Daemon hat bequemerweise eine geräteinterne Netzwerk Schnittstelle für den NTP Server an Bord des Raspberry. Um diese zu aktivieren editiert man die Datei /etc/ntp.conf und fügt die folgenden Zeilen hinzu:
# GPS Uhrzeit mit gpsd setzen 
server 127.127.28.0  
fudge  127.127.28.0 time1 0.135 refid GPS stratum 1 
server 127.127.28.1 prefer 
fudge  127.127.28.1 refid PPS 
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 
Der Raspberry nutzt in seiner aktuellen Rasbian Distro NTP Version 4.2.6p5. (Wird mit ntpd -v angezeigt)
Wer Versionen älter ntp-4.2.5p138 benutzt z.B. mit älteren Debian oder Ubuntu Versionen muss die folgenden Zeilen einsetzen:
# GPS Uhrzeit mit gpsd setzen 
server 127.127.28.0 minpoll 4 maxpoll 4 
fudge  127.127.28.0 time1 0.135 refid GPS stratum 1 
server 127.127.28.1 minpoll 4 maxpoll 4 prefer 
fudge  127.127.28.1 refid PPS 
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 
Die letzte Konfig Zeile ist um den Zugriff auf den RasPi NTP Server im eigenen Netz für alle Endgeräte in diesem Netz freizugeben. (Beispiel IP Netz hier 192.168.1.0)
Läuft alles fehlerfrei sollte man mit dpkg-reconfigure gpsd den gpsd entsprechend auf seine Schnittstelle und Parameter anpassen, das man ihn nicht händisch starten muss, sondern er so fertig gleich beim Hochfahrent des RasPis korrekt startet.

Mit /etc/init.d/ntp restart wird nun noch der NTP Server neu gestartet um die o.a. Konfig zu aktivieren und ein ntpq -p zeigt dann den aktiven Server an.
     remote           refid      st t when poll reach   delay   offset  jitter 
============================================================================== 
*SHM(0)          .GPS.            0 l    3   16  377    0.000  42.267   3.496 
 SHM(1)          .PPS.            0 l    -   16    0    0.000    0.000   0.000 
+ntps1-1.cs.tu-b .PTB.            1 u   37   64  377   49.740    2.626  24.683 
+ntp3.rrze.uni-e .PPS.            1 u   43   64  377   77.054   -8.083  20.708 
Mit der "time1" Variable kann man den Offsett finetunen das er nahezu auf 0 kommt. Am besten startet man mit dem Wert 0.000 misst den Offset und setzt ihn dann mit den entsprechenden +- Werten. Hier ist etwas Probieren angesagt.
Die Zeichenerklärung bei "ntpq -p":
  • * Die Quelle mit der der Zeitserver aktuell syncronisiert ist.
  • # Quelle ausgewählt aber Distance zu groß
  • + Aktive Quelle die in der Auswahl ist.
  • - Quelle mit schlechter Qualtität
  • leer Quelle nicht aktiv

Ein tolles Addon des gpsd Servers ist eine fertige PHP Webseite die man lokal auf dem RasPi unter /usr/share/doc/gpsd-clients/examples/ findet.
Dort ist eine Datei mit dem Namen gpsd.php.gz die man mit gunzip gpsd.php.gz entpackt und dann mit cp gpsd.php /var/www ins Dokumentenverzeichnis des Webservers kopiert. Voraussetzung ist natürlich man hat auf dem Raspberry den Apache2 Webserver installiert und das PHP5 Package wie oben beschrieben.
Ruft man nun über einen Browser diese Webseite auf mit http://<ip_raspi>/gpsd.php bekommt man den aktuellen GPS Satellitenstatus als Webseite:
494ee2e60b44124840e1ad5155bd42a9 - Klicke auf das Bild, um es zu vergrößern
Setzt man in der .php Datei noch den Parameter autorefresh aktualisiert sich diese Webseite automatisch. Zusätzlich kann man auch über den Maps Parameter eine Google Map des Standort einblenden lassen.

Damit ist dann ein Internet unabhängiger, GPS basierter NTP Timeserver aktiv, der von jedem Endgerät mit jedem beliebigen Betriebssystem im Netzwerk angesprochen werden kann um sekundengenau und unabhängig die Uhrzeit abzugleichen.
In Windows Domänen Netzen ist dies z.B. für die Kerberos Authentisierung zwingende Voraussetzung.


Der Raspberry Server spricht Cisco CDP

Das Cisco Discovery Protokoll wird bei Cisco Komponenten global genutzt um Geräte (Router, Switches etc.) untereinander mit ihren Features bekannt zu machen. Es ist sehr hilfreich bei der Verkabelung von Netzen, denn ein show cdp neig auf dem Cisco CLI zeigt die Komponenten und die Ports mit denen sie untereinander verbunden sind. Viele andere Hersteller im LAN Bereich supporten ebenfalls Cisco CDP wie HP, Brocade, Extreme, Mikrotik usw.
Da sollte ein Rasberry Pi natürlich nicht fehlen ! Es gibt ein fertiges Package das man mit apt-get install cdpr installieren kann.
Wermutstropfen: Leider steht das "r" für Receive und dieses Tool kann nur empfangen aber nicht senden. Es schadet aber nicht es parallel zu installieren da es sehr genau ( -vv Schalter) den Inhalt der CDP Pakete anzeigt die im 60 Sekunden Intervall kommen.
Natürlich kann man CDP Pakete auch senden mit dem RasPi:
Zum CDP Senden nutzt man die CDP-Tools die allerdings nicht Teil der Rasbian Distribution sind, deshalb übersetzt man es wieder schnell selber. Oben haben wir ja schon gesehen wie das zu machen ist....
apt-get install libnet1-dev libpcap-dev installiert dafür wieder die notwendigen Komponenten.
Dann lädt man das Quell Paket mit wget http://gpl.internetconnection.net/files/cdp-tools.tar.gz herunter und entpackt es mit
tar xvzf cdp-tools.tar
Jetzt wechselt man mit "cd cdp-tools" in das damit erzeugte Verzeichnis und führt ein make aus.
Ist die Übersetzung fehlerfrei durchgelaufen sieht mal mit ls -l jetzt 3 Dateien cdp-send, cdp-listen und cdp-routmgr im Verzeichnis die man mit cp <datei_name> /usr/local/sbin/ ins lokale Programmverzeichnis kopiert.
Jetzt steht einem ersten CDP Test nichts mehr im Wege !
Ein einfacher Aufruf von cdp-send startet CDP und ein Check mit dem o.a. Cisco Kommando:
cat3550-2#sh cdp nei 
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge 
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone 
 
Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID 
raspberry         Gig 0/2           143            H       armv6l    eth1 
cat2960          Gig 0/1           130           S I      WS-C2960- Gig 0/2 
Zeigt den angeschlossenen Server und über welchen Port er gehört wurde. Normal sendet cdp-send den Hostnamen, den man aber mit dem Parameter -n individuell einstellen kann. Ebenso kann man die Netzwerk Schnittstelle mitgeben wer nicht auf allen Interfaces CDP Infos raussenden möchte. In öffentlichen Netzen sollte man das aus Sicherheitsgründen niemals machen !!
Ein cdp-send eth0 & schiebt den Aufruf in den Hintergrund und der RasPi sendet so zyklisch CDP Frames an seinem Port.
Wer es permanent haben will bringt dieses Kommando in ein Autostart Skript so das CDP auch ein Booten überlebt.


Serverdienste mit Bonjour (mDNS) routen u. automatisch bekannt machen im Netz

Mit Bonjour (auch als mDNS bekannt) kann man einige der o.a. Dienste automatisch im lokalen Netzwerk bekannt machen. Das erspart einem dann das oft mühsame Abtippen der einzelnen IP Adresse, bzw. sofern der Raspi eine DHCP Adresse hat muss man diese nicht unbedingt wissen.
Bonjour basiert auf Multicast und läuft über die Multicast-Adressen 224.0.0.251 (bei IPv4) und FF02::FB (bei IPv6), jeweils über den UDP- Port 5353.
Diese Multicast Adressen sind aber sogenannte Local Multicast Gruppen dessen TTL Feld im IP Paket fest auf 1 gesetzt ist und Multicast fähige Router es damit nicht routen können mir PIM dense oder PIM sparse.
Man braucht also einen Proxy um mDNS / Bonjour in Subnetze routen zu können.

Wieder startet man den Installer nach dem bekannten apt-get update und apt-get upgrade um die erforderlichen Komponenten zu installieren. Mit
apt-get install libnss-mdns avahi-utils
hat man dann alles an Bord.
Ein avahi-browse -at zeigt dann schon ggf. vorhandene Bonjour Dienste im Netzwerk an.
Möchte man nun selber vom RasPi Dienste anbieten fügt man lediglich diese Dientse im Verzeichnis /etc/avahi/services mit dem Texteditor nano hinzu. Die Dateien müssen als Datei Suffix immer .service haben und werden wie auch oben z.B. mit nano apache.service erzeugt.
Die folgenden Beispiele können mit Cut and Paste übernommen werden.(Ggf. auf die eigenen Belange editieren)
Diese Datei apache.service macht den Webserver des RasPi bekannt:
<?xml version="1.0" standalone='no'?><!--*-nxml-*--> 
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> 
<service-group> 
<name replace-wildcards="yes">%h HTTP</name> 
<service> 
<type>_http._tcp</type> 
<port>80</port> 
</service> 
</service-group> 
Danach kann man z.B. in Safari sofern Bonjour aktiv ist den Webserver direkt mit einem Mausklick erreichen.
Der Raspberry Pi kann so auch Webseiten von anderen Komponenten im Netzwerk bekannt machen.
Dazu trägt man einfach in die Datei hosts unter etc/avahi die IP Adresse ein und einen Namen. Z.B. um seinen WLAN Accesspoint zu managen dann 192.168.1.200 wlanap.local
Dann erzeugt man wieder unter /etc/avahi/services eine Datei wlanap.service mit folgendem Inhalt:
<?xml version="1.0" standalone='no'?> 
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> 
<service-group> 
<name>WLAN AP</name> 
<service> 
<type>_http.\_tcp</type> 
<host-name>wlanap.local</host-name> 
<port>80</port> 
</service> 
</service-group> 
Damit kann man nun im Browser ganz einfach wlanap eingeben und landet auf der Konfig Webseite seines WLAN Accesspoints.
Die folgende Datei propagiert den SSH Server:
<?xml version="1.0" standalone='no'?><!--*-nxml-*--> 
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> 
<service-group> 
<name replace-wildcards="yes">%h SSH</name> 
<service> 
<type>_ssh._tcp</type> 
<port>22</port> 
</service> 
</service-group> 
Wer eine SAMBA Freigabe (Windows File Sharing) auf dem Raspberry betreibt:
<?xml version="1.0" standalone='no'?><!--*-nxml-*--> 
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> 
<service-group> 
<name replace-wildcards="yes">%h</name> 
<service> 
<type>_smb._tcp</type> 
<port>139</port> 
</service> 
<service> 
<type>_device-info._tcp</type> 
<port>0</port> 
<txt-record>model=Xserve</txt-record> 
</service> 
</service-group> 
Spannend für Apple Mac Benutzer ist hier der Part
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>

Dieser Eintrag bestimmt welches Symbol für das File Share im Finder gezeigt wird. Ersetzt man es z.B. mit "Macmini" wird ein Mac mini Symbol angezeigt. Nähere Infos dazu auch hier.
Und als letztes Beispiel die Bekanntgabe des VNC Servers im Netz:
01.
<?xml version="1.0" standalone='no'?><!--*-nxml-*--> 
02.
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> 
03.
<service-group> 
04.
<name replace-wildcards="yes">%h VNC</name> 
05.
<service> 
06.
<type>_rfb._tcp</type> 
07.
<port>5901</port> 
08.
</service> 
09.
</service-group> 
Mit dem Bonjour Daemon ist es auch sehr einfach einen Bonjour Proxy im Netzwerk zu realiseren um Bonjour damit in andere IP Segmente zu routen.
Generell ist das nicht möglich mit Multicast Routern, da Bonjour eine sog. Link local Multicast Gruppe verwendet (224.0.0.251 bzw. IPv6 FF02::FB). Gem. Standard bleiben diese Gruppen immer in einer lokalen Layer 2 Broadcast Domain.
Die genaue Einrichtung eines solchen Proxys sprengt den Rahmen des Tutorial und ist detailiert in einem ct' Artikel beschrieben:
https://www.heise.de/artikel-archiv/ct/2013/15/164_Verordnetes-Ansagen


DVB TV Fernsehen im Netzwerk streamen

Eine interessante Anwendung ist auch das Streamen von DVB Fernsehen im lokalen Netzwerk mit einem einfachen und preiswerten USB DVB Stick.
Hierzu gibt es die bekannten fertigen Raspberry Distributionen mit XBMC die einen kompletten Plug and Play Media Server realisieren. Dies soll hier aber nicht Grundlage sein, sondern nur das reine, resourcenschonende DVB Streaming auf Basis der Tvheadend Lösung.
Der RasPi bleibt auch so noch offen für andere Anwendungen.
Wie immer ist die Installation mit wenigen Schritten erledigt und dem Fernsehgenuss mit Laptop, iPhone/iPad oder Android bequem von der Couch per WLAN steht nichts mehr im Wege.
Los gehst indem man einfach erstmal den USB DVB Stick in den RasPi steckt und mit lsusb prüft ob er erkannt wird:
root@raspi:/etc/apt# lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.

Bus 001 Device 005: ID 2040:9301 Hauppauge WinTV NOVA-T USB2 (warm)


Die meisten der aktuellen Sticks (Beispiel hier Haupauge Stick) werden automatisch vom Kernel erkannt. Mit dmesg sieht man dann sowas:
( 12.785455) usb 1-1.3: dvb_usb_v2: found a 'Dexatek DK DVB-T Dongle' in warm state
( 12.811514) usbcore: registered new interface driver dvb_usb_rtl28xxu
( 12.857245) usb 1-1.3: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer

Oftmals benötigen sie auch noch eine Firmwaredatei. Ist das der Fall, prüft man das wieder mit dem Kommando dmesg und sucht nach Meldungen wie:
( 7.298837) dvb-usb: found a 'Hauppauge Nova-T Stick' in cold state, will try to load a firmware
( 8.035155) dvb-usb: did not find the firmware file. (dvb-usb-nova-t-usb2-02.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)

Die Firmware Dateien sind im Internet frei erhältlich z.B. bei http://linuxtv.org. Oder wie im Falle der bekannten Hauppauge Hardware hier auf den Seiten der Hersteller. Google ist wie immer erste Anlaufstelle. Die entsprechende xyz.fw Firmware Datei kopiert man einfach ins Verzeichnis /lib/firmware.
Nach einem Reboot zeigt der Aufruf von dmesg dann folgendes und der Stick wurde erfolgreich aktiviert:
( 6.640643) dvb-usb: found a 'Hauppauge WinTV-NOVA-T usb2' in cold state, will try to load a firmware
( 6.843069) dvb-usb: downloading firmware from file 'dvb-usb-nova-t-usb2-02.fw'
( 9.409970) dvb-usb: found a 'Hauppauge WinTV-NOVA-T usb2' in warm state.
( 9.439662) dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
( 9.488241) DVB: registering new adapter (Hauppauge WinTV-NOVA-T usb2)

Oder hier bei einem Kernel embedded Treiber ohne Firmware:
[ 5.792242] usb 1-1.3: dvb_usb_v2: found a 'Trekstor DVB-T Stick Terres 2.0' in warm state
[ 5.813616] usbcore: registered new interface driver dvb_usb_rtl28xxu
[ 5.885168] usb 1-1.3: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 5.911852] DVB: registering new adapter (Trekstor DVB-T Stick Terres 2.0)
[ 5.970630] usb 1-1.3: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[ 6.033848] i2c i2c-0: e4000: Elonics E4000 successfully identified
[ 6.178963] usb 1-1.3: dvb_usb_v2: 'Trekstor DVB-T Stick Terres 2.0' successfully initialized and connected


Nun kann man mit der eigentlichen Installation der Tvheadend Software weitermachen.
Die Pakete befinden sich leider nicht im Standard Rasbian Repository und müssen von der Entwickler Seite geladen werden, was aber RasPi üblich schnell erledigt ist und den Vorteil hat das man immer up to date ist.
Man editiert mit dem nano die Datei /etc/apt/sources.list und fügt den Eintrag:
deb http://apt.tvheadend.org/stable wheezy main 
hinzu.
Da die Sources mit einem Key gesichert sind muss man diesen noch mit
curl http://apt.tvheadend.org/repo.gpg.key | sudo apt-key add - 
importieren
Ein apt-get update integriert diese Source und ein apt-get install tvheadend installiert dann final die Software auf dem RasPi und startet sie korrekt.
Keine Angst Tvheadend benötigt viele Libraries, die lange Install Liste ist völlig normal.

Ist die Installation abgeschlossen startet man einen Webbrowser entweder lokal oder im Netz mit dem URL http://<ip_adresse_raspi:9981>
Hier meldet sich dann schon die interne Webseite zum Konfigurieren von Tvheadend:
3a0250d4e1876a8628fe037862f4c6b5 - Klicke auf das Bild, um es zu vergrößern
Als allererstes legt man einen User an mit User: "test" Passwort: "test" und lässt ihn fürs Streamen und Videorekorder und Webinterface zu (Haken setzen) und speichert mit Klick auf "Save". Wer möchte kann den Zugriff bei der IP auch auf sein Heimnetz limitieren.
In den Reitern wählt man nun unter "Configuration -> DVB Inputs -> TV Adapters" seinen USB Stick aus und setzt den Haken bei "Enabled".
Links klickt man jetzt "Add DVB network by location" und wählt seinen Empfangsbereich aus. Bei Satelliten dann z.B. "Astra-19,2E" und bei DVB-T der lokale Empfangsbereich nach Bundesland.
Mit dem anschliessenden Klick auf "Save" fängt der Scanner an den TV Bereich abzusuchen nach empfangbaren Sendern. Erreicht der Zähler "Muxes awaiting initial scan" den Wert 0 ist der Scan fertig !
Wer Tvheadend bei der Arbeit zusehen möchte klickt die Doppelpfeile in der linken unteren Ecke.

WICHTIG: Daraufhin klickt man "Map DVB Services to Channels" und der Scanner sortiert alle empfangbaren Kanäle. Unter "Services" kann man nun das Ergebnis kontrollieren und feinjustieren.
Über den Browser sind nun die Fernsehprogramme gleich fertig zum Ansehen sofern man VLC installiert hat und das VLC Plugin für den Browser ebenfalls.
Im Apple App Store und für Android gibt es entspreche Apps um Tvheadend zu steuern und den Fernsehstream auch auf mobilen Geräten anzusehen.
Der Klassiker VLC ist für alle erdenklichen Betriebssystem Plattformen und Smartphones erhältlich und spielt die Streams im Netz problemlos ab indem man einfach mit http://<ip_adresse>:9981/playlist die Playlist URL in VLC eingibt.
Für iPad und iPhone empfiehlt sich die App Blackbox.
Damit steht dem gemütlichen Fernsehvergnügen mit dem Tablet oder Laptop auf der Couch mit dem RasPi als Streaming Server nichts mehr im Wege !
Das Tvheadend natürlich auch gleichzeitig als digitaler Videorekorder funktioniert sei hier nur nebenbei erwähnt.


Raspberry Pi Server als WebCAM

Natürlich kann der Raspberry Server auch nebenbei noch den Serverraum mit einer Webcam überwachen.
Das kann mit Einzelbildern oder auch als Video Stream passieren. Die folgenden Konfigurationsschritte zeigen die Einrichtung am Beispiel einer preiswerten Allerwelts Webcam wie der Logitech_C170

Nachdem die Logitech Kamera an den Raspi USB Port angeschlossen ist checkt man mit
root@raspberrypi:# lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 009: ID 046d:082b Logitech, Inc. <---
Bus 001 Device 008: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter

ob sie korrekt erkannt wurde.
Nun lädt man 2 Pakete nach:
apt-get install fswebcam motion
Ist das geschehen prüft man mit dem Kommando:
fswebcam -r 640x480 -p YUYV -v /home/pi/testbild.jpg
ob die Kamera fehlerfrei ein Bild aufnimmt.
Ggf. die Auflösung mit "800x600" oder "1280x720" variieren bei z.B. Logitech C270 u.a. um eine höhere Auflösung zu erzielen.
Das Bild kann man, sofern kein Monitor und Tastatur am Raspi ist, mit WinSCP aus dem /home/pi Verzeichnis kopieren und extern auf dem PC betrachten. scp pi@<ip_adresse_Pi>:testbild.jpg . erledigt das unter Linux / OS-X.
Das Tool "fswebcam" bietet noch weitreichendere Möglichkeiten. Ein Blick in die man Page kann also nicht schaden. Details sprengen aber den Rahmen dieses Tutorials.

Liefert die Kamera ein Bild geht es weiter mit dem Live Streaming. Dazu muss man die Konfiguration von "motion" etwas anpassen.
1.) Als erstes editiert man die Datei /etc/default/motion und passt den Parameter:
start_motion_daemon=yes

an.
2.) Im nächsten Schritt erzeugt man ein Datenverzeichnis für motion:
mkdir /srv/motion
chown motion.motion /srv/motion

3.) Im dritten Schritt passt man die Datei /etc/motion/motion.conf an die Logitech C170 an und die Optionen von motion:
daemon on
v4l2_palette 6
width 640
height 480
framerate 5
quality 75
output_normal off
ffmpeg_cap_new off
text_right %d-%m-%Y\n%T
target_dir /srv/motion
webcam_quality 75
webcam_maxrate 15
webcam_localhost off

Danach ist der motion Prozess neu zu starten um die Settings zu aktivieren mit /etc/init.d/motion restart

Öffnet man nun den Webbrowser Firefox etc. und verbindet sich per http://<Raspi_IP>:8081 mit dem Raspberry sieht man den Live Stream der Kamera im Browser.
Der Parameter output_normal off kann auch auf "ON" gesetzt werden !
motion speichert dann bei Erkennung von Bewegung im Bild unter /srv/motion Bilder ab die die Bewegung im Kamerabereich sichern. Quasi eine "Einbrecherfunktion".
Achtung: Bei einem Raspberry mit SD Flash und der Aufnahme von Bäumen im Wind muss man hier entsprechend vorsichtig sein mit dem Ändern was den verfügbaren Speicherplatz angeht !
Wie man motion in eine Webseite einbindet (Cambozola, Apache Proxy etc.) und weitere Optionen findet man unten in der Linksammlung.

Wird fortgeführt...! Geplant:
  • TFTP Server für Firmware Image Updates von Netzkomponenten. (ist per Default im hostapd Accesspoint gem. der Konfig oben enthalten !)
  • und.... Vorschläge per PM ?


Weiterführende Links

Gute Allgemeinübersicht und Projekte zum Raspberry Pi:
http://jankarres.de/uebersicht-aller-raspberry-pi-artikel/
http://raspberrycenter.de/handbuch

Fragen zum Tutorial und Installation:
http://www.administrator.de/contentid/197687

Integrierter Gehäuse Touchscreen für Raspberry Pi:
http://www.watterott.com/de/RPi-Display

Microsoft Active Directory Integration:
http://www.administrator.de/contentid/85403
Mit Samba bzw. Samba Shares:
https://raymii.org/s/tutorials/SAMBA_Share_with_Active_Directory_Login_o ...

Windows Fileserver (Samba) mit Raspberry Pi:
http://jankarres.de/2013/11/raspberry-pi-samba-server-installieren/

Windows RDP Thinclient mit Raspberry Pi:
https://www.youtube.com/watch?v=rUhSR2xPmuw&index=1&list=PLHX2AZ ...
Anleitung als PDF dazu:
https://www.dropbox.com/s/4gnfnl09vwjwgva/Raspberry%20Pi%20as%20Thinclie ...
Mehrere RDP Sessions auf Windows 7:
https://blog.tim-bormann.de/windows-7-remotedesktopverbindung-home-premi ...

PXE Bootserver einrichten:
http://www.howtogeek.com/162070/it-geek-how-to-network-boot-pxe-the-win ...

Komfortable Ticketverwaltung für Hotspot Gastnetz Lösung:
http://www.administrator.de/contentid/193763

FreeRadius Installation und AD Integration:
http://www.administrator.de/contentid/142241
http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integratio ...
http://deployingradius.com/documents/configuration/active_directory.htm ...
und auch
http://www.administrator.de/contentid/196140
http://www.administrator.de/contentid/85403

VNC Server Installation:
http://elinux.org/RPi_VNC_Server

FritzBox Daten per Shellscript auslesen:
https://www.administrator.de/content/detail.php?id=214598&nid=213475

WhatsApp User mit dem Raspberry Pi verfolgen:
https://gitlab.maikel.pro/maikeldus/WhatsSpy-Public/wikis/getting-starte ...

RaspberryPi als Standalone Netzwerk Sniffer
http://williamknowles.co.uk/?p=16

Einrichtung von Nagios und erste Schritte:
http://www.administrator.de/wissen/ubuntu-14-04-lts-server-nagios-insta ...

Raspberry Pi als OpenVPN Server:
http://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installiere ...

Raspberry Pi als PPTP VPN Server:
http://blog.rlandolt.com/2013/01/raspberry-pi-als-vpn-server/

Eigener Cloud Server mit Owncloud auf dem Raspberry Pi:
http://blog.ulibauer.de/?p=239

Unix Netzwerk Tool iftop
http://www.administrator.de/contentid/223345
(Muss a.d. RasPi mit "apt-get install iftop" installiert werden !)

Fertige RasPi Cloudserver Ionas, ArkOS mit grafischer Webadministration:
https://wiki.arkos.io/wiki/Getting_Started
https://www.ionas-server.com

Apple Time Machine Backup mit Raspberry Pi
http://www.mclustig.de/post/27475964315
http://hackintosh-forum.de/index.php?page=Thread&threadID=6432

iSCSI für Raspberry Pi aktivieren
http://elinux.org/RPi_iSCSI_Initiator

Raspberry Pi als WebCAM
http://derkev.in/262/raspberry-pi-fswebcam-ncftp-webcamserver/
http://www.laub-home.de/wiki/Raspberry_Pi_als_Webcam_Server

Wake on LAN (WoL) Server mit Raspberry Pi
http://www.jeremyblum.com/2013/07/14/rpi-wol-server/

VPN Server für L2TP VPN Clients:
http://www.jacco2.dds.nl/networking/freeswan-l2tp.html

OSPF, RIP, BGP Routing Suite Quagga:
http://www.nongnu.org/quagga/index.html

NTP und GPS Integration:
http://blog.retep.org/2012/06/18/getting-gps-to-work-on-a-raspberry-pi/

Raspberry Infos bei Netzmafia (DCF 77 etc.):
http://www.netzmafia.de/skripten/hardware/RasPi/

Flugbewegungen grafisch monitoren mit dem RasPi:
http://www.satsignal.eu/raspberry-pi/dump1090.html
100 Kommentare
Mitglied: psannz
28.09.2012 um 16:55 Uhr
Der Daumen ist oben. Aber sowas von

Eventuell vielleicht noch http://www.heise.de/hardware-hacks/meldung/Raspberry-Update-bringt-Turb ... einbauen, damit auch die volle Leistung genutzt werden kann.
Bitte warten ..
Mitglied: Lochkartenstanzer
28.09.2012 um 17:20 Uhr
*schnüff* *neidisch sei*

Ich warte immer noch auf meinen.

lks
Bitte warten ..
Mitglied: 16568
28.09.2012 um 20:24 Uhr
Hr hr hr, ich habe mir das hier geholt, weil ich dann doch ein wenig mehr Leistung brauche...
Damit laufen dann auch andere Applikationen etwas smoother, und auch der Versand war nach 4 Werktagen wesentlich besser als beim Pi (der hat bei mir 2 Monate gebraucht, geht ja mal gar nicht xD )


Lonesome Walker
Bitte warten ..
Mitglied: Lochkartenstanzer
28.09.2012 um 21:40 Uhr
Hai LW,

Wieviel kostet denn der hackberry, bis er betriebsberiot ist (netzteil & gehäuse, evtl. Zubehör) und ist gibt es Lieferanten/distributoren in DE oder EU?

Ich habe beim RaspBerry halt den Fehler gemacht, beim falschen Grossisten zu bestellen.

lks
Bitte warten ..
Mitglied: 16568
30.09.2012 um 01:17 Uhr
Zitat von Lochkartenstanzer:
Wieviel kostet denn der hackberry, bis er betriebsberiot ist (netzteil & gehäuse, evtl. Zubehör) und ist gibt es
Lieferanten/distributoren in DE oder EU?

Hm, also ich habe den DIREKT in China bestellt, und der kam eigentlich ZIEMLICH flott.
Das Krimskrams, was man so noch braucht, war bei knapp 60 Euro (inkl. SD-Card).

Ich habe beim RaspBerry halt den Fehler gemacht, beim falschen Grossisten zu bestellen.

Ich dann wahrscheinlich auch.
Ich will ja nix gegen den Pi sagen, er is ja auch eine andere Liga als as Hackboard, und die Community ist auch WESENTLICH größer.
Für mich als eingefleischten Debianer hingegen ist Hardware-zum-Laufen-bringen jedoch nicht das Problem, da da ja schon Android drauf lief

Von der Performace her einfach klasse


Grüße

Lonesome Walker
PS: den anderen Mini-Androiden habe ich auch gleichzeitig geordert, aber auf den warte ich noch heute...?
Bitte warten ..
Mitglied: aqui
07.10.2012, aktualisiert um 17:49 Uhr
.@Lochkarte...
Definitiv bei Farnell ordern, da kommt der Pi in 1 bis 2 Wochen !
RS-Components hat Lieferzeiten von 10 bis 15 Wochen Wochen und oft noch mehr, das ist untragbar !
Nächste Erweiterung oben wird ein TFTP Server sein und Bandbreitenüberwachung mit MRTG...
Das Bord von LW sieht auch spannend aus ist nur "out of stock" derzeit
Bitte warten ..
Mitglied: Lochkartenstanzer
07.10.2012 um 18:55 Uhr
Zitat von aqui:
.@Lochkarte...
Definitiv bei Farnell ordern, da kommt der Pi in 1 bis 2 Wochen !
RS-Components hat Lieferzeiten von 10 bis 15 Wochen Wochen und oft noch mehr, das ist untragbar !

Das weiß ich inzwischen auch.

Mal sehen, wenn die noch lange brauchen, storniere ich ggf meien Bestellung.

lks
Bitte warten ..
Mitglied: Sonnenscheinhasser
08.10.2012, aktualisiert um 21:40 Uhr
Von mir auch +1!
Meinen Pi hatte ich im Juni bestellt und am 04.10. nach 15 Wochen Lieferzeit von RS Components bekommen.
Morgens kam eine Mail, dass 'Your Raspberry Pi order has been despatched today' und als ich abends nach hause kam lag das Päckchen schon da

Hach, der Basteltrieb bricht aus
Bitte warten ..
Mitglied: Dobby
15.10.2012 um 19:10 Uhr
Hallo aqui,

klasse Anleitung, hoffentlich findest Du auch noch die Zeit für die Fortsetzung(en), wäre auf jeden Fall
toll.

Vielleicht noch interessant zu diesem Artikel Paspberry Pi erhält mehr Speicher.

Gruß
Dobby
Bitte warten ..
Mitglied: aqui
15.10.2012 um 21:23 Uhr
Ja sicher, in losen Abschnitten wird das hier fortgeführt. Feedback der Leser und Forumsteilnehmer per PM WAS noch interessant wäre ist auch willkommen. Es lohnt also immer mal beim Thread vorbeizuschauen
Das mit dem Speicher ist eine klasse Neuheit, denn mit 256 MB muss man schon arg knappsen.
Alles wird gut...
Bitte warten ..
Mitglied: goliat
29.10.2012 um 14:15 Uhr
Hallo Zusammen,

finde ich wirklich doll was Ihr da alles zusammenbaut. Aber wäre es nicht einfacher wenn Ihr zum beispiel einfach Spiceworks benutzt. Ist alles dabei kann mit ein paar klicks auf server oder WST Funktion umgestellt werden hat ein GUI dabei und mann wird per mail oder SMS über den zustand seines Nwtzwerks Informiert. nur mal so

Übrigens mann hat ein Super Forum und Support Comunity und all for free

www.spiceworks.com


grüsse aus Emmenbrücke - CH

goliat
Bitte warten ..
Mitglied: aqui
29.10.2012, aktualisiert um 16:40 Uhr
Einfacher schon wenn man nur Klicki Bunti installieren will und NUR Monitoren will. Das ist aber genau nicht das Ziel dieses Tutorials, denn SW rennt wieder nur auf einem großen Boliden der OS Lizenzkosten erfordert und versuche mal eine 802.1x WLAN oder LAN User Authentisierung damit zu machen oder einen BGP Router damit zu simulieren...da wirst du kläglich scheitern. Vom unbezahlbaren Lern- und Weiterbildungseffekt was das o.a. Projekt mit sich bringt mal ganz abgesehen.
Gut gemeint, aber du vergleichst hier Äpfel mit Birnen deshalb hinkt dein Vergleich !
Bitte warten ..
Mitglied: goliat
29.10.2012 um 16:54 Uhr
Die software läuft auf einem mini PC von www.pcengines.ch braucht keine Lizenz nur ein "altes Windows" und ich weiss immer was meine Server, PCs, Switches "alles Cisco", Printers sogar Tonerfüllstand für bestellungen, Vlans, Subnetze machen oder eben nicht mehr tun.
Bitte warten ..
Mitglied: 16568
30.10.2012 um 19:19 Uhr
Zitat von aqui:
Einfacher schon wenn man nur Klicki Bunti installieren will und NUR Monitoren will. Das ist aber genau nicht das Ziel dieses
Tutorials, denn SW rennt wieder nur auf einem großen Boliden der OS Lizenzkosten erfordert und versuche mal eine 802.1x WLAN
oder LAN User Authentisierung damit zu machen oder einen BGP Router damit zu simulieren...da wirst du kläglich scheitern. Vom
unbezahlbaren Lern- und Weiterbildungseffekt was das o.a. Projekt mit sich bringt mal ganz abgesehen.

aqui, aqui, leider gehst Du hier von falschen Vorraussetzungen aus, wie ich das früher auch getan habe.

Die meisten Mitglieder hier sind Hobby-Admins, vielleicht noch mit MS-Zertifizierung, aber was jetzt z.B. ein PEBKAC ist, wissen die meisten nur nach Google... (so, wieder ein paar erwischt!)

Du siehst, Firmen MÜSSEN heutzutage zwangsweise viel Geld für Lizenzen ausgeben, weil sie nicht mehr GUTE Admins, sondern vermeintlich billige Admins wollen.

Spiceworks ist zwar ein nettes Spielzeug, aber aufgrund seiner Nachhausetelefoniererei ist es bei mir im Netzwerk irgendwie nie so recht angekommen :-P


Lonesome Walker
PS: Interesse am Hackberry?
Bitte warten ..
Mitglied: aqui
30.10.2012, aktualisiert 10.11.2012
Das "nach Hause telefonieren" ist der gravierende Haken und bei verantwortungsvollen Firmen (keine Hobby) Admins deshalb ein NoGo, keine Frage. Nirgendwo auf der Welt gibt es Menschenfreunde die sowas völlig umsonst der IT Welt zur Verfügung stellen. Das ist eben der Nachteil an Spiceworks, Teamviewer und all diesen vermeintlich und tollen Tools mit eingebauter optionaler Schnüffelfunktion.... Full ACK.
Jedem halbwegs intelligenten ITler ist das ja auch ohne große Erklärungen bewusst, oder sollte es wenigstens sein !? Was man zuhause macht und dort akzeptiert steht auf einem ganz anderen Blatt Papier.
Du hast natürlich absolut Recht mit deinen Anmerkungen LW. Leider vergisst man im Eifer des Gefechts doch hin und wieder mal den Focus der Majorität der Mitglieder hier. "Administrator" ist eben halt doch arg relativ !!
Interesse am Hackberry IMMER !
Bitte warten ..
Mitglied: Dobby
25.11.2012 um 04:58 Uhr
hallöle,

@goliat
setze doch selber schnell ein HowTo, Tutorial oder eine Anleitung auf und lass den aqui das hier mal schön weiter machen, bitte.

@aqui
Für 25 € gibt es jetzt sogar eine Kamera zu diesem Raspberry PI board.
PI Kamera

Außerdem finde ich persönlich gehört auch so ein System up to date gehalten und mit einem "alten Windows"
ist das halt so eine Sache, außer einem Windows Embedded System. Und Software gibt es satt für Linux,
zudem es bestimmt auch noch stabiler bei einem 24/7/365 Dauerbetrieb.
Bitte warten ..
Mitglied: Hajo2006
29.12.2012, aktualisiert um 14:06 Uhr
Hallo,

ich habe nun auch meinen RaspberryPI hier und versuche gerade nach eurer Anleitung einen SYSLOG-Server zu basteln. Hat auch soweit alles gut geklappt, doch nun habe ich ein Problem. Ich bekomme die folgende Fehlermeldung im Browser bei der LogAnalyzer Page:

"The file is not located in the allowed directories list (By default /var/log is allowed only).

Extra Fehler Details:
The file '/var/log/syslog' is not located in one of these directories: '/var/log/'"


Also ich habe geschaut und die datei syslog befindet sich im Verzeichnis /var/log/ .

Kann mir da vielleicht jemand helfen damit ich den Loganalyzer ans laufen bekomme.

Gruß
Hajo
Bitte warten ..
Mitglied: aqui
29.12.2012, aktualisiert um 14:36 Uhr
Es kann sein das dein Webserveruser keine Leserechte hat auf die Datei.
Setz die mal mit chmod 644 syslog auf lesbar und check das nochmal !
Bitte warten ..
Mitglied: Hajo2006
29.12.2012 um 16:07 Uhr
Hi,

also chmod 644 hatte ich schon auf die Datei syslog gemacht, doch die Meldung
tauchte dann ebenfalls auf. Noch einen anderen Tip wie ich den loganalyzer
für die Grafische anzeige zum laufen bekommen kann.

Gruß
Hajo
Bitte warten ..
Mitglied: aqui
29.12.2012 um 21:22 Uhr
Setz die syslog Datei testweise mal unter "sudo su" (root) mit "chmod 664 syslog" auch schreibbar für die Group.
Wenn das nicht hilft ist da irgendwas schief gelaufen bei der Installation. Die Fehlermeldung ist ja absurd wenn die Syslog Datei /var/log/syslog wirklich vorhanden ist.
Am Besten du löschst du dann mal das komplette Verzeichnis in der Apache Document Root mit dem Syslog und installierst das Paket nochmal ganz neu.
Im Normalfalle sollte das sauber durchlaufen und wenn du keine Fehlermeldung beim Installieren über die install.php bekommst rennt das auch fehlerlos !
Bitte warten ..
Mitglied: Hajo2006
30.12.2012 um 14:05 Uhr
Hi,

ich habs nochmal deinstalliert und wie beschrieben installiert doch noch immer bekomme
ich den Fehler angezeigt. Ich werde mal die SD-Karte löschen und frisch das Raspberry
installieren.

Hoffe das ich dann nach einer sauberen installation den loganalyzer zum laufen bekomme.
Denn sonst lohnt es ja nicht auch weiter zumachen mit externen Geräten (Cisco ASA) den
zu nutzen.

Gruß
Hajo
Bitte warten ..
Mitglied: aqui
30.12.2012, aktualisiert um 15:21 Uhr
Ist schon komisch, denn das funktioniert generell fehlerlos. Interessant wäre noch zu wissen ob der PHP Installer sauber durchrennt, denn der checkt das Vorhandensein und den Zugriff auf die Syslog Datei ebenfalls.
Wenn der Installer sauber durchrennt ist ja soweit auch alles OK.
Die Browsermeldung wäre dann absurd, da die Dateien ja vorhanden sind. Im Tutorial ist es mit Firefox und Safari getestet.
Hier noch Tips damit es sauber klappt beim nächsten Mal:
  • Nach dem Flashen der SD die Default Konfig durchgehen und rebooten
  • Einloggen als User "pi" und "sudo su" ausführen um Root Rechte zum Installieren zu bekommen
  • Vor dem Aufspielen der Pakete "apt-get update" und "apt-get upgrade" ausführen
  • Pakete Apache2 und PHP5 installieren und checken
  • Loganalyzer kopieren und installieren
  • Ggf. syslog Datei mit "chmod" in den Rechten anpassen.
Damit sollte es sicher klappen.
Bitte warten ..
Mitglied: Hajo2006
31.12.2012 um 19:19 Uhr
Hi,

leider kan ich das nun erst später mal testen denn meine SD-Karte ist leider gestern ins
nirvarna gegangen. Sie wird zwar noch erkannt von Größe und partitionierung, doch sie
lässt sich nicht mehr löschen geschweige denn ein sauberes Image drauf bringen.

Doch sobald ich Ersatz habe, werde ich hier posten wie ich vorangekommen bin und ob ich dann
den Syslog incl. dem Loganalyzer zum laufen gebracht habe.

Wünsche noch ein schönes Silvester und guten Rutsch ins neue Jahr...

Gruß
Hajo
Bitte warten ..
Mitglied: Lochkartenstanzer
31.12.2012 um 19:28 Uhr
Zitat von Hajo2006:
Hi,

leider kan ich das nun erst später mal testen denn meine SD-Karte ist leider gestern ins
nirvarna gegangen. Sie wird zwar noch erkannt von Größe und partitionierung, doch sie
lässt sich nicht mehr löschen geschweige denn ein sauberes Image drauf bringen.



Das würde Deine Probleme erklären:

Wenn die kurz vorm abnibbeln war und manche zellen sich nicht mehr lesen ließen, kann das solche Probleme bereiten.

lks
Bitte warten ..
Mitglied: Hajo2006
12.01.2013 um 15:16 Uhr
Hi,

also ich habe nun da die defekte SD-Karte noch nicht getauscht wurde, eine meiner etwas
älteren 4GB SD-Karte genommen und alles frisch installiert. Doch noch immer bekomme ich
die Meldung das das syslog File nicht unter /var/log/ sein soll. Langsam bin ich am Ende
meines Wissens angekommen und frage mich woran es noch liegen könnte das er einfach nicht
den Zugriff auf die vorhandene Datei bekommt.

Denn es kamen bei der Installation vom Loganalyzer (Ver. 3.61) keine Fehlermeldungen.

Gruß
Hajo
Bitte warten ..
Mitglied: aqui
12.01.2013, aktualisiert um 22:35 Uhr
Hallo Hajo
Keine Ahnung was du da machst aber irgendwas machst du garantiert falsch, sorry ! Ich habe die Anleitung an einem aktuellen frisch installierten "Wheezy" probiert und sie funktioniert fehlerfrei !!
Hier nochmal die Schritte:
  • SD Karte geflasht und das Wheezy beim Booten customized laut obiger Anleitung
  • Als Root User (sudo su) das System mit apt-get update und apt-get upgrade aktualisiert
  • Mit apt-get install apache2 und apt-get install php5 Apache und PhP5 installiert
  • Datei etc/rsyslog.conf gem. Anleitung angepasst und mit /etc/init.d/rsyslog restart den Syslog neu gestartet
  • Getestet mit dem Kommando logger Huhu Hier bin ich ! und dann mit tail -f /var/log/syslog gecheckt ob er funktioniert und die "Huhu" Meldung im Syslog steht, was der Fall war !
  • Logananlyzer .tgz Datei mit tar xzf logana... entpackt, in /var/www/ Verzeichnis "loganalyzer" erstellt und die Dateien im Archivverzeichnis /src mit mv * /var/www/loganalyzer kopiert. Mit ls -l /var/www/loganalyzer gecheckt ob sie vollständig angekommen sind und das gleiche mit den beiden Dateien im /contrib Verzeichnis gemacht. Nochmal gecheckt ob die auch angekommen sind. Die beiden Dateien mit chmod +x configure.sh secure.sh ausführbar bemacht und ./configure.sh ausgeführt !
  • Mit Browser (getestet mit Safari und Firefox) die install.php aufgerufen und die Installation gestartet und alles nur mit "Next" abgenickt.
Step 7 zeigt das an:
53f18711e3ea05921a21e0a1d3bb8e54 - Klicke auf das Bild, um es zu vergrößern
...allso alles OK !
"Next" geklickt und dann erscheint das:
e9d4ef395d009a270fec909e437fdb9d - Klicke auf das Bild, um es zu vergrößern
Das ist aber kein Problem, denn der Datei /var/log/syslog fehlen die Group Leserechte !
OK, mit chmod 644 /var/log/syslog ist das ganz schnell gefixt
  • Dann die install.php aus dem /loganalyzer Verzeichnis mit rm gelöscht.
  • Browser gestartet und das /loganalyzer Verzeichnis aufgerufen...
Tataaa...
275fd607e6406cc6ca62a83e3caa621b - Klicke auf das Bild, um es zu vergrößern
Die "Huhu" Testmeldungen sind nicht zu übersehen !!
Er braucht beim ersten Mal ca. 10-15 Sekunden bis ein Bild des Syslogs im Browser angezeigt wird also etwas Geduld beim Warten !!

Fazit: Funktioniert fehlerfrei !! Keine Ahnung wo oder was du da falsch tippst ?!
Bitte warten ..
Mitglied: Hajo2006
13.01.2013 um 19:51 Uhr
Hi,

nun klappt es auch bei mir. Es lag einfach nicht an falschen Eingaben, sondern an einem Bug
mit der Version 3.6.1 vom LogAnalyzer. Nun hab ich die Version 3.6.2 und nun klappt es auch
mit dem Syslog im LogAnalyzer.

Danke für die Hilfe und Tips.

Gruß
Hajo
Bitte warten ..
Mitglied: aqui
14.01.2013 um 08:44 Uhr
Alles wird gut...!
Bitte warten ..
Mitglied: Neulinuxer
24.01.2013 um 14:44 Uhr
Hut ab. Das ist eine so gute Anleitung, dass ich die Hardware gleich geordert habe.

Hintergrund: Über google habe ich nach einer Lösung für mein Problem gesucht, habe dieses Forum gefunden und nach einigem Stöbern bin ich auf dieses Howto gestoßen.

In einem kleinen Unternehmen fand sich niemand sonst, der "sowas" schon mal gemacht hat, also war ich sehr schnell dazu auserkoren, dafür zu sorgen, dass das Netzwerk immer läuft. Aus Sicht von "oben" gut gelöst. Hohe Verfügbarkeit des Mitarbeiters und günstig(er als ein externer ITler)... Erlernt habe ich einen kaufmännischen Beruf, also nicht wirklich irgend etwas mit IT. Aber privat bin ich an den Entwicklungen sehr interessiert. Da ich mich nicht mehr als nötig mit kostenpflichtigen Windowsprodukten herumärgern möchte, nutze ich auf den meisten Rechnern Ubuntu. Als Umsteiger hat man da noch ziemlich viele Fragen, aber inzwischen läuft alles so wie es soll. Soweit zu mir.

Wir haben hier zwei Standorte, die über VPN verbunden sind. Insgesamt gibt es 4 Switches von HP, bei denen ich den Traffic auf den einzelnen Ports beobachten möchte. Der 2810G-24 und der 2615-8-PoE bringen diese Funktion im GUI mit. Aber es wird immer nur der Ist-Zustand angezeigt. Die beiden 1810G-24 (aufgeteilt in zwei Vlans) und 1810G-8 leider nicht.

Was ich suche, ist die Möglichkeit, den Trafficwert alle 10-15 Sekunden aufzuzeichnen und diesen dann als Verlaufsgrafik zu visualisieren.

So wie ich die Anleitung hier verstehe ist das dem Grunde nach möglich. Aber ist es auch möglich, dies für jeden einzelnen Port zu realisieren?
Bitte warten ..
Mitglied: aqui
24.01.2013 um 17:46 Uhr
Ja, natürlich und nicht nur "im Grunde nach" sondern ganz real ! Der Abschnitt oben mit MRTG (oder dessen Schwester Cacti) ist dann genau das was du suchst ! Dort kannst du dir dann traffic Statistiken für alle Ports ansehen, CPU Last, Broadcast Last, Errors usw. Eben alles was die Geräte per SNMP hergeben.
Die HP Gurken supporten auch noch sFlow.
Mit den sFlow Tools:
http://www.inmon.com/technology/sflowTools.php
Auch mit den Tools ist dann eine noch detailiertere Lösung möglich so das du auch in die Daten selber reinsehen kannst (Sampling).
4 Switches fackelt der Raspberry noch ohne Probleme mit MRTG ab aber wenns mal 40 werden, solltest du auf eine andere HW ausweichen aber das ist dir sicher selber klar...
Bitte warten ..
Mitglied: Neulinuxer
24.01.2013 um 18:29 Uhr
Vielen Dank für die prompte Antwort. Ich hoffe, dass der/die/das Kleine morgen eintrudelt. Ich werde nach deiner Anleitung vorgehen und alles wie beschrieben installieren. Ausgenommen den Anwendungen, die ich jetzt und in absehbarer Zeit nicht brauchen werde (Einmalpasswort, Wlan, Radius Server, Zugriffskontrolle, Terminal Server für remoten Zugang, OSPF, etc.)

Als Nichtlinuxer und Nichtprogrammierer hoffe ich darauf, dass alles auf Anhieb läuft, ansonsten werde ich euch mit vielen Fragen behelligen müssen ;)

Wenn alles soweit läuft, bräuchte ich Hilfe zum Thema: Wie stelle ich alle Ports der 4 Switche grafisch dar? Aber bis dahin habe ich wohl erstmal alle Hände voll zu tun...
Bitte warten ..
Mitglied: aqui
24.01.2013, aktualisiert um 18:58 Uhr
...für Fragen ist das Forum ja da Wie die Ports der 4 Switches grafisch dargestellt werden kannst du oben (Screenshot) an den 4 Routerports oder 3 FW Ports sehen. Das geht ganz simpel über den Webserver im Raspberry.
Dann viel Erfolg mit dem "Server" ! Für dich zum Lernen ist das eh unbezahlbar...
Bitte warten ..
Mitglied: Neulinuxer
25.01.2013, aktualisiert um 20:15 Uhr
Na dann will ich mit meinen Fragen mal beginnen ;)

Ich habe mir die Anleitung nun schon einige Male durchgelesen und so langsam wird es klarer, aber einige Fragen bleiben. Zur besseren Übersicht nummeriere ich mal durch.

1) Wie ich schrieb, haben wir zwei Standorte über VPN verbunden. Können die Werte der Switche von beiden Standorten abgefragt werden oder nur von einem?

2) Muss der Server die Daten am Switch aktiv abfragen oder werden diese vom Switch ins Netz gesendet, sobald die Funktion im Menü aktiviert wurde? Ich habe sie an allen 4 Switchen bereits aktiviert.

3) Ich werde den Kleinen vorerst auf DHCP stehen lassen und dem Router (FBF 7390) sagen, dass immer die selbe IP zugeordnet werden soll. Diese werde ich dann in die MRTG Konfigurationsdatei eintragen. Was ist aber nun, wenn ich den Server doch am anderen Standort installiere? Muss ich diese IP dann jedes Mal ändern oder kann ich einfach zwei IPs eintragen?

4) Die Sache mit MRTG und Crontab habe ich noch nicht ganz verstanden. Ich möchte die Daten alle, sagen wir mal 0,1 Minuten abrufen und visualisieren lasen. Wie müsste dann die Beispieldatei mrtg.cfg aussehen? Muss das Komma durch einen Punkt ersetzt werden?

5) Wie kann ich die 4 Switche auseinander halten? Wird automatisch für jeden Switch ein Link in der index.html erstellt?

6) Was ist, wenn der Server neu gestartet wird, muss ich dann den Befehl "crontab cronmrtg" jedes Mal erneut aufrufen? Du schreibst, dass jede Komponente eine MRTG Konfig Datei und einen Crontag Eintrag erhält. Wie aber ordne ich die einzelnen Dateien den Geräten zu und wie und wo erzeuge ich den Crontag Eintrag? Da habe ich einen Knoten in der Denke...

P.S. Laut Tracking sollte DHL heute mit den Paket eintreffen

edit: Er ist da

Ich habe das Gerät mit Zubehör bei Vesalia.de bestellt. Zu deren kostenlosem Service gehört, dass sich das Wheezy Image schon auf der SD-Card befindet. Wie kann ich feststellen, ob es sich um die aktuellste Version handelt? Oder ist die Imageversion egal, da mit dem Update sowieso alles auf den aktuellsten Stand gebracht wird?
Bitte warten ..
Mitglied: aqui
25.01.2013, aktualisiert um 21:31 Uhr
Bitte mache dafür einen neuen Thread auf oder PM, damit wir das Tutorial bzw. den Tutorialthread hier nicht weiter aufblähen mit Basisfragen. Hier die Antworten:
1.) Die Frage solltest du dir als Netzwerker leicht selber beantworten können !!! Jeder Switch hat eine eindeutige Management IP, folglich kann man egal wo der steht auf der Welt auch dessen Daten abfragen ! Du kannst ja auch alle anderen IPs und Geräte via VPN erreichen !
2.) Lies dir bitte alles zum Thema SNMP durch dann kanst du auch diese Frage selbst beantworten:
http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol
3.) Das ist so problemlos machbar. Wichtig ist das der Server eine feste, oder eben wie bei dir per Mac Adresse fest vergebene IP Adresse hat. Das gilt dann auch für das IP Netzwerk bzw. die Adressierung am anderen Standort !
4.) Ja die 5er Schritte musst du dann mit 1er Schritten ersetzen.
5.) Ja
6.) Nein der crontag wird im System fest gespeichert und startet nach einen Reboot immer wieder automatisch. Den Crontab tippst du als simple ASCII Textdatei z.B. mit den "nano" Editor und sagst dann crontab <dateiname> Bei Änderungen anderst du nur die Datei und wiederholst die Prozedur.
Jede MRTG Konfig datei hat einen von dir festgelegten individuellen Namen switch1.cfg , switch2.cfg usw.

Wenn du die Grundinstallation gemacht hast gibst du (wie es im Tutorial steht !)
apt-get update und danach apt-get upgrade ein, dann bist du immer auf dem neuesten Stand ( sudo su vorher)
Bitte warten ..
Mitglied: Curro1
23.03.2013 um 18:12 Uhr
Hallo,
ich habe mich hier gerade angemeldet, weil ich mit meinen ersten Linux-Versuchen nicht so recht klar komme.

Raspberry Pi besorgt, System drauf und los ging es, Hat super geklappt und ich war (bin) begeistert. Einfach super erklärt und gut verlinkt.

Zu meinen Problemchen:
1. Loganalyzer, bleibt im Step 7 hängen, ich kann die Konfiguration nicht erfolgreich beenden. Fehler:
"The following parameter were missing: logline type" <-- ich habe alle Einstellungen belassen.
Ich habe den loganalyzer 4 mal neu installiert, 3 mal die Version 3.6.3 und einmal die Version 3.6.2,
leider immer wieder der gleiche Effekt.
Wo liegt das Problem?
2. Webbasierte Voucher:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
funktioniert und sieht genauso aus, aber das nachfolgende Create wird mit ungenügenden Rechten abgelehnt?
Habe dann als "Root" weiter gemacht und auch die Parameterdatei entsprechend (mit Root) angepasst.
Im Browser komme ich nur auf eine Anzeige, wenn ich nach der IP-Adresse"/vouchergenerator/install.php" eingebe!
Fehlt da in der Anleitung das Verzeichnis "Vouchergenerator"?
Leider kommt dann aber auch nur die Anzeige "Datenbankzugriff abgelehnt"?
Der vorherige Check mit info.php funktioniert und meldet keine Fehler.
Was mache ich hier falsch, wo könnte der Fehler liegen?
3. VNC Zugriff
Auf dem Raspberry wie beschrieben installiert, keine Probleme. Dann an Win7-Maschine und Ultra VNC installiert,
keine Probleme. Ultra gestartet - IP Adresse mit PortNr. eingegeben - Kennwort Rückfrage beantwortet und dann kommt
ein graues leeeres Fenster mit einer Symbol-leiste. Ich sehe nichts und kann auch nichts weiter machen?
Was ist hier schief gelaufen?

Danke für die Hilfe
Bitte warten ..
Mitglied: aqui
24.03.2013, aktualisiert um 17:26 Uhr
Mmmhh, ist schon komisch. Vermutlich liegt es daran das du immer alles als "pi" User installiert hast... vermutlich ?!
Das geht natürlich nicht !!
Installationen und auch Konfiguration sämtlicher oben genannter Software Packete MUSST du immer als Root User (sudo su) machen !!
Ansonsten kann es zu den oben geschilderten Problemen kommen.
Ganz übel ist natürlich das du Teile als normaler User und Teile als Root User ausgeführt hast. Das geht nicht und solltest du niemals machen !
Der Logananlyzer ist mehrfach in diversen Versionen installiert und die Installation läuft immer fehlerlos ab. Es kann eigentlich nur sein das du es mit fehlenden Userrechten installiert und konfiguriert hast !

Was den Teil des Vouchergenerators anbetrifft: Ja natürlich muss das Paket von Eagle2 in einem separaten Verzeichnis im HTTP Document Root Verzeichnis /srv/www installiert sein.
Das Verzeichnis kannst du nennen wie du willst ob "vouchergenerator" oder "vouchergen" oder "vgen" ist Sache des eigenen Geschmacks !
Das .ZIP Archiv kannst du direkt in /srv/www kopieren und dort mit unzip entpacken. Meist wird dann schon ein Verzeichnis automatisch generiert was du (wenn du willst) mit "mv <alername> <neuername>" umbenennen kannst oder du verwendest es so wie es ist.
Im Browser gibst du zur Installation dann http://<ip_raspi>/vouchergenerator/install.php
Die Readme PDF datei im ZIP Archiv hat alle details zur Installation.
Eigentlich sollte da nix schief gehen ?!

Ebenso der Tightvnc Teil. Ganz wichtig ist das du Tightvnc einmal an der Konsole als "sudo su" aufrufen musst. Tightvnc fragt dann nach Usernamen und Passwort für den Zugriff und das wars. Es richtet danach einen 1024x768er Auflösung ein und funktioniert fehlerlos !
ACHTUNG: Tightvnc macht KEINEN Autostart !!
Wenn du den Raspberry also mit "shutdown -h now" ausgeschaltet hast oder einfach so den Strom ausgeschaltet hast, dann kommt VNC nach dem Einschalten nicht automatisch wieder hoch ! Du musst als "sudo su" einmal wieder den Befehl "tightvnc" oder "tightvncserver" ausführen, damit der wieder gestartet wird !
Dieser Hinweis fehlt ggf. im obigen Tutorial und auch der zum erstellen des Vocuherverzeichnises im HTTP Server Doc Root.
Ich check das und korrigier das ggf.
Bitte warten ..
Mitglied: Curro1
28.03.2013 um 12:07 Uhr
Es ist zum heulen

Ich werde wohl kein Freund vom Linux, sorry aber ich habe das ganze Teil nun zum 3. mal neu aufgesetzt. Bis zum Loganalyzer klappt alles. Und natürlich gebe ich nach dem Start unter "pi" --> "sudo su" ein und nehme alle folgenden Installationen unter diesem User vor. Step 7 meldet jedoch immer noch den gleichen Fehler. Das macht so keinen Spaß mehr.
Bitte warten ..
Mitglied: aqui
28.03.2013 um 17:00 Uhr
Irgendwo machst du einen gravierenden Fehler !
Um das Tutorial jetzt nicht weiter aufzublähen schildere bitten deinen "Step 7" (der fehlt nämlich oben nochmal per PM (personal Mail). Dann fackeln wir das offline ab.
Du kannst sicher sein, das das zum Laufen kommt
Bitte warten ..
Mitglied: aqui
06.04.2013, aktualisiert um 19:58 Uhr
Update:
Problem ist gelöst ! Scheinbar gibt es ein Problem mit dem bordeigenen Midori Webbrowser mit dem man die PHP Installation besser nicht ausführt.
Tip: Besser immer einen exteren Browser auf einem Netz PC zur Installation nutzen (Firefox, Safari, Chrome) und nicht den Onboard Browser auf dem Pi selber !!
Wer es dennoch machen will sollte mit apt-get remove midori den Midori Browser deinstallieren und mit apt-get install iceweasel den Iceweasel Browser stattdessen installieren. Der ist ähnlich sparsam im Resourcenverbrauch basiert aber auf dem allseits bekannten Firefox !
Bitte warten ..
Mitglied: alecsoft
09.04.2013 um 10:24 Uhr
Hallo,

anstelle sich das Leben derart schwierig zu machen: paessler.com. Die bieten ein komplettes Tool zur Verwaltung eines Netzwerkes.

Mit freundlichen Grüssen
alecsoft
Bitte warten ..
Mitglied: aqui
09.04.2013, aktualisiert um 10:48 Uhr
Der Einwand ist Unsinn und sinnfrei bzw. konterkariert zudem den Sinn einer Permanentüberwachung und kommt oft von Lesern mit wenig Kenntissen von Netzwerkmangement und solchen die nur die enge Welt dieser fertigen "Umsonsttools" kennen. Mal abgesehen davon das Paessler davon ja nicht leben kann... Die leben von den Klicki Buntis die ohne Kenntnisse daherkommen. Genau DAS ist auch ein Punkt des o.a. Projekts was bekanntermaßen unbezahlbar ist.
Außerdem hatten wir diese Diskussion schon oben (siehe "goliat") !
Abgesehen davon sucht man bei dem genannten nach einem Radius, NTP, FlowAnalyzer, Voucherserver, usw. usw. vergebens...
Bitte warten ..
Mitglied: Dobby
09.04.2013, aktualisiert um 10:56 Uhr
Hallo,

anstelle sich das Leben derart schwierig zu machen: paessler.com.....
Für einen kleinen Betrieb oder eine kleine Heiminstallation ist die Lösung von @aqui aber
besser geeignet! Denn die kostet nur ca. 50 - 60 € alles in allem und kann auch zu Notlösungen
heran gezogen werden und noch weit aus mehr Möglichkeiten bieten als der PRTG selber!

Obwohl der PRTG von Paessler schon eine schicke Software ist die zusammen mit Nagios ja auch irgend wie
die Landschaft beherrscht, aber bei der kleinen Lösung von @aqui kann man mit einem apt-get.....
schnell irgend etwas nachrüsten was der PRTG nicht einmal ansatzweise liefert.

- WireShark
- TCPDUMP
- Snort
- Suricata
- TFTP Server
- Nagios
- Scripting mit nahezu jeder verfügbaren Script Sprache
- Syslog Server oder handler
- Radius server
- FTP/SFTP/HTTP Server
- Backup oder Sicherungsserver für Konfigurationsdateien
- Mit angeschlossener USB Festplatte oder gemountetem externen Platz Installationsserver
- Mit angeschlossenem Modem Alarmnachrichten von Snort oder Nagios über SMS versenden
- VPN Server........

Also zu dem Preis ist das unschlagbar finde ich.

Gruß
Dobby

P.S. Die kleine Kiste passt auch in jeden Koffer und ist schnell überall mit hingeschleppt und angeschlossen.
Bitte warten ..
Mitglied: banane31
10.06.2013 um 21:31 Uhr
Super hilfreich!

Ich habe leider ein Problem.

Habe soeben mein Raspberry PI B in Betrieb genommen.

Wollte die Netzwerkeinstellungen festlegen und...der Ordner /etc/NETWORK/INTERFACES existiert nicht.
Habe nun schon einige Zeit gegooglet und Raspian neu installiert, leider ohne Erfolg, das Rasp zieht sich
momentan die IP vom DHCP (10.0.1.57) jetzt ist die Frage, wie bekomme ich die fest auf die 10.0.1.250 ohne diesen "Network" Ordner?
Bitte warten ..
Mitglied: Schwabe85
14.06.2013 um 21:55 Uhr
Hallo zusammen,

so heute kam mein Raspberry Pi diesen gleich mal nach Aqui's Anleitung zum Syslog Server eingerichtet. Dieser funktioniert auch so wie er soll.
In der Pfsense unter Status > System logs > Settings hab ich dann ebenfalls den Syslogserver eingetragen und das Häckchen bei 'Portal Auth events' gesetzt.
Die Loging Meldungen sehe ich auch per LogAnalyzer.

Nun hab ich aber noch 2 Fragen dazu.

1. Die Einträge die Pfsense dort ablegt kann man doch sicherlich auch irgendwie als "Quelle" angeben bzw. in einer eigenen Datei speichern. Falls ja, wie lauten hier dann die Source Einträge in der config.php?

2. Reicht diese Protokollierung der Logins?
Ich meine irgendwo mal ein Bild gesehen zu haben wo mir auch anzeigt welche MAC/IP Adresse welche Internetseite besucht hat.
Falls es diese Möglichkeit auch gibt, wäre dies überhaupt erlaubt wenn man es in den AGBs auf der Login-Seite erwähnt? Falls ja, wie realisiert man dies?


Und dann hab ich mal vor längere Zeit (1 Jahr oder 2 Jahre) schon an Aqui die Frage zwecks Voucher generieren gestellt. (Vielleicht kannst dich ja noch dran erinnern ;) ). Damals hatte bzw habe noch, das Problem, das wenn ich alle Vouchercodes aufgebraucht habe und mir unter der gleichen Rolle einen neuen Voucher Satz generiere, dies genau wieder die gleichen Vouchercodes sind wie auch bei der vorherigen Generierung. Hier muss ich immer erst die Rolle löschen und dann Neuanlegen.

Ist dies bei euch auch so und somit ein normales Verhalten oder stimmt hier etwas bei mir nicht?


Grüße
Schwabe
Bitte warten ..
Mitglied: Schwabe85
14.06.2013 um 21:57 Uhr
Zitat von banane31:
Super hilfreich!

Ich habe leider ein Problem.

Habe soeben mein Raspberry PI B in Betrieb genommen.

Wollte die Netzwerkeinstellungen festlegen und...der Ordner /etc/NETWORK/INTERFACES existiert nicht.
Habe nun schon einige Zeit gegooglet und Raspian neu installiert, leider ohne Erfolg, das Rasp zieht sich
momentan die IP vom DHCP (10.0.1.57) jetzt ist die Frage, wie bekomme ich die fest auf die 10.0.1.250 ohne diesen
"Network" Ordner?

Hallo,

versuch es mal mit:
nano /etc/network/interfaces

Denn Interfaces ist kein Verzeichnis sondern eine Datei! ;)
Bitte warten ..
Mitglied: aqui
15.06.2013 um 15:03 Uhr
Richtig !! GROß- klein Schreibung ist unter Unix wichtig !
Das Verzeichnis heisst /etc/network/ und dort ist es die Datei interfaces. Steht aber eigentlich auch genau so oben im Tutorial !
Kleiner Tip: Du kannst immer die TAB Taste drücken bei der Kommandoeingabe, die Shell "autokomplettiert" immer die Eingabe wenn sie eindeutig ist.
Mit den up down Cursortasten hast du auch immer die letzten Befehle wieder !

@Schwabe85
Zu deinen Fragen:
1.) Ja, das sollte gehen je nachdem mit welchem Syslog LOCAL Level die Syslog Meldungen der pfSense reinkommen. Ggf. ist das einstellbar wie bei vielen Routern (muss ich selbst mal checken) oder sie kommen mit einem festen local Wert, den du aber in den Messages selbst sehen kannst.
Über die syslog.conf Datei kannst du diese local.x Messages in eine separate Datei laufen lassen und diese dann gesondert über einen zusätzlichen Menüpunkt anzeigen lassen.
Die Prozedur ist identisch zu der oben beschriebenen mit local.7 zum Cisco.
Alternativ filterst du ganz einfach mit dem Loganalyzer nach den Messages...das Resultat ist das gleiche
2.) Zur Störerhaftungs Beweisführung reicht diese Protokollierung völlig aus. Du musst nicht nachweisen wer wann welche Webseite besucht hat !
Bei der Generierung neuer Voucher Rollen solltest du natürlich immer die alte Rolle löschen um diese vollständig ungültig zu machen ! Auch eine neue Indizierung sollte zur Sicherheit immer erfolgen !
Es ist nicht ratsam immer den selben Index zu verwenden. Wenn du davon nicht lassen kannst solltest du besser die FW nach Löschung des Index einmal rebooten bevor du einen neuen gleichen anlegst.
Wie gesagt: besser bleiben lassen sowas und aufsteigende Indices verwenden. Das ist auch einfacher nachvollziehbar weil du zur abgelaufenden bestehenden eine neue erzeugen kannst und dann die alte löschst.
So hast du immer eine wasserdichte Prozedur !
Bitte warten ..
Mitglied: autohoti
24.06.2013 um 21:36 Uhr
Hallo aqui,

ich versuche gerade so einen genialen Raspberry-Server nach Deiner Anleitung zu erstellen. Bis zum Log Analyzer bin ich gekommen, aber dann bin ich mir etwas unsicher.
Wie bekomme ich pfsense auf den Raspberry?
Bisher dachte ich daß ich meinen Speicher (SD-Karte) formatieren muß um pfsense installieren zu können (kann aber eigentlich doch nicht sein), oder muss pfsense auf einem usb-stick mit dem Rasberry laufen?

Bis zu dieser Stelle ist die Installation für mich als absoluten Anfänger dank Deiner Anleitung ganz gut gelaufen.

Gruß autohoti
Bitte warten ..
Mitglied: Lochkartenstanzer
25.06.2013 um 09:44 Uhr
Zitat von autohoti:
Wie bekomme ich pfsense auf den Raspberry?

imho dadurch, daß Du Dir ein BSD-Image draufmachst und dann pfsense dazuinstallierst.

Soweit ich weiß, gibt es noch kein fertiges pfsense-Image für die Himbeere 3,14159.

lks
Bitte warten ..
Mitglied: aqui
26.06.2013 um 20:34 Uhr
Richtig, Kollege Lochkarte hat recht !
Was du machen kannst ist mit apt-get install iptables dir die Firewall auf den Raspi zu holen und dann so eine Firewall händisch zu realsisieren.
Den IPCop dürfte man ebenfalls problemlos darauf zum Laufen bringen. Allerdings erfordert das etwas Vorkenntnisse was die Bedinung der iptables auf der Kommandozeile anbetrifft.
Einfacher ist da doch die pfSense mit einer grafischen Oberfläche.

Besser du beschaffst dir ein kleines ALIX Minimainboard und bringst die pfSense darauf zum Fliegen.
Für diese HW ist sie maßgeschneidert....
http://www.administrator.de/wissen/preiswerte-vpn-fähige-firewall- ...
Bitte warten ..
Mitglied: autohoti
29.06.2013 um 17:01 Uhr
Hallo Schwabe,

in Deinem Beitrag hast Du erwähnt, daß Du die pfsense mit dem Syslogserver verwendest.

Meine Frage: Hast Du die pfsense auf dem Raspberry laufen, oder auf einem anderen Rechner (Alix ...), der an den Raspberry zum Logging angeschlossen ist?

Laut Lochkartenstanzer und aqui läuft pfsense nicht auf dem Rasberry (mit Linux-BS) sondern nur mit einem BSD-Image.

Ich wollte eigentlich nur ein Gerät als Netzwerk Management Server (für captive Portal und Logging) verwenden.

Gruß
autohoti
Bitte warten ..
Mitglied: aqui
01.07.2013 um 20:23 Uhr
Nur als Management Server bist du mit dem Raspi am besten bedient.
Das obige Tutorial beschreibt dir ja ganz genau und einfach zum Aptippen wie du alle diese von dir geforderten Dienste damit umsetzt !
Bitte warten ..
Mitglied: jj-sarton
24.07.2013 um 15:28 Uhr
Ich habe ein RasperryPi als DNS/DHCP/DHCPv6 Server eingerichtet. Mein roter AVM FritzBox ist leider nicht mit eine fehlerfreie Fimware bestückt. Mit der RPI werden einige Ungereimtheiten der FritzBox ausgebügelt, IPv6 wird nicht gerade vorbildlich unterstützt.

Ein gravierenden Problem ist das der RPI Unterumständen keine Default Route mehr hat. Dies geschieht wen die FritzBox aus irgend ein Grund neu startet oder die Ethernet Schnittstelle deaktiviert und reaktiviert.

Weiß Jemanden eine Lösung ?

kksa
Bitte warten ..
Mitglied: aqui
24.07.2013 um 16:08 Uhr
Ja, alles statisch einrichten auf dem RPI wie es sich für einen dedizierten Server in einem Netzwerk gehört. Dann ists egal was für einen Status die FB hat.
Das mit der nicht vorbildlichen Unterstützung war sicher auf die FB bezogen, denn bei der Himbeere ist es, wie generell bei Linux, vorbildlich !
Bitte warten ..
Mitglied: jj-sarton
24.07.2013 um 17:28 Uhr
Alles ist natürlich statisch konfiguriert. Aktueller Stand ist, dass ich Heute einige Reboot der Fritzbox oder ähnliches hatte. Damit das Netzwerk läuft muss ich immer wieder der RPI reboot, ist am schmerzfreiesten). Nach ein Reboot der FB fehlt die IPv4 default Route auf der RPI und das Netzwerk geht nicht mehr wie gewünscht.

Auszug der Datei /etc/network/interfaces.
iface eth0 inet static
hwaddress B8:27:EB:DD:F5:BE
address 192.168.178.2
netmask 255.255.255.0
network 192.168.178.255
broadcast 192.168.178.255
gateway 192.168.178.1
dns-nameservers 8.8.8.8
dns-search example.org

iface eth0 inet6 static
address 2001:db8:1:1::2
netmask 64
gateway 2001:db8:1:1:abcd:abcd:abcd:abcd
dns-nameservers 2001:4860:4860::8888

Die IPv6 Adresse und Domaene lauten ein wenig anders und sind korrekt

jjsa
Bitte warten ..
Mitglied: jj-sarton
24.07.2013 um 17:31 Uhr
Zitat von aqui:
Das mit der nicht vorbildlichen Unterstützung war sicher auf die FB bezogen, denn bei der Himbeere ist es, wie generell bei
Linux, vorbildlich !

Klar bis auf das einen Problem läuft das RPI tadellos. Wäre es nicht der Fall, hätte ich es nicht aufgesetzt.

jjsa
Bitte warten ..
Mitglied: aqui
24.07.2013, aktualisiert um 18:18 Uhr
Ein Kardinalsfehler ist in deiner Konfig: network 192.168.178.255 !! "255" ist falsch !
Die Netzwerk Adresse ist niemals eine Broadcast Adresse sondern dort sind per Definition alle Hostbits immer auf Null (siehe Tutorial)
Richtig muss es also heissen: network 192.168.178.0

Der DNS Nameserver gehört auch nicht in die Interface Config sondern immer in die Datei /etc/resolv.conf !

Eine Testkonfig damit auf einem RPI funktioniert fehlerlos mit den folgenden Routern:
WRT54 mit DD-WRT
pfSense Firewall
Cisco 2621
Edimax
Cisco 831
Auch wenn diese ausgeschaltet oder rebootet werden bleibt diese Konfig im RPI stabil erhalten für v4 und v6 !! Der Buhmann ist vermutlich die FB ?!
Mach mal ein apt-get install tcpdump und sehe dir mal an ob irgendwas vonn der FB an den RPI kommt wenn diese rebootet wird.
Bitte warten ..
Mitglied: jj-sarton
24.07.2013 um 18:29 Uhr
Vielen Dank für den Hinweis, ich frage mir wie man so blind sein kann (network)

Die Datei resolv.conf ist schon mit den richtigen Einträge versehen, sollte aber nicht stören wenn das blöde Automatismus der /etc/resolv.conf überschreibt zuschlägt.
Die Probleme hatte ich als ich der Server aufsetzte. Debian ist halt nicht Fedora mit den ich normalerweise hantiere.

jjsa
Bitte warten ..
Mitglied: eagle2
23.11.2013 um 20:45 Uhr
Update zu meinem Webbasiertem Voucher-Management: Jetzt neu in Version 1.5 mit integriertem Login, schönerem Setup, besserer Einstellungsverwaltung und Mehrsprachigkeit! Die Installation hat sich etwas verändert, Upgrade ist möglich, bitte in jedem Fall die PDF-Anleitung beachten...
Bitte warten ..
Mitglied: 119110
02.12.2014 um 01:12 Uhr
Hallo!

Erstmals vielen Dank für das tolle Tutorial. Hat mir sehr gehofen.

Leider komme ich bei einem Punkt nicht weiter:

Ich habe den LOGANALYZER entsprechend der Anleitung erstellt. Das funktioniert auch soweit. Sobald ich jedoch das Log-Verzeichnis in den Speicher verlege, funktioniert der Loganalyzer nicht mehr.

Ich habe folgenden Eintrag in der Datei /etc/fstab eingetragen:

tmpfs /var/log tmpfs defaults,noatime,mode=1777,size=128m 0 0

Kommentiere ich den Eintrag mit # aus, klappt es wieder. Wo liegt der Fehler?

Besten Dank für Eure Hilfe!


LG
esquir1968
Bitte warten ..
Mitglied: aqui
02.12.2014 um 16:55 Uhr
Sobald ich jedoch das Log-Verzeichnis in den Speicher verlege
Was meinst du genau damit ??
Schreibst du den Syslog auf ein NAS oder ein SMB/CIFS Share ??
Du musst das ggf. in den Loganalyzer Konfig Dateien eintragen, denn der geht davon aus das das unter /vor/log liegt !
Bitte warten ..
Mitglied: ZX81Freak
12.01.2015 um 23:53 Uhr
Ich würde gerne meinen PI zum Netwerkmonitoring in Verbindung mit meiner EasyBox 904 LTE sowie einer 803 LTE einsetzen, d.h. meine Geräte verbinden sich per LAN oder WLAN mit einer der beiden LTE Router.
Nach meinem Verständnis müsste ich erstmal dafür sorgen, dass der gesamte Netzwerktraffic auf den RaspPI geroutet wird. In einem anderen Artikel habe ich gelesen, dass man dazu statische Routen in den LTE Routern anlegt und dort als Gateway den PI angibt. Im PI konfiguriert man das Bridging, um die Pakete je nach DHCP-Client an einen der beiden LTE Router zu leiten.
Leider kann man in der Easybox keine statischen Routen anlegen. Einen Menüpunkt dazu gibt es nicht und googlen hat das bestätigt.

Benötige ich diese statischen Routen in den LTE Routern ,die auch als WLAN Access Points dienen, oder gibt es eine andere Möglichkeit den traffic über den RaspPI zu leiten?
Bitte warten ..
Mitglied: aqui
15.01.2015, aktualisiert um 20:52 Uhr
Nach meinem Verständnis müsste ich erstmal dafür sorgen, dass der gesamte Netzwerktraffic auf den RaspPI geroutet wird.
Nein, nicht unbedingt. Es reicht auch wenn dein Router oder Switch den Standard NetFlow oder sFlow supporten. Mindestens aber den Standard SNMP.
Abgesehen davon wäre es kontraproduktiv den Traffic mit dem RasPi zu routen. Der RasPi ist zwar ein wahrer Tausendsassa aber im Netzwerk hat er auch seine Achillesferse, denn der Netzwerk Port ist über den internen USB2 Hub am System angekoppelt. Entsprechend mau ist also auch seine Packet Forwarding Performance. Für LTE würde es zwar knapp reichen aber wenn du noch weitere Programme für eine Echtzeitanalyse laufen lässt wäre er die falsche Hardware. Banana Pi oder ein Cubie Board oder der Odroid-C1 von Pollin wären netzwerktechnisch dann die bessere Wahl.
Im PI konfiguriert man das Bridging, um die Pakete je nach DHCP-Client an einen der beiden LTE Router zu leiten.
Ja das ist so richtig. Leider hast du das obige Tutorial nicht vollständig gelesen, denn dieser Link:
http://williamknowles.co.uk/?p=16
beschreibt die vollständige Lösung für eine fertige Box mit dem was du willst.
Leider kann man in der Easybox keine statischen Routen anlegen.
Das ist leider richtig denn das ist so ziemlich der übelste Billig- Schrottrouter den Providern an Kunden verschenken. Kundige Netzwerker tauschen die als erstes gegen was richtiges.
Aber um dich zu beruhigen: Du brauchst ja keine Routen !!
Du schreibst ja oben selber "Im PI konfiguriert man das Bridging." !!
Wie jeder Netzwerker weiss basiert ja Bridging auf Layer2 als den Mac Adressen und OHNE Routing. Folglich brauchst du also überhaupt kein Routing ! Vergiss den Unsinn also....
RasPi Probe mit 2 Interfaces im Bridging Mode dazwischen wie im Link beschrieben und fertig ist der Lack !
Dann kannst du auch mit allen obigen Tools wie Cacti, MRTG, nTop usw. usw. arbeiten um dein Netzwerk vollständig zu analysieren !
Bitte warten ..
Mitglied: ZX81Freak
18.01.2015, aktualisiert 16.03.2016
Hallo aqui,

vielen Dank. Ich habe das ganze mit einem LTE Router ans Laufen bekommen. Mit bandwidthd kann ich den Traffic aller Clients sehen. Nur mit zwei LTE Routern funktioniert es leider noch nicht. Der gesamte Traffic aller Clients geht dann leider immer über den LTE-Router am Interface eth0:2.
DHCP funktioniert einwandfrei. Die einen Clients bekommen eth0:1 und die anderen eth:3 als Gateway. Normalerweise müsste die Bridge dafür sorgen, dass der Traffic von eth0:1 an eth0 bzw. von eth0:3 and eth0:2 überbrückt wird. Leider läuft der gesamte Traffic über eth0:2.

Ich vermute, dass ich einen Fehler in der Datei /etc/network/interfaces habe, den ich leider nicht finde. Hast Du eine Idee, was ich falsch mache?
## Interface zum LTE-Router 1 
auto lo 
iface lo inet loopback 
iface eth0 inet static 
address 192.168.1.254 
netmask 255.255.255.0 
network 192.168.1.0 
broadcast 192.168.1.255 
gateway 192.168.1.1 
 
## Nameserver  
dns-nameservers 192.168.11.1 192.168.11.2 192.168.1.1 8.8.8.8 
 
## Interface für Clients des LTE-Router 1 
auto eth0:1 
iface eth0:1 inet static 
address 192.168.11.1 
netmask 255.255.255.0 
 
## Interface zum LTE-Router 2 
auto eth0:2 
iface eth0:2 inet static 
address 192.168.1.253 
netmask 255.255.255.0 
gateway 192.168.1.2 
 
## Interface für Clients des LTE-Router 2 
auto eth0:3 
iface eth0:3 inet static 
address 192.168.11.2 
netmask 255.255.255.0 
 
## Bridging zum LTE-Router 1 
iface br0 inet dhcp 
bridge_ports eth0 eth0:1 
pre-up ifconfig eth0 0.0.0.0 up 
pre-up ifconfig eth0:1 0.0.0.0 up 
pre-up brctl addbr br0 
pre-up brctl addif br0 eth0 
post-down ifconfig eth0:1 0.0.0.0 down 
post-down ifconfig eth0 0.0.0.0 down 
post-down brctl delif br0 eth0 
post-down brctl delbr br0 
 
## Bridging zum LTE-Router 2 
iface br1 inet dhcp 
bridge_ports eth0:2 eth0:3 
pre-up ifconfig eth0:2 0.0.0.0 up 
pre-up ifconfig eth0:3 0.0.0.0 up 
pre-up brctl addbr br1 
pre-up brctl addif br1 eth0:2 
post-down ifconfig eth0:3 0.0.0.0 down 
post-down ifconfig eth0:2 0.0.0.0 down 
post-down brctl delif br1 eth0:2 
post-down brctl delbr br1
Bitte warten ..
Mitglied: aqui
18.01.2015, aktualisiert um 15:38 Uhr
Der gesamte Traffic aller Clients geht dann leider immer über den LTE-Router am Interface eth0:2.
Das ist klar, denn da geht er ja strikt nach deiner Routing Regel.
Hier musst du zwingend Policy Based Routing anwenden oder ein anderen Load Balancing Daemon aktivieren, der den Traffic nach einem von dir definierten Regelwerk z.B. Roud Robin auf beide LTE Links verteilt.
So ohne weiteres geht das natürlich logischerweise nicht ! Da greift das normale Routing was du mit netstat -r siehst.
Dein Riesenfehler ist das du mit deinen ethx:y Interfaces mit Secondary IPs arbeitest. Ein NoGo im Router umfeld !!
Du fährst unterschiedliche IP Netze auf dem gleichen Draht. Das kann an sich schon nicht gehen da der das ICMP Handling nicht sauber funktioniert.
Besser du beschaffst ein zusätzliche physisches Interface wie das hier:
http://www.reichelt.de/LANKARTE-USB2-0/3/index.html?&ACTION=3&L ...
Damit gehst du dann auf Nummer sicher das das klappt.
Es ist auch kontraproduktiv das du den Bridge Memberports IPs vergibst. Sollte man nie machen. Wenn dann kannst du dem Bridge Interface IPs vergeben aber nicht den Member Ports.
Brauchen die ja nicht, denn dort passiert nur Bridging was ja bekanntlich nur die Mac Adressen verwenden aber keinerlei IPs.
Bitte warten ..
Mitglied: dan0ne
05.03.2015 um 20:30 Uhr
Abend,

als aller erstes wollte ich mich mal für das super Tutorial bedanken! Dieses hat mir bei vielem extrem geholfen! Kannst du mir ungefähr sagen wann du den Teil für Nagios weiter machen moechtest ? Dort bin ich naemlich gerade dran, hab es auch am laufen aber bei deinen tollen Anleitungen kann ich so sicherlich noch viel lernen.

LG
Bitte warten ..
Mitglied: aqui
06.03.2015 um 09:19 Uhr
Kommt die nächsten Tage
Ansonsten kannst du hier auch mal ein Blick reinwerfen:
https://www.heise.de/artikel-archiv/ct/2015/04/120_Weitblicker
Betrifft dort zwar nur Server und keinen Router, Switches, Firewalls aber gibt einen grundlegenden Einblick schonmal vorab.
Bitte warten ..
Mitglied: Shellbash
22.03.2015, aktualisiert 16.03.2016
Hey, erstmal danke für den Guide hat mir bis jetzt schon viel geholfen!
Allerdings hänge ich immoment an dem Schritt Gesamt Netzwerk Traffic Analyse mit sFlow fest.
Ich bin Schritt für Schritt deiner Anleitung gefolgt, bekomme jedoch immer folgenden Fehler, wenn ich sflowtool -4 -t | ntop -f - ausführe:
Thu Mar 12 13:10:54 2015  Initializing gdbm databases 
Thu Mar 12 13:10:54 2015  **ERROR** '-' 
Thu Mar 12 13:10:54 2015  ntop will be started as user nobody 
Thu Mar 12 13:10:54 2015  ntop v.4.99.3 (32 bit) 
Thu Mar 12 13:10:54 2015  Configured on Mar  4 2013  5:17:46, built on Mar  4 2013 05:25:53. 
Thu Mar 12 13:10:54 2015  Copyright 1998-2012 by Luca Deri <deri@ntop.org> 
Thu Mar 12 13:10:54 2015  Get the freshest ntop from http://www.ntop.org/ 
Thu Mar 12 13:10:54 2015  NOTE: ntop is running from 'ntop' 
Thu Mar 12 13:10:54 2015  NOTE: (but see warning on man page for the --instance parameter) 
Thu Mar 12 13:10:54 2015  NOTE: ntop libraries are in '/usr/lib/ntop' 
Thu Mar 12 13:10:54 2015  Initializing ntop 
Thu Mar 12 13:10:54 2015  Creating dummy interface, 'none' 
Thu Mar 12 13:10:54 2015  Resetting traffic statistics for device - 
Thu Mar 12 13:10:54 2015  Initializing device none (0) 
Thu Mar 12 13:10:54 2015  DLT: Device 0 [none] is 1, mtu 1514, header 14 
Thu Mar 12 13:10:54 2015  Initialized events [mask: 0][path: ] 
Thu Mar 12 13:10:54 2015  Initializing gdbm databases 
Thu Mar 12 13:10:54 2015  VENDOR: Loading MAC address table. 
Thu Mar 12 13:10:54 2015  VENDOR: Checking for MAC address table file 
Thu Mar 12 13:10:54 2015  VENDOR: File '/usr/share/ntop/specialMAC.txt' does not need to be reloaded 
Thu Mar 12 13:10:54 2015  VENDOR: ntop continues ok 
Thu Mar 12 13:10:54 2015  VENDOR: Checking for MAC address table file 
Thu Mar 12 13:10:54 2015  VENDOR: File '/usr/share/ntop/oui.txt' does not need to be reloaded 
Thu Mar 12 13:10:54 2015  VENDOR: ntop continues ok 
Thu Mar 12 13:10:54 2015  Fingerprint: Loading signature file 
Thu Mar 12 13:10:54 2015  Fingerprint: Checking for Fingerprint file... file 
Thu Mar 12 13:10:54 2015  Fingerprint: Loading file '/usr/share/ntop/etter.finger.os' 
Thu Mar 12 13:10:54 2015  Fingerprint: ...loaded 1765 records 
Thu Mar 12 13:10:54 2015  **WARNING** -m | local-subnets must be specified when the -f option is usedAssuming 0.0.0.0/0 
Thu Mar 12 13:10:54 2015  Initializing external applications 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3051643728]: SFP: Started thread for fingerprinting 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3043255120]: SIH: Started thread for idle hosts detection 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3034866512]: DNSAR(1): Started thread for DNS address resolution 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3026477904]: DNSAR(2): Started thread for DNS address resolution 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3018089296]: DNSAR(3): Started thread for DNS address resolution 
Thu Mar 12 13:10:54 2015  Calling plugin start functions (if any) 
Thu Mar 12 13:10:54 2015  **ERROR** GeoIP: unable to load file GeoLiteCity.dat 
Thu Mar 12 13:10:54 2015  **ERROR** GeoIP: unable to load ASN file GeoIPASNum.dat 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3034866512]: DNSAR(1): Address resolution thread running 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3026477904]: DNSAR(2): Address resolution thread running 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3051643728]: SFP: Fingerprint scan thread starting [p4357] 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3018089296]: DNSAR(3): Address resolution thread running 
Thu Mar 12 13:10:54 2015  THREADMGMT[t3043255120]: SIH: Idle host scan thread starting [p4357] 
Thu Mar 12 13:10:54 2015  NOTE: Interface merge enabled by default 
Thu Mar 12 13:10:54 2015  INITWEB: Initializing web server 
Thu Mar 12 13:10:54 2015  INITWEB: Initializing TCP/IP socket connections for web server 
Thu Mar 12 13:10:54 2015  **ERROR** INITWEB: binding problem - 'Bad file descriptor'(9) 
Thu Mar 12 13:10:54 2015  Check if another instance of ntop is running 
Thu Mar 12 13:10:54 2015  or if the current user (-u) can bind to the specified port 
Thu Mar 12 13:10:54 2015  **FATAL_ERROR** Binding problem, ntop shutting down... 
Thu Mar 12 13:10:54 2015  CLEANUP[t3052617728]: ntop caught signal 2 [state=2] 
Thu Mar 12 13:10:54 2015  ntop is now quitting...
Dazu muss ich sagen, dass ich den Prozess ntop nicht über ps -ax finden konnte und es letztlich mit service ntop stop versucht. Allerdings hat das auch nur denselben Fehler produziert. Habe ich etwas übersehen? Als Router kommt bei mir eine Fritzbox 7390 zum Einsatz.
Bitte warten ..
Mitglied: aqui
22.03.2015, aktualisiert um 23:09 Uhr
Hallo Shellbash
So, habs sicherheitshalber nochmal gerade selber installiert und...es klappt alles wunderbar !
Du hast vermutlich wirklich den laufenden ntop Prozess nicht gestoppt.
Wenn du ps ax eingibst siehst du sowas wie
6053 ?        Ssl    0:00 /usr/sbin/ntop -d -L -u ntop -P /var/lib/ntop --access-log-file /var/log/ 
Das ist das laufende ntop was du dann mit
kill 6053 stoppen musst.

Dann starten die sflowtools und der ntop auch ohne Probleme:
root@raspiplus:/home/pi# sflowtool -4 -t | ntop -f - 
Sun Mar 22 17:17:20 2015  Initializing gdbm databases 
Sun Mar 22 17:17:20 2015  **ERROR** '-' 
Sun Mar 22 17:17:20 2015  ntop will be started as user nobody 
Sun Mar 22 17:17:20 2015  ntop v.4.99.3 (32 bit) 
Sun Mar 22 17:17:20 2015  Configured on Mar  4 2013  5:17:46, built on Mar  4 2013 05:25:53. 
Sun Mar 22 17:17:20 2015  Copyright 1998-2012 by Luca Deri <deri@ntop.org> 
Sun Mar 22 17:17:20 2015  Get the freshest ntop from http://www.ntop.org/ 
Sun Mar 22 17:17:20 2015  NOTE: ntop is running from 'ntop' 
Sun Mar 22 17:17:20 2015  NOTE: (but see warning on man page for the --instance parameter) 
Sun Mar 22 17:17:20 2015  NOTE: ntop libraries are in '/usr/lib/ntop' 
Sun Mar 22 17:17:20 2015  Initializing ntop 
Sun Mar 22 17:17:20 2015  Creating dummy interface, 'none' 
Sun Mar 22 17:17:20 2015  Resetting traffic statistics for device - 
Sun Mar 22 17:17:20 2015  Initializing device none (0) 
Sun Mar 22 17:17:20 2015  DLT: Device 0 [none] is 1, mtu 1514, header 14 
Sun Mar 22 17:17:20 2015  Initialized events [mask: 0][path: ] 
Sun Mar 22 17:17:20 2015  Initializing gdbm databases 
Sun Mar 22 17:17:20 2015  VENDOR: Loading MAC address table. 
Sun Mar 22 17:17:20 2015  VENDOR: Checking for MAC address table file 
Sun Mar 22 17:17:20 2015  VENDOR: File '/usr/share/ntop/specialMAC.txt' does not need to be reloaded 
Sun Mar 22 17:17:20 2015  VENDOR: ntop continues ok 
Sun Mar 22 17:17:20 2015  VENDOR: Checking for MAC address table file 
Sun Mar 22 17:17:20 2015  VENDOR: File '/usr/share/ntop/oui.txt' does not need to be reloaded 
Sun Mar 22 17:17:20 2015  VENDOR: ntop continues ok 
Sun Mar 22 17:17:20 2015  Fingerprint: Loading signature file 
Sun Mar 22 17:17:20 2015  Fingerprint: Checking for Fingerprint file... file 
Sun Mar 22 17:17:20 2015  Fingerprint: Loading file '/usr/share/ntop/etter.finger.os' 
Sun Mar 22 17:17:20 2015  Fingerprint: ...loaded 1765 records 
Sun Mar 22 17:17:20 2015  **WARNING** -m | local-subnets must be specified when the -f option is usedAssuming 0.0.0.0/0 
Sun Mar 22 17:17:20 2015  Initializing external applications 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3051610960]: SFP: Started thread for fingerprinting 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3043222352]: SIH: Started thread for idle hosts detection 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3034833744]: DNSAR(1): Started thread for DNS address resolution 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3026445136]: DNSAR(2): Started thread for DNS address resolution 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3018056528]: DNSAR(3): Started thread for DNS address resolution 
Sun Mar 22 17:17:20 2015  Calling plugin start functions (if any) 
Sun Mar 22 17:17:20 2015  **ERROR** GeoIP: unable to load file GeoLiteCity.dat 
Sun Mar 22 17:17:20 2015  **ERROR** GeoIP: unable to load ASN file GeoIPASNum.dat 
Sun Mar 22 17:17:20 2015  NOTE: Interface merge enabled by default 
Sun Mar 22 17:17:20 2015  INITWEB: Initializing web server 
Sun Mar 22 17:17:20 2015  INITWEB: Initializing TCP/IP socket connections for web server 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3018056528]: DNSAR(3): Address resolution thread running 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3043222352]: SIH: Idle host scan thread starting [p7380] 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3051610960]: SFP: Fingerprint scan thread starting [p7380] 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3026445136]: DNSAR(2): Address resolution thread running 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3034833744]: DNSAR(1): Address resolution thread running 
Sun Mar 22 17:17:20 2015  INITWEB: Initialized socket, port 3000, address (any) 
Sun Mar 22 17:17:20 2015  INITWEB: Waiting for HTTP connections on port 3000 
Sun Mar 22 17:17:20 2015  INITWEB: Starting web server 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3009667920]: INITWEB: Started thread for web server 
Sun Mar 22 17:17:20 2015  Listening on [pcap file] 
Sun Mar 22 17:17:20 2015  Loading Plugins 
Sun Mar 22 17:17:20 2015  Searching for plugins in /usr/lib/ntop/plugins 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3009667920]: WEB: Server connection thread starting [p7380] 
Sun Mar 22 17:17:20 2015  Note: SIGPIPE handler set (ignore) 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3009667920]: WEB: Server connection thread running [p7380] 
Sun Mar 22 17:17:20 2015  WEB: ntop's web server is now processing requests 
Sun Mar 22 17:17:20 2015  NETFLOW: Welcome to NetFlow.(C) 2002-12 by Luca Deri 
Sun Mar 22 17:17:20 2015  RRD: Welcome to Round-Robin Database. (C) 2002-12 by Luca Deri. 
Sun Mar 22 17:17:20 2015  SFLOW: Welcome to sFlow.(C) 2002-12 by Luca Deri 
Sun Mar 22 17:17:20 2015  Calling plugin start functions (if any) 
Sun Mar 22 17:17:20 2015  RRD: Welcome to the RRD plugin 
Sun Mar 22 17:17:20 2015  RRD: Mask for new directories is 0700 
Sun Mar 22 17:17:20 2015  RRD: Mask for new files is 0066 
Sun Mar 22 17:17:20 2015  THREADMGMT: RRD: Started thread (t3001156432) for data collection 
Sun Mar 22 17:17:20 2015  THREADMGMT[t3052568576]: ntop RUNSTATE: INITNONROOT(3) 
Sun Mar 22 17:17:20 2015  Now running as requested user 'nobody' (65534:65534) 
Sun Mar 22 17:17:20 2015  Note: Reporting device initally set to 0 [-] (merged) 
Die Fehlermeldung mit den GeoIP bekommst du auch schnell gefixt:
ntop: ERROR GeoIP: unable to load file GeoLiteCity.dat
ntop: ERROR GeoIP: unable to load ASN file GeoIPASNum.dat


Diese Dateien hier runterladen:
http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
http://www.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
Entzippen und in das Verzeichnis /usr/share/GeoIP/ kopieren.
Danach startet ntop dann mit den GeoIPs
In den aktuellen Versionen von Raspian sind die aber korrekt installiert.

Startest du nun den Browser und öffnrest den ntop Webserver auf Port TCP 3000 ist alles bestens:
27e249d320294d06157afb39bdff58f1 - Klicke auf das Bild, um es zu vergrößern
Hier siehst du auch das die Daten aus der PCAP Pipe der sflowtools kommen.

Fehler ist nur das es eine aktueller Version der sflowtools auf der Inmon Seite gibt. Das korrigier ich im Tutorial noch:
http://www.inmon.com/technology/sflowTools.php
Ver. 35
Gute Nachricht:
Mit der aktuellen Version von NTOP benötigst du das Piping mit den sflowtools NICHT mehr, denn ntop hat jetzt einen eingebauten sflow Kollektor!!
In der Weboberfläche kannst du das unter Plugin --> sFlow aktivieren.
Hier nur Port 6343 einstellen und die eth0 IP und fertig ist der Lack !

Wetiere Infos zum Thema ntop und sflow findest du auch hier:
http://www.linux-magazin.de/Ausgaben/2002/11/Top-in-Form
Bitte warten ..
Mitglied: Shellbash
23.03.2015, aktualisiert 16.03.2016
Hey, danke für die schnelle Antwort. Ich habe nochmal nachgeschaut was ps ax ausspuckt und ich find leider nichts, was nach ntop aussieht. Hier der Log.
root@raspberrypi:/home/pi# ps ax 
  PID TTY      STAT   TIME COMMAND 
    1 ?        Ss     0:02 init [2] 
    2 ?        S      0:00 [kthreadd] 
    3 ?        S      0:02 [ksoftirqd/0] 
    5 ?        S<     0:00 [kworker/0:0H] 
    7 ?        S      0:08 [rcu_preempt] 
    8 ?        S      0:00 [rcu_sched] 
    9 ?        S      0:00 [rcu_bh] 
   10 ?        S<     0:00 [khelper] 
   11 ?        S      0:00 [kdevtmpfs] 
   12 ?        S<     0:00 [netns] 
   13 ?        S<     0:00 [perf] 
   14 ?        S      0:00 [khungtaskd] 
   15 ?        S<     0:00 [writeback] 
   16 ?        S<     0:00 [crypto] 
   17 ?        S<     0:00 [bioset] 
   18 ?        S<     0:00 [kblockd] 
   20 ?        S<     0:00 [rpciod] 
   21 ?        S      0:01 [kswapd0] 
   22 ?        S      0:00 [fsnotify_mark] 
   23 ?        S<     0:00 [nfsiod] 
   29 ?        S<     0:00 [kthrotld] 
   30 ?        S<     0:00 [VCHIQ-0] 
   31 ?        S<     0:00 [VCHIQr-0] 
   32 ?        S<     0:00 [VCHIQs-0] 
   33 ?        S<     0:00 [iscsi_eh] 
   34 ?        S<     0:00 [dwc_otg] 
   35 ?        S<     0:00 [DWC Notificatio] 
   37 ?        S      0:00 [VCHIQka-0] 
   38 ?        S<     0:00 [SMIO] 
   39 ?        S<     0:00 [deferwq] 
   41 ?        S      0:07 [mmcqd/0] 
   43 ?        S      0:01 [jbd2/mmcblk0p6-] 
   44 ?        S<     0:00 [ext4-rsv-conver] 
  159 ?        Ss     0:00 udevd --daemon 
 1672 ?        S      0:16 /usr/sbin/ifplugd -i wlan0 -q -f -u0 -d10 -w -I 
 1705 ?        S      0:16 /usr/sbin/ifplugd -i eth0 -q -f -u0 -d10 -w -I 
 1710 ?        S      0:03 /usr/sbin/ifplugd -i lo -q -f -u0 -d10 -w -I 
 1730 ?        S      0:13 [RTW_CMD_THREAD] 
 1752 ?        Ss     0:01 /sbin/wpa_supplicant -s -B -P /var/run/wpa_supplicant 
 1864 ?        Ss     0:00 /sbin/wpa_cli -B -P /var/run/wpa_action.wlan0.pid -i 
 2184 ?        Sl     0:01 /usr/sbin/rsyslogd -c5 
 2205 ?        S      0:00 /usr/sbin/ser2net -c /etc/ser2net.conf -P /var/run/se 
 2258 ?        Ss     0:02 /usr/sbin/apache2 -k start 
 2292 ?        S      0:00 /usr/sbin/apache2 -k start 
 2293 ?        S      0:00 /usr/sbin/apache2 -k start 
 2294 ?        S      0:00 /usr/sbin/apache2 -k start 
 2300 ?        S      0:00 /usr/sbin/apache2 -k start 
 2301 ?        S      0:00 /usr/sbin/apache2 -k start 
 2318 ?        Ss     0:00 /usr/sbin/cron 
 2322 ?        Ss     0:00 /usr/bin/dbus-daemon --system 
 2478 ?        Ss     0:00 dhclient -v -pf /run/dhclient.wlan0.pid -lf /var/lib/ 
 2765 ?        SNs    0:36 /usr/sbin/nagios3 -d /etc/nagios3/nagios.cfg 
 2792 ?        Ssl    0:00 /usr/sbin/freeradius 
 2842 ?        Ss     0:04 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /var/lib/nt 
 2849 ?        S      0:14 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I 
 2889 ?        Ss     0:00 /usr/sbin/sshd 
 2917 ?        Ss     0:00 /usr/sbin/thd --daemon --triggers /etc/triggerhappy/t 
 2947 tty1     Ss+    0:00 /sbin/getty --noclear 38400 tty1 
 2948 tty2     Ss+    0:00 /sbin/getty 38400 tty2 
 2949 tty3     Ss+    0:00 /sbin/getty 38400 tty3 
 2950 tty4     Ss+    0:00 /sbin/getty 38400 tty4 
 2951 tty5     Ss+    0:00 /sbin/getty 38400 tty5 
 2952 tty6     Ss+    0:00 /sbin/getty 38400 tty6 
 2953 ttyAMA0  Ss+    0:00 /sbin/getty -L ttyAMA0 115200 vt100 
 3958 ?        S      0:01 [kworker/u2:1] 
 4135 ?        S      0:01 [kworker/u2:2] 
 4809 ?        S      0:00 /usr/sbin/apache2 -k start 
 4810 ?        S      0:00 /usr/sbin/apache2 -k start 
 4979 ?        S      2:09 Xtightvnc :1 -desktop X -auth /root/.Xauthority -geom 
 4983 ?        S      0:00 /bin/sh /root/.vnc/xstartup 
 4986 ?        S      0:00 /usr/bin/ck-launch-session /usr/bin/dbus-launch --exi 
 5010 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/ck-launch-session /usr/bi 
 5012 ?        Sl     0:00 /usr/sbin/console-kit-daemon --no-daemon 
 5079 ?        Sl     0:00 /usr/lib/policykit-1/polkitd --no-debug 
 5087 ?        Sl     0:00 /usr/bin/lxsession -s LXDE-pi -e LXDE 
 5090 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session x-session-ma 
 5091 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-add 
 5097 ?        S      0:02 openbox --config-file /root/.config/openbox/lxde-pi-r 
 5099 ?        Sl     0:30 lxpanel --profile LXDE-pi 
 5101 ?        Sl     1:06 pcmanfm --desktop --profile LXDE-pi 
 5106 ?        Sl     0:00 /usr/lib/arm-linux-gnueabihf/lxpolkit 
 5109 ?        S      0:00 /usr/lib/gvfs/gvfsd 
 5111 ?        Sl     0:00 /usr/lib/gvfs//gvfs-fuse-daemon -f /root/.gvfs 
 5118 ?        S      0:00 udevd --daemon 
 5119 ?        S      0:00 udevd --daemon 
 5124 ?        Sl     0:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor 
 5127 ?        Sl     0:00 /usr/lib/udisks/udisks-daemon 
 5128 ?        S      0:00 udisks-daemon: not polling any devices 
 5131 ?        S      0:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor 
 5133 ?        Sl     0:00 /usr/lib/gvfs/gvfs-afc-volume-monitor 
 5138 ?        Sl     0:00 /usr/lib/arm-linux-gnueabihf/libmenu-cache1/libexec/m 
 5142 ?        Sl     0:00 /usr/lib/gvfs/gvfsd-trash --spawner :1.1 /org/gtk/gvf 
 5147 ?        S      0:00 [jbd2/mmcblk0p3-] 
 5148 ?        S<     0:00 [ext4-rsv-conver] 
 5286 ?        Sl     0:01 /usr/lib/gvfs/gvfsd-http --spawner :1.1 /org/gtk/gvfs 
 5294 ?        S      0:00 /usr/lib/gvfs/gvfsd-metadata 
 5472 ?        Ss     0:00 sshd: pi [priv] 
 5476 ?        S      0:01 sshd: pi@pts/0 
 5477 pts/0    Ss     0:01 -bash 
 5491 pts/0    S      0:00 sudo su 
 5492 pts/0    S      0:00 su 
 5493 pts/0    S+     0:00 bash 
 5611 ?        S<     0:00 [kworker/0:1H] 
 6087 ?        S      0:00 [kworker/0:1] 
 6121 ?        S      0:00 [kworker/0:2] 
 6191 ?        S      0:00 [kworker/0:0] 
 6295 ?        Ss     0:00 sshd: pi [priv] 
 6299 ?        S      0:00 sshd: pi@pts/1 
 6300 pts/1    Ss     0:01 -bash 
 6314 pts/1    S      0:00 sudo su 
 6315 pts/1    S      0:00 su 
 6316 pts/1    S      0:00 bash 
 6317 pts/1    R+     0:00 ps ax
Bitte warten ..
Mitglied: aqui
23.03.2015 um 16:36 Uhr
Hast Recht, sieht in der Tat sauber aus !
Aber wie gesagt die Installation funktioniert fehlerfrei und auch ntop rennt problemlos wenn man der o.a. Installationsanweisung folgt.
Die Testinstallation zeigt das eindeutig.
Kann es sein das bei dir ein andwerer Proyess den Port TCP 3000 benutzt? Hast du da mal mit netstat nachgesehen.
Bitte warten ..
Mitglied: Shellbash
23.03.2015 um 17:11 Uhr
Netstat zeigt keinen Prozess mit TCP 3000 an. Naja trotzdem Danke für die Mühen!
Bitte warten ..
Mitglied: aqui
23.03.2015 um 17:23 Uhr
Brenn dir das Raspbian nochmal und mach das nochmal auf einem nackigen RasPi. Irgendwas hat sich da verschluckt bei dir.

Übrigens: Das ntop hat eine sflow Engine jetzt gleich an Bord. Es ist NICHT mehr nötig die Daten vom sflowtool zu Pipen !!
Ich kann das Tutorial im Moment aus technischen Gründen nicht anpassen..
Bitte warten ..
Mitglied: TiTux
03.04.2015, aktualisiert 16.03.2016
Servus, ich habe ein Problem, den hostapd ans laufen zu bekommen. Ich benutze den Alfa AWUS036H Adapter. Hier mal meine Konfigs:
/etc/network/interfaces: 
 
auto lo 
 
iface lo inet loopback 
 
allow-hotplug eth0 
iface eth0 inet static 
        address 192.168.100.25 
        netmask 255.255.255.0 
        network 192.168.100.0 
        broadcast 192.168.100.255 
        gateway 192.168.100.254 
 
 
allow-hotplug wlan0 
 
iface wlan0 inet static 
        address 192.168.100.20 
        netmask 255.255.255.0 
        network 192.168.100.0 
        broadcast 192.168.100.255 
        gateway 192.168.100.254 
        dns-nameservers 192.168.100.254 
 
Hier die hostapd.conf: 
 
interface=wlan0 
 
logger_syslog=-1 
logger_syslog_level=2 
logger_stdout=-1 
logger_stdout_level=2 
dump_file=/tmp/hostapd.dump 
ctrl_interface=/var/run/hostapd 
 
ssid=RasPi 
country_code=DE 
hw_mode=g 
channel=2 
 
max_num_sta=32 
rts_threshold=2347 
fragm_threshold=2346 
macaddr_acl=0 
auth_algs=3 
ignore_broadcast_ssid=0 
wmm_enabled=0 
ap_max_inactivity=300 
 
wpa=2 
wpa_passphrase=Key 
wpa_key_mgmt=WPA-PSK 
wpa_pairwise=CCMP 
rsn_pairwise=CCMP 
wpa_group_rekey=600
Wenn ich nun ein hostapd -dd /etc/hostapd/hostapd.conf ausführe, erscheint folgendes:

random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
Line 16: unknown hw_mode 'g '
1 errors found in configuration file '/etc/hostapd/hostapd.conf'

Er meckert über den hw_mode, aber dieser stimmt doch. Dadurch lässt sich der Daemon natürlich auch nicht starten und quittiert das mit einem Fail
Ich finde den Fehler einfach nicht. Jemand eine Idee?

Gruß
TiTux
Bitte warten ..
Mitglied: aqui
03.04.2015 um 14:15 Uhr
Mmmhhh komisch...
Hast du mal ein a, b oder n testweise versucht ? Oder mal versucht das ganz wegzulassen oder mit # auszukommentieren.
Google mal nach unknown hw_mode 'g ' da gibt es ne Menge Hinweise.
Bitte warten ..
Mitglied: TiTux
03.04.2015, aktualisiert 16.03.2016
Ich habs jetzt mal auskommentiert, dann kommt beim Versuch den Dienst zu starten dies hier:

root@raspberrypi:~# /etc/init.d/hostapd restart
[ ok ] Stopping advanced IEEE 802.11 management: hostapd.
[....] Starting advanced IEEE 802.11 management: hostapdrmdir[ctrl_interface]: No such file or directory
failed!

Ein hostapd -dd ergibt das hier:
01.
 hostapd -dd /etc/hostapd/hostapd.conf 
02.
random: Trying to read entropy from /dev/random 
03.
Configuration file: /etc/hostapd/hostapd.conf 
04.
Could not open file /sys/class/net/wlan0 /phy80211/name: No such file or directory 
05.
rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0 
06.
netlink: Operstate: linkmode=0, operstate=6 
07.
Could not read interface wlan0  flags: No such device 
08.
nl80211: Set mode ifindex 0 iftype 2 (STATION) 
09.
nl80211: Failed to set interface 0 to mode 2: -19 (No such device) 
10.
nl80211: Try mode change after setting interface down 
11.
Could not read interface wlan0  flags: No such device 
12.
nl80211: Interface mode change to 2 from 0 failed 
13.
nl80211 driver initialization failed. 
14.
rmdir[ctrl_interface]: No such file or directory
Bitte warten ..
Mitglied: aqui
04.04.2015 um 10:44 Uhr
Aha...! Entscheided ist das Could not read interface wlan0 flags: No such device. Das bedeutet das der hostapd die Betriebsmodi nicht aus der Hardware lesen kann.
Fazit: Falscher oder alter Treiber für deine WLAN Hardware !
Was hat der Alfa AWUS036H für einen Chipsatz ? Hast du mal ein dmesg gecheckt ?
Vermutlich aber supportet diese Alfa HW keinen AP Mode:
http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=17489
Obwohl andere schreiben wieder das es geht ! Ist wohl einen Frage des richtigen Treibers.
WAS sagt denn ein iw list bei dir ?
http://www.forum-raspberrypi.de/Thread-pi-als-router-einrichten
Angeblich solls mit dem entsprechenden Treiber funktionieren.
I got the AP mode already running on the chip with hostapd itself when I use the "driver=rtl871xdrv" instead of the "driver=nl80211" in the hostapd.conf file. I get the access point working perfectly with it. But the need to switch aroused because i needed to make the multiple SSID feature of the hostapd working. This feature is not supported by the rtl871xdrv driver in the hostapd.
https://bbs.archlinux.org/viewtopic.php?id=153822
Allgemein
http://bit.ly/1CDSca0

Ein Alfa RT8187 rennt hier fehlerlos mit hostapd.
Bitte warten ..
Mitglied: TiTux
07.04.2015, aktualisiert 16.03.2016
Tja, ich bekomme von einem iw list nur diese 3 Modes:

Supported interface modes:

  • IBSS
  • managed
  • monitor

Da ist leider kein AP-Mode mit dabei. Ich dachte der Wlan-Adapter könnte den, da Du diesen ja oben verlinkt hattest, ist wohl nicht der Fall.
Der Chipsatz ist ein Realtek "rtl8187"

Da komm ich wohl nicht weiter.
Bitte warten ..
Mitglied: aqui
07.04.2015 um 18:26 Uhr
Hast du in der Konfig des hostapd auch stehen "driver=rtl871xdrv" normal steht da nämlich nur "driver=nl80211" !
Ansonsten anderen Adapter beschaffen der das kann. Alfa hat genügend die das können.
Bitte warten ..
Mitglied: TiTux
08.04.2015 um 09:14 Uhr
Den Treiber in der Konfig von hostapd anzugeben wird nicht viel bringen, wenn er den AP-Modus schon überhaupt nicht kann.
Ich werde einfach den Wlan-Adapter wieder zurückschicken. Kannst Du mir ein Modell empfehlen (vielleicht mit direktem Link),
der den Monitor Modus und auch den AP-Modus unterstützt?
Bitte warten ..
Mitglied: aqui
08.04.2015 um 09:37 Uhr
Na ja, wenn man die Links oben richtig interpretiert ist ein AP Modus wohl drin in der HW kann aber durch den Treiber nicht aktiviert werden, was der rtl Treiber dann aber macht. In so fern ist es dann auch klar das iwlist das mit dem kastrierten Treiber auch nicht auslesen kann. Ne Krücke bleibts aber trotzdem.
Ich nutze einen Alfa GE-RT8187 und der rennt fehlerfrei.
Bitte warten ..
Mitglied: TiTux
08.04.2015 um 11:21 Uhr
Ich habs mit dem anderen Treiber in der hostapd.conf versucht, ohne Erfolg. Hast Du mal einen direkten Link von Deiner Karte? Wenn ich danach google, finde ich eigentlich genau meine Karte, ich habe diese hier:

http://www.amazon.de/Adapter-Alfa-AWUS036H-Leistung-Antenne/dp/B000WXSO ...

In einem anderen Forum hatte jemand diesen hier empfohlen u. konnte damit den AP-Modus nutzten:

http://www.jetztfunkts.de/alfa-network-wireless-lan-hardware/alfa-usb-w ...

Hat wohl eigentlich nur den schnelleren "N-Modus" mit an Bord und den Chip "RT3070"
Bitte warten ..
Mitglied: aqui
08.04.2015, aktualisiert um 11:45 Uhr
Na klar hab ich den:
http://varia-store.com/Wireless-Systeme/USB-WLAN-Adapter/ALFA-30dBm-2-4 ...
Steht auch ganz groß drunter:
"Der Adapter kann auch als Access Point genutzt werden!"
Bitte warten ..
Mitglied: TiTux
14.04.2015 um 11:03 Uhr
Hi aqui,

hab's jetzt ans Laufen bekommen, habe mir den Adapter AWUS036NH besorgt, der hat einen Ralink RT2870/RT3070 Chipsatz
und der unterstützt den AP-Mode. Bei mir gab es noch 2 weitere Probleme. Ich habe Deine Konfig von hostapd.conf über putty
in die neue Config reinkopiert, dabei hat er hinter jeder Zeile ein Leerzeichen gemacht, dass war das erste Problem. Das zweite
betrifft Deine Konfig. So wie Du es gepostet hast, muss da noch der Eintrag "bridge=br0" mit rein und anschließend auch in der
/etc/network/interfaces eingetragen werden, mit der oben stehenden Config müsste man die Weiterleitung der Pakete ja per iptables vornehmen,
aber das taucht nirgends auf.

Ciao
TiTux
Bitte warten ..
Mitglied: aqui
14.04.2015, aktualisiert 22.04.2015
dabei hat er hinter jeder Zeile ein Leerzeichen gemacht,
Das macht nicht Putty sondern der doofe Winblows Editor Vermutlich hast du die Datei unter Windows editiert und dann zurückgesendet.
Besser immer direkt mit dem Nano auf dem RasPi oder den Notepad entsprechend customizen.
So wie Du es gepostet hast, muss da noch der Eintrag "bridge=br0" mit rein
Nein, das "muss" es nicht !
Dieser Eintrag muss wie du richtigerweise ja auch selber sagst lediglich rein wenn man zwischen LAN und dem WLAN Port eine Bridge haben will, also das diese beiden Interfaces zusammengefasst werden über eine "Netzwerkbrücke" und in einem gemeinsamen IP Segment liegt.
Die o.a. Konfig ist aber so ausgelegt das man dann routen muss zw. WLAN und LAN Port ! (#net.ipv4.ip_forward=1 in der Datei /etc/sysctl.conf).
Das hat den Vorteil, das man mit den iptables die Firewall aktivieren kann und sehr genau kontrollieren kann WER dann vom AP Netz ins LAN geht.
Aus Sicherheitssicht ein entscheidender Vorteil.
Zudem kann man erheblich besser und flexibler mit der Integration in andere Netze am LAN Port umgehen was in einer Bridged Konfig so nicht immer möglich ist.
OK, wer das alles nicht will oder muss der bridged halt ins LAN und macht alles auf. Falsch ist das ja nicht.
Kommt letztlich wie immer drauf an was man will, aber ein Muss ist es de facto nicht.

Letztlich hast du aber Recht, dieser Hinweis fehlt im Tutorial !
Leider ist eine Tutorial Bearbeitung bzw. Korrektur im Moment nicht möglich wegen eines Bugs in der Forum Software aber sobald der gefixt ist korrigier ich das.
<edit> Ist korrigiert ! </edit>
Aber gut wenn nun alles so rennt wie es soll
Bitte warten ..
Mitglied: TiTux
14.04.2015, aktualisiert 16.03.2016
Ich habe die Bridge rausgenommen und das Forwarding für IP4 aktiviert, ich bekomme zwar eine Verbindung vom Client zum Raspberry, aber keine Internetverbindung. Habe beim Windows Client ein gelbes Ausrufezeichen.

Hier mal meine interfaces:
auto lo 
 
iface lo inet loopback 
iface eth0 inet static 
        address 192.168.100.25 
        netmask 255.255.255.0 
        network 192.168.100.0 
        broadcast 192.168.100.255 
        gateway 192.168.100.254 
        dns-nameservers 192.168.100.254 
 
allow-hotplug wlan0 
iface wlan0 inet static 
        address 192.168.100.20 
        netmask 255.255.255.0 
        network 192.168.100.0 
        broadcast 192.168.100.255 
        gateway 192.168.100.254 
        wpa-ssid wird_nicht_verraten 
        wpa-psk meine_passphrase 
 
 
 
#iface wlan0 inet manual 
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf 
#iface default inet dhcp
wpa_supplicant wollte ich nicht nutzen, deshalb steht die WPA-Konfig direkt in der interface Datei.
Aber woran haperts jetzt noch? Wie gesagt, dass hier habe ich gesetzt, rebootet auch

  1. Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Bitte warten ..
Mitglied: aqui
15.04.2015 um 10:40 Uhr
aber keine Internetverbindung.
WO ist denn deine Internetverbindung ?? Am LAN Port ??
Da fehlt dann vermutlich auf deinem Router die statische Route ins WLAN Netz, oder ??
Siehe hier: http://www.administrator.de/wissen/routing-2-netzwerkkarten-windows-u-l ...
Kann der Router keine statischen Routes musst du auf dem RasPi Masquerading aktivieren.
Traceroute und Pathping sind hier wie immer deine Freunde !
Wie gesagt man müsste wissen WIE dein Internetzugang realisiert ist ?!
Bitte warten ..
Mitglied: TiTux
15.04.2015 um 11:11 Uhr
Ich habe einen Lancom-Router, der an meinem Kabelmodem hängt. Der Lan-Port des Raspi hängt per Switch also am Router und sollte
darüber die Inet-Verbindung herstellen. Lan-Port und Wlan-Port befinden sich im gleichen Netz.

Mein Router kann statische Routen.
Bitte warten ..
Mitglied: aqui
16.04.2015 um 10:14 Uhr
Also dann...wo ist dein Problem
Das oben zitierte Tutorial erklärt alles. Denk dran das der hostap seitige DHCP als DNS die IP des Lancom vergeben muss und als Gateway die lokale IP des WLAN Ports.
Damit funktioniert dann alles wie es soll.
Bitte warten ..
Mitglied: KowaKowalski
04.09.2015, aktualisiert um 09:49 Uhr
Hi aqui, hi Leute,

zum allerletzten weiterführenden Link "Flugbewegung" habe ich bei Thomas Wetzlaff (allgemeine Anleitung) noch ne Bauanleitung für eine bessere Antenne gefunden. Anleitung Antenne
Außerdem befasst sich Thomas auch noch mit dem Fork dump1090-mutability mutability und auch mit der Übermittlung dieser Daten an diverse externe Dienste (zB. PlanePlotter). externe Dienste

PS. Die Antenne habe ich nicht extra getestet, aber den dump1090-mutability Fork kann ich nur empfehlen. Sieht etwas schicker aus auf der (internen) Webseite.


Viel Spaß
kowa
Bitte warten ..
Mitglied: aqui
04.09.2015 um 10:29 Uhr
Gute Antennen zum ADS-B Empfang gibt es auch hier:
http://shop.jetvision.de/epages/64807909.sf/de_DE/?ObjectPath=/Shops/64 ...
Weutere Infos zum Thema ADS-B auch hier:
http://www.sprut.de/electronic/pic/projekte/adsb/adsb.htm
Oder wenn man bei Dr. Google nach "Raspberry ADS B" sucht
Bitte warten ..
Mitglied: ThomasDr
20.12.2015 um 17:56 Uhr
Hallo,

eine sehr schöne übersicht, danke dafür.
Wird es ein update für Rasbian jessie geben?
Dort ist einiges anders, z.B. Netzwerk Konfiguration, einige Wlan dongel funktionieren zur Zeit noch garnicht und einige Software läuft noch nicht. Auch Samba hat in v4 einige Befehle geändert, hier sind noch viele veraltete Anleitungen im Netz.

Schöne Grüße
Thomas
Bitte warten ..
Mitglied: aqui
22.12.2015 um 14:44 Uhr
Du hast Recht und danke für den Hinweis !
Aktuell gibt es sogar einen Fehler im Netzwerkstack das das eth0 2 IP Adressen hat...und andere Kleinigkeiten die mit der Migration auf netconfig einhergehen.
Das Gros der Anleitungen funktioniert aber auch mit der neuen Version. Ich werde Änderungen Stück für Stück nachpflegen und aktualisieren.
Bitte warten ..
Mitglied: Lochkartenstanzer
16.02.2016, aktualisiert 16.03.2016
Kurze Info:

aircrack -ng ist inzwischen im raspbian repository.

es reicht also ein aptitude install aircrack -ng

lks

PS. Habe gerade wieder mit meinem Pi gespielt und bei der Gelegenheit über die Anleitung geschaut, was man mal wieder ausprobieren könnte.
Bitte warten ..
Mitglied: Hajo2006
05.05.2016 um 10:21 Uhr
Hallo,

ich habe mal wieder ein kleines Problem mit dem Loganalyzer. Also ich habe ihn zum laufen bekommen, jedoch mußte ich die in der Anleitung beschriebenen Dateien ins Verzeichnis /var/www/html/log/ und nicht in /var/www/log/ kopieren um dann die Installation zu machen.

Doch irgendwie kann ich nur die SYSLOG Meldungen die in der datei syslog reinkommen (derzeit nur vom RaspPi) anzeigen. Und ich kann keine andere Quelle auswählen. Dabei habe ich folgende Zeilen in der Config.php hinzugefügt:

01.
        
02.
        $CFG['Sources']['Source3']['ID'] = 'Source3'; 
03.
        $CFG['Sources']['Source3']['Name'] = 'Cisco'; 
04.
        $CFG['Sources']['Source3']['ViewID'] = 'SYSLOG'; 
05.
        $CFG['Sources']['Source3']['SourceType'] = SOURCE_DISK; 
06.
        $CFG['Sources']['Source3']['LogLineType'] = 'syslog'; 
07.
        $CFG['Sources']['Source3']['DiskFile'] = '/var/log/cisco.log'; 
08.
 
09.
        $CFG['Sources']['Source4']['ID'] = 'Source4'; 
10.
        $CFG['Sources']['Source4']['Name'] = 'Netzwerk'; 
11.
        $CFG['Sources']['Source4']['ViewID'] = 'SYSLOG'; 
12.
        $CFG['Sources']['Source4']['SourceType'] = SOURCE_DISK; 
13.
        $CFG['Sources']['Source4']['LogLineType'] = 'syslog'; 
14.
        $CFG['Sources']['Source4']['DiskFile'] = '/var/log/netzlog';
Kann mir da vielleicht jemand sagen warum ich die Quelle Cisco und Netzwerk nicht auswählen kann im Loganalyzer?

Beste Grüße
Hajo
Bitte warten ..
Mitglied: Hajo2006
05.05.2016 um 10:44 Uhr
Hallo nochmal,

hab den Fehler gefunden, bin mit dem nano Editor leider überlesen das es eine Section gibt mit "Example ..."

Nun habe ich es an der richtigen Stelle und nun kann ich diese Logs auch auswählen.

Beste Grüße

Hajo

PS: Allerdings ist der Installationspfad bei mir nicht /var/www/log sondern /var/www/html/log
Bitte warten ..
Mitglied: Hajo2006
05.05.2016 um 11:30 Uhr
Sorry,

ich bins wieder , ist es normal das folgendes nicht exitiert :

"Die Konfig Dateien zum Bearbeiten befinden sich unter /etc/nagios3/objects. Dort ist auch eine Default Datei switch.cfg die man für eine erste quick and dirty Installation anpassen kann"

Denn nach der installation von NAGIOS3 gibt es keinen Ordner objects und auch keine cfg-Dateien die ich mir mal anschauen kann.

Beste Grüße
Hajo
Bitte warten ..
Mitglied: aqui
05.05.2016, aktualisiert um 12:51 Uhr
Hi Hajo !
Allerdings ist der Installationspfad bei mir nicht /var/www/log sondern /var/www/html/log
Das mag sein, das Tutorial ist noch nicht an das aktuellste Raspian angepasst. Danke für den Hinweis.
Das mag auch für das Nagios Problem gelten. Gut möglich das die cfg Dateien in ein anderes Verzeichnis gewandert sind ?!
Such einfach global mal mit find / -name <dateiname> -print danach.
Vorhanden sein müssten sie sonst ist die Nagios Konfig nicht möglich.
Bitte warten ..
Mitglied: Hajo2006
05.05.2016 um 16:45 Uhr
Hi aqui,

also ich habe mal gesucht und folgenden Pfad gefunden:

/usr/share/doc/nagios3-common/examples/template-object/switch.cfg

doch in der nagios.cfg steht drin das man entweder:

cfg_file=/etc/nagios3/objects/switch.cfg

oder:

cfg_dir=/etc/nagios3/switches
cfg_dir=/etc/nagios3/routers

nutzen sollte. Denke somit mal das ich den/die Ordner erstellen muss und
dann anpassen für meine Umgebung wo der RaspberryPi dann genutzt werden
soll. Denn ich möchte gerne einen kleinen Server haben mit dem ich dann
folgendes abbilden und zeigen möchte.
1. SNMP Monitoring (Nagios)
2. http Webserver (Loganalyzer)
3. tftp (Tftp-server)
4. FTP (FTP-Server, muß mal schauen welchen ich nutze)

deswegen finde ich diese Anleitung auch mega gut, weil ich so nicht überall suchen
muß da hier alles zusammen gefasst ist.

Beste Grüße
Hajo
Bitte warten ..
Mitglied: aqui
05.05.2016 um 16:48 Uhr
Denke somit mal das ich den/die Ordner erstellen muss und dann anpassen für meine Umgebung
So ist es ! Du kannst die obigen Beispiel Dateien cut and pasten und entsprechend anpassen.
Bitte warten ..
Neuester Wissensbeitrag
Sicherheits-Tools

Wenn das eine Schlangelöl das andere als Malware beschimpft

Erfahrungsbericht von Lochkartenstanzer zum Thema Sicherheits-Tools ...

Ähnliche Inhalte
PHP
gelöst http get request mit raspberry pi an Server senden (6)

Frage von Steinpilz zum Thema PHP ...

Drucker und Scanner
gelöst Raspberry Pi als Print- und Backup-Server ? (11)

Frage von donnyS73lb zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2013 neu aufsetzten, da alte VM defekt (48)

Frage von ThunderbirdOP zum Thema Exchange Server ...

Windows Netzwerk
gelöst Netzlaufwerke Persistent wegen VPN (20)

Frage von redhorse zum Thema Windows Netzwerk ...

Webentwicklung
Einfaches Suchfeld auf Indexseite (19)

Frage von Moddry zum Thema Webentwicklung ...

PHP
Php5ts.dll Application Error ID 1000 (100) (19)

Frage von SystemRookie zum Thema PHP ...