Artikel-Schlagworte: „network“

Ubuntu Server und die neuen Netzwerkkarten

Samstag, 22. Mai 2010

Nachdem in meinem Server eine Netzwerkkarte ausgefallen war und ausgetauscht werden musste, bestellte ich direkt zwei neue. Schnell waren die Alten ausgetauscht und die Neuen eingebaut, doch nach dem Start des Servers Ernüchterung: Neben der auf dem Mainboard verbauten Netzkarte wurde nichts weiter gefunden! ifconfig gab keine Auskunft über die Netzkarten und auch der Versuch die Karten per ifup zu aktivieren schlug fehl. Komisch eigentlich, denn lspci bewies eindeutig, dass die Karten eingesteckt waren und laut Logs trat auch kein Fehler auf. Nach einiger Suche stiess ich auf die Lösung:

Ubuntu legt in der Datei /etc/udev/rules.d/70-persistent-net.rules Informationen über Netzkarten, deren Namen, Hardwareadresse usw. ab. Da dort noch die alten Netzkarten als eth1 respektive eth2 eingetragen waren und die Neuen unter eth3 und eth4 geführt wurden, schien Ubuntu sie nicht weiter zu beachten. Nach dem Entfernen der Einträge der alten Karten und Anpassen der Namen sind die Karten nun wieder da und alles läuft wieder ohne Probleme.

Netzwerkstatistiken mit vnstat

Dienstag, 1. September 2009

Nachdem nun das Routing des Servers gut funktioniert, dachte ich mir es wäre sicherlich hilfreich eine kleine Statistik über den ein- und ausgehenden Netzwerktraffic zu bekommen. Statistikprogramme gibt es viele, aber die meisten sagten mir nicht zu. Entweder war der Aufwand der Konfiguration übertrieben hoch oder das Monitoring zu unübersichtlich oder für “mal eben gucken” zu aufwändig. Im Endeffekt habe ich mich für das Tool vnstat entschieden, welches wirklich einfach zu konfigurieren ist und mithilfe eines Webservers und eines kleinen PHP Scripts die Ausgaben übersichtlich und grafisch aufbereitet im LAN bereitstellt. vnstat findet sich in den Ubuntu Repositories und kann einfach per apt installiert werden und ist nach kurzem Anpassen der Config betriebsbereit. Das PHP Frondend findet sich hier.

Die Zaubernetzwerkkarte

Dienstag, 18. August 2009

Beim durchblättern einer Zeitschrift entdeckte ich folgendes Angebot für eine Zaubernetzwerkkarte:

DSC00155

Leider schlecht lesbar, doch hier wird mit einem “reduzierten Datentransfer durch integrierten FIFO Puffer” geworben. Ok, basteln wir das mal auseinander: Datentransfer bezeichnet die Datenströme, die von der Karte gesendet oder empfangen werden, also zum Beispiel das Empfangen einer Webseite. Ein FIFO (First-In-First-Out) Puffer schickt die zu sendenden Daten nach ihrer Ankunftsreihenfolge ab, ähnlich einer Warteschlange, wer zuerst kommt ist als erstes an der Reihe. Nun möchte uns der Verkäufer erzählen, dass durch den Einsatz eines solchen Puffers (Warteschlange) der Datentransfer reduziert wird??? Das wäre vergleichbar mit einer Schlange an einer Kasse bei der am Ende weniger Leute bedient werden als anstehen? Was passiert mit den anderen Leuten/Daten?

Multipath Routing… neuer Versuch

Dienstag, 11. August 2009

Wie sich nach gut einem Tag herausstellte, funktionierte das Multipathrouting doch nicht so gut wie gedacht. Das Problem war anscheinend das einige Pakete nicht korrekt ihren Weg ins/durchs Netz fanden und durch Loops bzw. falsch konfigurierte Routingtabellen das Netz derart stark verstopften, dass fast keine vernünftige Konfiguration mehr möglich war. Auch netzinterne pings wiesen eine Latenz von mehreren Sekunden auf! Das Aufteilen der beiden Router auf unterschiedliche Subnetze brachte auch keinen Erfolg, mit dieser Konfiguration kam gar keine Internetverbindung zu stande. Vermutlich weil die Clients nun keinen DNS Server mehr hatten mit dem sie kommunizieren konnten und der Server/Gateway diese Anfragen anscheinend auch nicht weiterleitete. Eine Möglichkeit dies zu testen wäre natürlich noch einen LAN-internen DNS aufzusetzen und zu prüfen ob die Clients dann im Stande sind eine Internetverbindung aufzubauen. Es gibt also noch viel zu tun! Das Problem scheint doch komplexer zu sein, als anfänglich gedacht…

Original Artikel: http://maltekueppers.de/wp/?p=1346

LÖSUNG: http://maltekueppers.de/wp/?p=1363

Multipath Routing und 2 DSL Leitungen

Donnerstag, 6. August 2009

routingDie Anschaffung einer 2. DSL Leitung stellte mich vor folgendes Problem: Wie schaffe ich es, beide Leitungen zu benutzen und ihre Routen gemäß der Bandbreiten zu gewichten? Der Server, der diese Aufgabe erledigen sollte, war sowieso schon lange in Betrieb und benötigte nur eine kleine Umkonfiguration sowie ein wenig zusätzliche Hardware, sprich 2 Netzwerkkarten. Mein erster Versuch, das Multipath Routing mit 2 Netzkarten zu bewerkstelligen stellte sich als schwieriges Unterfangen ein und so baute ich kurzerhand eine 3. NIC ein.

Was soll nun passieren und was passiert nicht?

Multipath Routing bedeutet, dass die Daten die Möglichkeit bekommen, mehrere Wege (Paths) in ein Netz zu bekommen. Das suchen sie sich jedoch nicht selbst aus, sondern der Router (in diesem Fall der Server) entscheidet, welche Pakete über welche Route also welchen Internetanschluss laufen. Hierfür gibt es verschiedene Gewichtungsmöglichkeiten der einzelnen Routen die man nach Lust und Laune oder Bandbreite einstellen kann. Man nutzt also nur beide Leitungen abwechselnd nach festen Kriterien, bündelt aber nicht die Anschlüsse (bonding)! Ein Download nutzt weiterhin immer nur eine Leitung (load balancing)! Aber zum Technischen:

Konfiguration:

Vorneweg: Für sämtliche Befehle werden root Rechte benötigt! Es bietet sich also an, direkt in einer root-shell zu arbeiten!

Vorraussetzung ist ein Linux PC / Server mit installiertem Paket iproute. Zuerst legt man 2 neue Routing Tables in der Datei /etc/iproute2/rt_tables an, indem man am Ende folgendes einfügt

200     se555     #Routingtable für Verbindungen zu Router 1
201     v721      #Routingtable für Verbindungen zu Router 2

Die Namen für die einzelnen Tables können natürlich auch anders vergeben werden. Nun kommt die eigentliche Arbeit, das Einstellen der Routen. Hier gibt es mehrere Ansätze wo die Informationen hinterlegt werden sollen. Die einen plädieren für ein Script, ich konnte mich mehr mit dem Ansatz anfreunden, die Informationen direkt in die /etc/network/interfaces Datei einzutragen. Bei mir sieht die Datei wie folgt aus:

iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0


# Connection zu SE555
iface eth1 inet static
address 192.168.1.199
netmask 255.255.255.0
post-up ip route add 192.168.1.1 dev eth1 src 192.168.1.199 table se555
post-up ip route add default via 192.168.1.1 table se555
post-up ip rule add from 192.168.1.199 table se555
post-down ip rule del from 192.168.1.199 table se555

# Connection V721
auto eth2
iface eth2 inet static
address 192.168.1.198
netmask 255.255.255.0
post-up ip route add 192.168.1.2 dev eth2 src 192.168.1.198 table v721
post-up ip route add default via 192.168.1.2 table v721
post-up ip rule add from 192.168.1.198 table v721
post-down up rule del from 192.168.1.198 v721

Dabei gehören folgende IPs zu folgenden Geräten:

eth0 192.168.1.200        LAN Interface

eth1 192.168.1.199        Uplink zu Router 1

eth2 192.168.1.198        Uplink zu Router 2

192.168.1.1                       Router 1

192.168.1.2                       Router 2
Ist alles eingestellt, können die Interfaces hochgefahren werden mittels ifconfig eth1 up bzw. ifconfig eth2 up. eth0 sollte ja bereits up sein, sofern man per ssh verbunden ist. Sind nun alle Schnittstellen aktiv, kann die Konfiguration schnell mit ifconfig überprüft werden. Der Befehl ip route gibt Übersicht über das Routing der einzelnen Interfaces. Nun muss dem System nur noch mitgeteilt werden über welche Route, was geroutet werden soll und in welchem Verhältnis. In meinem Fall ist Anschluss 1 eine DSL6000 Leitung und Anschluss 2 eine DSL25000 Leitung. Die Bandbreite von A1 ist also knapp 1/4 von A2, darum sollen Pakete in diesem Verhältnis auf die Leitungen aufgeteil werden. Das Routing, bzw. die Verteilung der Pakete erfolgt nach Eingabe von:
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 25 nexthop via 192.168.1.2 dev eth2 weight 75
Damit sollte nun alles Funktionieren. Die default route wird nun auch angezeigt, wenn man ip route erneut zu rate zieht. Bei mir siehts wie folgt aus:
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.198
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.200
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.199
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
default
nexthop via 192.168.1.1 dev eth1 weight 25
nexthop via 192.168.1.2 dev eth2 weight 75

Nun muss nur noch der DHCP Server so eingestellt werden, das als Router bzw. Gateway die 192.168.1.200, also das LAN Interface benutzt wird. Und voila, das Multipath Routing konfiguriert!

Folgeartikel: http://maltekueppers.de/wp/?p=1356

ENDGÜLTIGE LÖSUNG: http://maltekueppers.de/wp/?p=1363

Quellen:

http://lartc.org/howto/lartc.rpdb.multiple-links.html

http://www.debian-administration.org/articles/377

http://wiki.ubuntuusers.de/Multiple_Uplink_Routing