Haproxy bei Stackexchange

die Leute hinter stackexchange haben hier ihren haproxy dokumentiert.

Posted in General, Internet found pieces, Linux | Leave a comment

Ansible Webinar

Getreu dem Motto “Kenne deinen Feind” gibt es hier ein Ansible Webinar.

Posted in General, Internet found pieces, Linux | Leave a comment

PDF: Why NFS sucks

Hier malwieder eine PDF: Why NFS Sucks von Olaf Kirch.

Posted in General, Internet found pieces, Linux | Leave a comment

DTAG/Telekom und die Netzneutralität

Es gab in der Vergangenheit diverse Foreneinträge, Blogposts, Statements zu Geschwindigkeitsproblemen von Telekom Kunden zu anderen großen ISPs:
Probleme zur ARD Mediathek Erreichbarkeit
überteuerte Peerings zu Hetzner Online(Siehe dazu hier und hier)
Überfüllte Peerings zu anderen Tier1 Carrierern
Überteuertes Peering mit init7

Was ist überhaupt Peering?
Ein Peering ist ein Zusammenschluss zwischen zwei autonomen Systemen, z.B. eine Verbindung zwischen Vodafone und Kabel-Deutschland. Ein Peering zeichnet sich dadurch aus das man nur Traffic zum Partner schickt der direkt für Ihn bestimmt ist und nicht für dritte (diesen müsste er dann weiterleiten). Peerings mit einer ausgeglichenen Auslastung in beide Richtungen sind kostenlos, wenn der Traffic stark einseitig fliest wird Teilweise die Differenz zur anderen Richtung bezahlt.°

Was ist Transit?
Bestimmte Carrier, wie z.B. Hetzner Online, Hosteurope oder auch Endkundenanbieter wie Vodafone oder Unitymedia haben auf der seinen Seite sehr viele Systeme/Kunden die an das Internet angeschlossen werden müssen, das ist deren Kerngeschäft. Um entsprechende Kapazitäten zum Internet zu erreichen können diese Carrier entweder selbst Tier 1 werden (was sehr aufwändig und teuer ist) oder sie kaufen Transit bei einem Tier1 ISP. Hier wird Traffic z.B. zu Level3 geschickt (ein Tier 1 Carrier) und Level3 leitet diesen entsprechend zum Empfänger weiter.

Wie funktioniert das Internet normalerweise?
Es gibt diverse Carrier der Kategorie “Tier 1”, diese zeichnen sich dadurch aus dass Sie alle anderen Tier 1 Carrier per direktem Peering erreichen können (und somit das gesammte Internet), Sie benötigen selbst also keinen Transit. Kleinere Carrier kaufen immer Transit bei mehreren Tier 1 und zusätzlich versuchen Sie möglichst viele Peerings mit ähnlich großen Carriern zu erreichen.

Wie ist die Telekom aufgebaut?
Die Telekom ist einer der größtern Tier 3 Carrier (Endkundenprovider) weshalb es sich für Sie lohnt direkte Verbindungen zu allen anderen Tier 1 aufzubauen und somit ist die Telekom Tier 1 sowie Tier 3 Carrier.

Was ist nun das Problem?
Hetzner Online ist hier ein gutes Beispiel. Als einer der größten Rootserver Anbieter Europas hosten dort unter anderem sehr viele Webseiten. Hetzner Online hat ein großes Interesse daran ein direktes Peering mit der Telekom zu erhalten um alle eigenen Server möglichst gut erreichbar zu machen für Telekom Kunden. Aus dieser Sicht sind Hetzner Online als auch die Telekom ein Tier 3 Provider und ein kostenloses Peering sollte möglich sein. Leider ist die Telekom nicht bereit Peering anzubieten, Sie sieht sich ausschließlich als Tier 1 und möchte Transit verkaufen (darüber kann man in der Theorie alle Telekom Kunden + das restliche Internet erreichen). Diese Einstellung wäre noch vertretbar wenn das Peering denn Marktübliche Preise hätte. Genaue Zahlen sind leider nicht bekannt, man munkelt vom 3-5fachen Preis im Vergleich zu anderen Tier 1.

Warum ist das so teuer?
Die Telekom hat Netzneutralität nicht verstanden (oder möchte es nicht). Sie verfolgt aktuell eine Double-Payment-Strategy. Dies bedeutet dass Ihre DSL Kunden bereits für einen vollwärtigen Internetanschluss bezahlen, außerdem verlangt Sie überhöhte Preise Ihrer Transit Kunden mit der Begründung damit die Netzübergänge ausbauen zu müssen.

In der Theorie kann man also über die Telekom Transit beziehen, dummerweise sind fast alle Ihre Netzübergänge zu anderen Carriern komplett überlastet weshalb ein Transit nicht nutzbar ist. Um also Telekom Kunden zu erreichen muss ein Carrier bei Ihnen überteuerten Transit kaufen welcher nicht als Transit genutzt werden kann.

Die Telekom missbraucht hier Ihre Marktposition als größter Endkunden-ISP in Deutschland um Druck auf alle anderern Carrier auszuüben. Sie möchte Ihr Netz auf Kosten anderer Carrier ausbauen.

Was kann man dagegen tun?
Endkunden der Telekom sollten Ihren Vertrag kündigen sofern Alternativen existieren. Leider ist dies nicht immer möglich, dann sollte man den Kundensupport konstant darauf hinweisen (es existieren bereits diverse Threads im Telekom Forum). Carrier sollten Ihre überteuerten Transitverträge kündigen und etwaige Kundenbeschwerden über Netzprobleme an die Telekom weiterleiten

Warum schreibe ich das überhaupt?
Ich bin leider einer dieser Telekomkunden und bei mir ist einfach kein anderer ISP verfügbar. In den Abendstunden ist mein Anschluss defacto nicht nutzbar da die Telekomübergänge zu anderen ISPs alle hoffnungslos überlastet sind.

Hier noch zwei MTRs von meinem Telekom Anschluss zu Hetzner Online und umgekehrt:

mtr1
mtr2

Man erkannt hier eindeutig Engpässe die ausschließlich innerhalb des Telekom Netzes bzw. an deren Netzübergängen existieren.

Nachtrag:
Hier sieht man auch wieder ganz gut die Probleme der Telekom, im MTR wird man einmal durch die Tier 1 Carrier durchgereicht:
mtr3
(erst NTT, dann Level3 und zum Schluss Init7)

Noch ein Nachtrag: Hier wieder ein MTR zum Hetzner Netz, zwischendurch ist deren AS einfach nicht via Telekom erreichar:
mtr4
mtr5

Posted in General | 1 Comment

Arch systemd-nspawn Container erstellen

Manchmal benötigt man fix einen Container vom aktuellen Betriebssystem, z.B. um eine saubere Umgebung zum kompilieren oder zum testen zu haben. Auf Arch bietet sich dafür systemd-nspawn an.

Zuerst installieren wir die benötigten Pakete in irgendein Verzeichnis, danach starten wir einen minimalen Container:

sudo pacstrap -d /home/bastelfreak/arch_container_puppet/ base base-devel
systemd-nspawn -bD /home/bastelfreak/arch_container_puppet/
Posted in General, Linux, Short Tips, Virtualization | Leave a comment

PDF-Sammlung

Hier mal wieder zwei interessante PDFs:
Performance and Scalability Evaluation of the Ceph Parallel File System
PostgreSQL Fuzzy Searches in 5 minutes

Posted in General, Internet found pieces | Leave a comment

PuppetDB: unable to create the recommended pg_trgm indexes

Ich nutze das Puppetmodul puppetlabs/puppetdb um meine PuppetDB zu verwalten, dazu gehört folgendes Profil:

class profiles::puppetdb {
  class { '::puppetdb': 
    listen_address  => $::ipaddress_em1,
    java_args       => {
      '-Xmx' => '8192m',
      '-Xms' => '2048m'
    },  
    node_ttl            => '1d',
    node_purge_ttl      => '1d',
    report_ttl          => '999d',
    ssl_protocols       => 'TLSv1.2',
    manage_firewall     => false,
    manage_package_repo => true,
    ssl_listen_address  => $::ipaddress_em1,
    postgres_version    => '9.4',
    puppetdb_version    => latest,
  }
}

Dieses richtet das Postgres-eigene Repository ein und installiert Postgres daraus und nicht aus den normalen Quellen der Distribution. Daraus folgt allerdings folgende Warnung beim starten der PuppetDB:
2015-03-20 16:45:25,760 WARN Missing PostgreSQL extension `pg_trgm`

We are unable to create the recommended pg_trgm indexes due to
the extension not being installed correctly. Run the command:

CREATE EXTENSION pg_trgm;

as the database super user on the PuppetDB database to correct
this, then restart PuppetDB

Wenn man die Erweiterung Anlegen möchte kommt folgende Fehlermeldung:

postgres=# CREATE EXTENSION pg_trgm;
ERROR:  could not open extension control file "/usr/pgsql-9.4/share/extension/pg_trgm.control": No such file or directory
postgres=#

Die Erweiterung pg_trgm muss man via

yum install postgresql94-contrib.x86_64

nachinstallieren, danach klappt auch das Anlagen der Erweiterung:

postgres=# CREATE EXTENSION pg_trgm;
CREATE EXTENSION
postgres=#

Nach einem Restart der Erweiterung ist die Änderung auch aktiv und wird von PuppetDB genutzt.

Posted in General, Linux, Puppet | Leave a comment

gems im Homedir installieren

Ruby bietet das Tool gem um Gems zu installieren, diese können global installiert werden (hierfür werden Rootrechte benötigt) oder innerhalb des Homedirs. Dazu muss man die /etc/gemrc mit folgenden Inhalt erstellen:

gem: --user-install

In größeren Ruby Projekten, die aus vielen Gems bestehen, werden diese mit dem Tool Bundler verwaltet. Bundler bietet die Möglichkeit benötigte Gems in einem Gemfile zu definieren inkl benötigter Version. Bundler ignoriert leider die /etc/gemrc beim installieren. Um mit Bundler ebenfalls innerhalb des Homedirs gems zu installieren kann man folgenden Befehl nutzen:

bundle install --path ~/.gem
Posted in General, Linux, Short Tips | 1 Comment

Rules of Information Security

Im Internet gibt es diverse Informationen über IT-Security. Zehn Regeln zu IT-Security und zu Security-Administration möchte ich dazu besonders hervorheben für den Fall dass diese in der Quelle verschwinden:
IT-Security:
Law #1: If a bad guy can persuade you to run his program on your computer, it's not your computer anymore
Law #2: If a bad guy can alter the operating system on your computer, it's not your computer anymore
Law #3: If a bad guy has unrestricted physical access to your computer, it's not your computer anymore
Law #4: If you allow a bad guy to upload programs to your website, it's not your website any more
Law #5: Weak passwords trump strong security
Law #6: A computer is only as secure as the administrator is trustworthy
Law #7: Encrypted data is only as secure as the decryption key
Law #8: An out of date virus scanner is only marginally better than no virus scanner at all
Law #9: Absolute anonymity isn't practical, in real life or on the Web
Law #10: Technology is not a panacea

Security-Administration:
Law #1: Nobody believes anything bad can happen to them, until it does
Law #2: Security only works if the secure way also happens to be the easy way
Law #3: If you don't keep up with security fixes, your network won't be yours for long
Law #4: It doesn't do much good to install security fixes on a computer that was never secured to begin with
Law #5: Eternal vigilance is the price of security
Law #6: There really is someone out there trying to guess your passwords
Law #7: The most secure network is a well-administered one
Law #8: The difficulty of defending a network is directly proportional to its complexity
Law #9: Security isn't about risk avoidance; it's about risk management
Law #10: Technology is not a panacea

Ebenfalls sehenswert ist dazu Security Reactions sowie

Posted in General, Internet found pieces, IT-Security | Leave a comment