Infiniband und VLAN-IDs

Moin,

lange ist es her aber ich hatte soviel um die Ohren das ich leider nicht zum schreiben kam. In den letzten Wochen habe ich ein sehr schönes Projekt angefangen. Ich habe mit Infiniband experimentiert und zwar als Ersatz für Fibre Channel.

Vorteil ist ja das ich Infiniband im Gegensatz zu FibreChannel auch als Netzwerk verwenden kann um Daten zwischen den Maschinen auszutauschen. Ich werde in den nächsten Tagen noch mehr darüber berichten. Aber eine Frage die sehr oft aufkommt in Foren ist, wie man unter Infiniband mit VLANS umgehen kann. Nun dazu muss man wissen das Infiniband mit Partitionen arbeitet. Diese kann man als VLANS im Ethernetbereich ansehen. Damit der Subnetmanager den TCP Header richtig auswerten kann muss man eine Partition mit der selben HEXZAHL erstellen wie die VLAN-ID. Also aus einem VLAN mit der ID 1080 wird dann eine Partition 438. Und schon werden die VLANS sauber durchgeleitet. Bei mir unter VMWARE ESXi läuft das Super.

In den nächsten Tagen werde ich noch einige dinge zu unserem neuem Projekt schreiben. Hier haben wir Infiniband unter ESXi mit SRP an unsere Solaris Stroageserver angebunden. Der Wahnsinn in Geschwindigkeit und Latenz.

MfG

Thomas

 

UBIQUITI Edge Router Lite im Test

Vor einiger Zeit hatte ich mir mal einen UBIQUITI EdgeRouter Lite zum testen bestellt und dann durch die Arbeit leider in der Ecke liegen lassen. Nun habe ich mir das Gerät mal angeschaut und finde die Möglichkeiten die der Router bietet einfach spitze. Daher wollte ich euch mal davon erzählen….  Weiterlesen

Automatischer reboot bei Draytek Routern

Es gibt Situationen da ist es hilfreich wenn man den Router täglich neu startet… Wie bei uns im VPN Einsatz. Damit können wir indirekt die Zwangstrennung bestimmen… Hier nun ein weg wie es geht…

  1. Zuerst auf der Weboberfläche anmelden. Standard-IP: 192.168.1.1 Standard-Benutzer: Admin Standard-PW: admin oder leer lassen
  2. Jetzt die Zeit überprüfen, dazu unter System Maintenance -> Time and Date schauen
  3. Danach gehen wir in Applications -> Shedule und wählen uns dort eine freie Indexnummer aus. Diese müssen wir später vergeben, daher müssen wir uns diese merken.
  4. Klicken auf enable
  5. Das Startdatum ab wann der Task aktiv ist setzen unter Start-Date.
  6. Bei Start-Time die rebootzeit angeben.
  7. Duration Time auf 0 setzen.
  8. Bei Action wählen wir force on aus.
  9. Nun wählen wir aus wie oft und an welchen Wochentagen dieser Task ausgeführt werden soll. Hier kann man die Tage genau auswählen.
  10. Ok Drücken
  11. Nun gehen wir nach System Maintinance -> Reboot System
  12. Bei Auto Reboot Time Schedule tragen wir in das erste Kästchen die Indexnummer ein die wir eben bearbeitet haben.

Das war das ganze Hexenwerk. Nun startet der Router zu einer festgelegten Zeit neu und initialisiert sich komplett neu. Dadurch konnten wir unsere VPN Tunnel sauber neu aufbauen lassen bei dynamischen IPs…

Statische Routen unter Ubuntu automatisieren

Hallo zusammen,

ich musste für einen Kunden ein VPN auf seinen Webserver einrichten und dies durch ein eigenes Gateway schleusen. Da der Server jedoch eine öffentliche IP mit eigenem Default Gateway hat, auf diesem jedoch nicht das VPN eingerichtet wurde. Musste nun ein weg zum VPN Router gefunden werden… Weiterlesen

FTP unter Ubuntu Linux mounten

Wenn man mit häufig mit Webseiten arbeitet, muss man oft viele Dateien von und auf ein FTP Verzeichnis kopieren. Dies kann man wie üblich einfach mit einem FTP Programm erledigen, jedoch ist dies oftmals ehr nervig. Schöner wäre es doch das entfernte FTP Verzeichnis einfach in das Dateisystem einzubinden. Dies können wir unter Ubuntu sehr einfach machen.

Installation von curlftpfs

Zuerst müssen wir curlftpfs installieren. Dazu geben wir in einer shell als root folgendes ein:

apt-get install curlftpfs

Nun müssen wir fuse Fertig einrichten. Als erstes muss der Benutzer der curlftpfs verwenden soll unter /etc/fuse.conf eingetragen werden. Dies erledigt ein:

nano /etc/fuse.conf

Dort einfach den Benutzernamen eintragen. Nun müssen wir diese Datei für alle Lesbar machen.

sudo chmod a+r /etc/fuse.conf
 Wichtig ist es nun ein Verzeichnis anzulegen wo das FTP-Verzeichnis eingehangen werden soll. In unserem Beispiel unter /mnt/ftp.
mkdir /mnt/ftp

Nun können wir in einem Terminal die Verbindung testen oder auch bereits nutzen.

curlftpfs User:Passwort@ftp-server.de/pfad_auf_dem_server/ /mnt/ftp
Wir können nun auch die Verbindung in unsere /etc/fstab schreiben, so würde die Verbindung immer automatisch beim Systemstart wiederhergestellt werden.
curlftpfs#Benutzername:Password@ftp-server.de /mnt/ftp fuse auto,user,uid=1000,allow_other,disable_eprt 0 0
Wichtig ist hier alles in eine Zeile zu schreiben!!! Bitte keinen Zeilenumbruch.
Das ganze ist auch für Backups sehr praktisch.

CARP unter Ubuntu Linux

Allgemeines zu CARP

Durch das Common Address Redundancy Protocol (CARP) lässt sich die Verfügbarkeit von IP-Systemen deutlich erhöhen. Dies wird durch den Einsatz virtueller IP/MACAdressen auf verschiedenen Rechnern erreicht. Das Haupteinsatz von CARP ist zwar die Hochverfügbarkeit von Gateways, jedoch lassen sich auch andere Dienste wie Datenbanken oder Mailserver sehr einfach redundant auslegen. Heute zeige ich euch wie wir dies unter Ubuntu machen können…

Weiterlesen

IPSEC VPN zwischen pfSense 2.0 und AVM Routern

IPSEC stellt den Standard für sichere Verbindungen zwischen getrennten Netzwerken da. Hier wird gezeigt wie man eine Verbindung zwischen AVM Routern und pfSense herstellen kann. So das man Transparent auf die einzelnen Netzwerke zugreifen kann.

Weiterlesen

IPSEC VPN pfSense 2.0 -> Draytek 2910i

Heute zeige ich euch wie man ein VPN zwischen einer pfSense Firewall und einem Draytekrouter, bei mir der 2910i, herstellen kann. Ich konnte es auch erfolgreich durch einen Speedport 723 Router durchleiten um meine VDSL Verbindung dafür zu nutzen.

Zum Aufbau des ganzen. Ich habe auf der einen Seite einen redundanten pfSense Cluster mit festen IP Adressen. Der Cluster wird durch CARP gebildet und ist damit auch ausfallsicher. Auf der anderen Seite habe ich mehrere VDSl Anschlüsse mit Speedports als Modem bzw. Router. Diese haben nur dynamische IP’s und benötigen für dieses Setup zwingend einen Dyndns-Account… Ein anderer Anbieter geht selbstverständlich auch, jedoch arbeite ich nur mit dyndns.

pfSense Seite…

Als erstes konfigurieren wir mal die pfSense. Damit alles sauber läuft müssen wir unter

System -> Advanced -> Miscellaneous: IP Security:  Prefer older IPsec SAs

einen Hacken setzen…

Phase1 auf pfSense Seite…

Als nächstes gehen wir zu VPN -> IPSEC und setzen einen Hacken bei enable IPSec. Nun fügen wir einen neuen phase 1 Eintrag hinzu. Als Interface setzen wir das WAN Interface ein. Bei einem CARP Setup jedoch das CARP Interface. 😉 Bei Remote Gateway tragen wir den DYNDNS Namen unseres Routers ein. Als Beschreibung solltet ihr einen aussagekräftigen Namen wählen um ihn später in den Logs besser lokalisieren zu können.

Konfiguration der ersten Phase ( IKE )

Jetzt kommen wir zur Phase1. Diese lässt sich mit einem Draytek nur im Aggressive Modus herstellen. Es ist mir trotz fester IP’s nicht gelungen den Mainmode ( welcher etwas sicherer ist ) zum laufen zu bekommen. Als Auth method setzen wir Mutual PSK ein. Da wir die Verbindung mit einem PresharedKey absichern wollen. Wie bereits erwähnt ist der Negotiation Mode auf agressive zu belassen. Als Identifier nutze ich die My IP address. Als Peer identifier klappte am besten der User distinguished name welcher auf dem Draytek Local ID heisst.Hier trägt man am besten auf beiden Seiten eine eindeutige Emailadresse ein. Damit wird die Verbindung später bestimmt.  Der Preshared Key ist das Passwort womit die Verbindung verschlüsselt wird. Der Key sollte nicht zu kurz und auch etwas komplexer sein. Die Policy Generation und das Proposal Checking lassen wir auf default. Den Encryption algorithm stellen wir auf   3DES da hier die Performance zwischen den Routern noch ok ist. Bei AES kann der Draytek etwas einknicken. Der HASH algorithm ist bei uns auf SHA1 gestellt. Dies lief am besten. Die DH key Group stellen wir auf 1, also 768 bit wenn wir auf dem Draytek den IKE phase 1 proposal auf DES_MD5_G1 auswählen. Stellen wir diesen auf DES_MD5_G2 so müssen wir die DH key Group auf 2 stellen!!! Die Lifetime lassen wir auf 28800 und sollte nur geändert werden wenn ihr wisst was ihr da macht.

Phase 1 proposal

Phase 1 proposal

Jetzt kommen wir zu den Advanced Options der phase1. NAT Travensal sollte eingeschaltet werden wenn ihr hinter einem Router mit Firewall den Draytek aufstellt. Solltet ihr ihn direkt mit dem Netz verbinden so kann man dies austellen. DEAD PEER Detection schalte ich stets ein. Jedoch kann dies bei überlasteten Routern dazu führen das die Verbindung ohne Grund unterbrochen wird, da der PFSENSE Router glaubt den anderen Router nicht zu erreichen. Daher sollte man die retries nicht unter 5 stellen!!! Und den delay nicht zu niedrig.

Phase1 advanced

Phase 2 auf pfSense Seite…

Jetzt kommen wir zur Phase2, womit wir die Tunnel einrichten. Man kann mehrere Tunnel aufbauen lassen. Dies kann man z.B. machen wenn man mehrere Subnetze auf beiden Seiten miteinander Verbinden möchte.

Als Mode nehmen wir tunnel damit wir unsere beiden Netzwerke direkt miteinander verbinden. Local Network steht für das Netzwerk des pfSense Routers. Solltet ihr vlans oder mehrere Netzwerkkarten mit unterschiedlichen Subnetzen einsetzen so muss hier das Netzwerk ausgewählt werden mit welchem die Gegenseite interagieren darf. Das Remote Network stellt das entfernte auf den Drayteks eingerichtete Netzwerk da. Bitte achtet hier darauf das auch die selbe Subnetmaske wie auf dem Draytek eingestellt ist, da sonst keine Verbindung zustande kommt!!!

Phase2 proposal…

Hier müssen wir nun die Verschlüsselungen für die Phase2 einrichten. Unter Protocol nehmen wir ESP da hier die Daten auch verschlüsselt werden. Bei AH passiert dies nicht. Bei Encryption algorithm wählen wir 3DES aus. Den Hash lassen wir so wie er ist und bei PFS Key Group wählen wir wieder 1 für einen 768 Schlüssel. Die Lifetime kann auf 3600 gelassen werden.

Bei den Advanced Einstellungen, kann man eine IP des Remotenetzwerkes angeben. Damit wird der Tunnel getestet und bei nicht erreichen neu initialisiert. Ich pinge immer die IP Adresse des Draytekrouters an. Sprich die vom internen Netz dort.

Damit ist das Setup auf der pfSense Seite fertig und nun können wir uns um den Draytek kümmern. Wichtig ist das hier die selben Daten wie auf der pfSense Seite eingegeben werden.

Draytek Seite…

Auf der Draytek Seite gehen wir

VPN and Remote Access -> LAN to LAN 

und erstellen dort eine neue Verbindung. Der Pfofile Name sollte wie immer aussagekräftig sein. Der Hacken bei Enable this Profile muss gesetzt werden. Wird halt gerne übersehen. Die Verbindung soll durch den Draytek initiiert werden, da hier ja die dynamische IP ist. Dadurch wird es leichter. Daher setzten wir bei Call Direction den hacken bei Dial Out. Always on ist zu empfehlen wenn man ständig auf diesen Tunnel zugreifen will. Dann muss man den Wert auf -1 setzen. So wird der Tunnel immer aufrecht gehalten. Bei Enable Ping to keep alive kann man eine IP des internen Netzes der Gegenseite einrichten welche in abständen von ca. 30 Sekunden angepingt wird. Wird der Ping 3 mal nicht beantwortet so baut der Draytek den Tunnel neu auf. Ich trage hier gerne eine Server IP ein von der Gegenseite ein.

Nun kommen wir zu den Dialout Settings.

Bei Type nehmen wir einen IPSEC Tunnel und die anderen Hacken entfernen wir. Bei Dial Number tragen wir die WAN IP des pfSense Routers ein. DNS Namen sind auch möglich, haben aber bei uns des öfteren zu Problemen geführt. Vorallem dürfen diese nicht zu lang sein. Bei Preshared Key muss der selbe Key wie oben bzw. auf der pfSense Seite eingegeben werden. Bei IPSEC Security Method wählt man High ESP und 3DES with Authentification. 

Die meisten Fehler passieren bei der Einstellung welche wir jetzt vornehmen. Wir klicken bei IPSEC Security Method auf advanced und geben damit die Phase 1 Daten an. IKE Phase 1 mode stellen wir auf aggressive. Die Proposal bleibt bei DES_MD5_G1, da wir ja auf dem pfSense System ein DH Group von 1 angegeben haben. Der IKE PHase2 proposal wird auf 3DES_SHA1 / 3DES_MD5 belassen. Die lifetimes können so gelassen werden. Das Perfect Forwarding Secret  lassen wir ausgeschaltet. Und bei Local ID müssen wir den Peer Identifier der pfSense eingeben. Damit wird dann dieser Tunnel identifiziert.

Dann müsst ihr auf der Draytekseite unten in den TCP/IP Netzwerkeinstellungen die Daten für das Remote Network mit der Subnetmask angeben. Und eure Locale IP mit der richtigen Subnetmask. Hier kann man auch angeben das der komplette Netzwerkverkehr, also auch Internetverndungen usw. über diesen Tunnel geschickt werden soll.

Wichtig ist jetzt das der Draytek auch im dyndns registriert wird. Bitte achtet darauf, da sonst kein Tunnel aufgebaut wird. Es muss der selbe DynDnS Name verwendet werden  den ihr auf der pfSense Seite benutzt habt.

Sind alle Daten richtig eingetragen sollte jetzt der Tunnel aufgebaut werden. Ich werde in den nächsten Tagen noch einen Eintrag mit den meisten Fehlermeldungen machen und wie man sie beheben kann. Bis dahin viel Erfolg…