Archive for the ‘IPv6’ tag
Smarter Web: DDoS-/Web-Protection und Beschleunigung deiner Seite mit myracloud.com
Gastartikel von Sebastian Bruckner
Hallo *, kurz zu meiner Person, meine Name ist Sebastian Bruckner, ich wohne in München und beschäftige mich seit 7 Jahren mit dem Web- und PHP-Umfeld. Dies ist mein erster Blog-Artikel, bitte seht mir etwaige Anfängerfehler nach :-).
Wir (Soprado) haben das Produkt myracloud.com, entwickelt und sind am 01.11.2012 damit in die Beta-Phase gestartet. Ich stelle euch heute vor was myracloud bietet, wie es das umsetzt und wie myracloud.com euch das Leben leichter machen kann.
Was ist myracloud und bei welchen Problemen hilft es mir?
myracloud ist ein System, das deine Webseite vor Angriffen schützt und sie zusätzlich auch noch deutlich beschleunigt.
myracloud löst eine Vielzahl deiner alltäglichen Probleme als Programmierer bzw. Sysadmin, unter anderem:
- Schutz vor DDoS-Attacken (smarte Filterung des Traffics)
- Schutz der DNS-Server
- Web Application Firewall (Schutz vor SQL-Injection, XSS und CSRF/XSRF uvm.)
- Caching und CDN-Funktionalität
- Sehr viel Bandbreite (dreistelliger GBit/s Bereich)
- Übersetzung IPv6 <-> IPv4 in alle Richtungen und Konstellationen
- Minimierung der Latenz durch AnyCast-Netzwerk, dadurch sehr hohe Ausfallsicherheit (komplett redundant in mehreren Rechenzentren)
- Automatisierte OnPage Optimierung (CSS-Compression, JS-Compression und Nachladen, Bilder verlustfrei optimieren)
Wie schützt myracloud meine Webseite?
Letzte Aktion in 2011: Server via IPv6 verfügbar machen
So, damit es nicht heißt mein Blog wäre in 2011 nicht via IPv6 erreichbar gewesen ist meine letzte Aktion dieses Jahr meinen Webserver via IPv6 erreichbar zu machen. Da mein Hoster nun auch endlich IPv6 für virtuelle Server anbietet war das ziemlich einfach: Man mußte im Kundenbereich die IPv6 Konnektivität aktivieren und 10 Minuten warten. Und schon war der Server via IPv6 erreichbar:
$ ifconfig venet0 | grep inet6 inet6-Adresse: 2a01:238:42b6:2a00:e661:84eb:4a08:ee54/128 Gültigkeitsbereich:Global inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
Dann mußte ich gerade noch den nginx neu kompilieren für die IPv6 Funktionalität (wurde eh mal wieder Zeit, war noch eine alte 0.8.53 Version), sodass ich nun die aktuelle 1.0.11 verwende:
Zuhause im IPv6 Web surfen (Teil2: Windows)
In Teil 1 haben wir bereits die Grundlagen von IPv4to6 Tunneling besprochen, wie man aus einem IPv4 Netz in das IPv6 Netz tunneln kann. Hier nun ein paar Screenshots zur Installation unter Windows:
(Diese Installation ist unter Windows 7 gemacht worden, unter Vista/Xp sollte es genauso funktionieren denke ich)
Vorher ist eine Verbindung zu http://www.six.heise.de nicht möglich:
Nun installieren wir die Tunnelsoftware von gogo6:
http://gogonet.gogo6.com/page/download-1
Unter Windows 7 kommt nach dem Start des Installers eine kleine Fehlermeldung, dass Windows 7 nicht unterstützt wird. Das kann man aber beheben, indem man die obere Option wählt, denn dann klappt die Installation einwandfrei (Windows 7 installiert das Programm dann im Kompatibilitätsmodus)
Während der Installation wird dann auch das Tunnel-Device erstellt:
Nach der Installation wird das Programm gestartet:
Für den anonymen Modus muss man nur noch auf „Connect“ klicken, und schon kann man IPv6 surfen:
Oder im Firefox die IPv6 Version von heise: http://www.six.heise.de
So einfach kann das sein.
ACHTUNG: Mit einem solchen Tunnel erhaltet ihr eine öffentliche IPv6-Adresse. Ihr umgeht damit euren Router/NAT und seid direkt aus dem Internet erreichbar. Achtet also darauf, welche Dienste ihr ins Internet zur Verfügung stellt! Eventuell müßt ihr eine lokale Firewall installieren/konfigurieren, damit ihr nicht zu einer Spam-Drohne werdet oder gar schlimmeres. Achtet auf Freigaben, lokale Entwickler-Webserver etc etc.
Zuhause im IPv6 Web surfen (Teil1: Ubuntu)
Das neue Internet Protokoll in der Version 6 wird kommen, soviel ist sicher. Da es ein langsamer Umstieg ist, leben wir aktuell in einer zweigeteilten Welt: Der alten IPv4 Welt und der neuen IPv6 Welt. Einige Länder sind bei der Umstellung schneller, andere müssen noch mehr oder weniger dazu gezwungen werden.
Ganz getrennt sind die beiden Welten jedoch nicht. Mit Hilfe von Tunnel-Protokollen und -Servern kann man zwischen den jeweiligen Netzen vermitteln.
Da die meisten von euch wohl noch IPv4 zuhause haben werden (kein großer deutscher Provider bietet aktuell IPv6 DSL-Anschlüsse an, es gibt nur ein paar kleinere), will ich hier kurz eine Anleitung schreiben, wie ich es zuhause nutze.
So sieht es vorher aus, wenn man noch keine IPv6 Verbindung hat (so sollte es bei euch auch aussehen):
$ ping6 ipv6.google.com connect: Network is unreachable
(Diese komplette Anleitung ist für Linux/Ubuntu, für Windows gibt es auch Software und eine Anleitung, also einfach weiterlesen)
Alles was wir brauchen ist eine Client-Software, die uns auf unserem Rechner hilft, ein Tunnel-Device zu erstellen, welches dann den IPv6-Traffic zum Tunnel-Server leitet. Ich habe zuhause die Software „gogoClient“(gw6c) genutzt, um mich mit einem kostenlosen IPv6 Tunnelbroker zu verbinden.
Es gibt verschiedene Möglichkeiten, je nach Betriebssystem, das grundlegende Vorgehen ist dabei: Download der Client Software und Starten der Sofware 😉
Und das müßt ihr dafür tun:
Ihr registriert euch kostenlos auf dieser Seite: http://gogonet.gogo6.com/
Jedes Mitglied dort erhält nämlich die Möglichkeit, die Software herunterzuladen und eine IPv6-Adresse (bzw. ein Netz) zu erhalten. Unten in diesem Artikel gibt es noch einige interessante Links, die man sich durchlesen kann, falls man Probleme hat oder wissen möchte, was alles hinter dem Service steckt. Oder gar eine feste IPv6-Adresse haben möchte.
Nach der Registrierung kann man hier den Client herunterladen:
http://gogonet.gogo6.com/page/download-1
Es gibt Versionen für Windows, Linux, *BSD, OpenWRT etc, alles was das Herz begehrt.
Nach dem Download entpackt man das entsprechende Archiv (Unter Windows startet man den Installer).
$ tar -xzvf gw6c-linux.tar.gz gw6c/ gw6c/template/ gw6c/template/README gw6c/template/linux.sh gw6c/bin/ gw6c/bin/gw6c.conf gw6c/bin/gw6c gw6c/bin/gw6c.conf.sample gw6c/man/ gw6c/man/man5/ gw6c/man/man5/gw6c.conf.5 gw6c/man/man8/ gw6c/man/man8/gw6c.8
In meinem Fall mußte ich nur noch eine kleine Einstellung in der gw6c/bin/gw6c.conf machen, nämlich den Pfad korrekt angeben, wohin ich gw6c entpackt habe:
gw6_dir=/usr/local/gw6c
Danach einfach starten via
sudo /usr/local/gw6c/bin/gw6c
Dann sollte der Tunnel aufgebaut sein:
$ ifconfig tun tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet6 addr: 2001:5c0:1000:a::539/128 Scope:Global UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1 RX packets:17 errors:0 dropped:0 overruns:0 frame:0 TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:1032 (1.0 KB) TX bytes:608 (608.0 B)
Falls das nicht der Fall ist, kann man das Logging aktivieren, indem man in der gw6c.conf die folgenden Einstellungen abändert:
log_file=3 log_filename=gw6c.log
Sobald nun also der Tunnel aufgebaut ist, können wir IPv6 nutzen:
$ ping6 ipv6.google.com PING ipv6.google.com(fx-in-x68.1e100.net) 56 data bytes 64 bytes from fx-in-x68.1e100.net: icmp_seq=1 ttl=56 time=42.3 ms 64 bytes from fx-in-x68.1e100.net: icmp_seq=2 ttl=56 time=44.8 ms 64 bytes from fx-in-x68.1e100.net: icmp_seq=3 ttl=56 time=44.4 ms 64 bytes from fx-in-x68.1e100.net: icmp_seq=4 ttl=56 time=48.3 ms 64 bytes from fx-in-x68.1e100.net: icmp_seq=5 ttl=56 time=43.6 ms
$ host ipv6.google.com ipv6.google.com is an alias for ipv6.l.google.com. ipv6.l.google.com has IPv6 address 2001:4860:a003::68
whois 2001:4860:a003::68 OrgName: Google Inc. OrgID: GOGL Address: 1600 Amphitheatre Parkway City: Mountain View StateProv: CA PostalCode: 94043 Country: US NetRange: 2001:4860:0000:0000:0000:0000:0000:0000 - 2001:4860:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF CIDR: 2001:4860:0000:0000:0000:0000:0000:0000/32 OriginAS: AS15169 NetName: GOOGLE-IPV6
Oder im Firefox:
Ihr surft nun also transparent in beiden Netzen. Falls eine Adresse ins IPv6 führt, wird es über gogo6 geroutet, bei IPv4 bleibt alles beim alten.
Man kann nun auch noch bei gogo6 den Freenet6 Tunnel Service nutzen und eine feste IPv6 Adresse bekommen. Dazu mußt man sich auf einer Seite registrieren, und mit diesen Registrierungsdaten die gw6c.conf anpassen. Und schon hat man eine statische IPv6 Adresse, unter der man auch seinen Rechner zuhause erreichen kann und Dienste anbieten kann.
Für Windows gibt es hier die Anleitung mit vielen Screenshots 🙂
Weitere Seiten, die man mit IPv6 Zugangn besuchen kann:
http://www.ipv6.bieringer.de (mit Informationen über die eigene IPv6-Adresse)
http://www.kame.net Die tanzende IPv6-Schildkröte aus Japan
ACHTUNG: Mit einem solchen Tunnel erhaltet ihr eine öffentliche IPv6-Adresse. Ihr umgeht damit euren Router/NAT und seid direkt aus dem Internet erreichbar. Achtet also darauf, welche Dienste ihr ins Internet zur Verfügung stellt! Eventuell müßt ihr eine lokale Firewall installieren/konfigurieren, damit ihr nicht zu einer Spam-Drohne werdet oder gar schlimmeres. Achtet auf Freigaben, lokale Entwickler-Webserver etc etc.
=======================================================
Interessante Kurzvideos über ping6, traceroute6, whois usw: http://ipv6.he.net/presentations.php
http://gogonet.gogo6.com/page/freenet6-tunnelbroker
http://gogonet.gogo6.com/page/help-center
http://gogonet.gogo6.com/page/service-status
Diese Anleitung sieht einfacher aus, hat bei mir aber nicht funktioniert: http://unquietwiki.blogspot.com/2009/10/go-go-dancing-on-internet-ipv6-anyway.html