Datenhaufen zu IT und Elektronik.

Autor: Sebastian van de Meer (Seite 49 von 49)

ORIGINAL

Software, Spiele, Filme… müssen original sein!

Auch wenn es für viele etwas befremdlich klingen mag aber ich halte es nicht für richtig, sich Software, Filme, Musik oder ähnliches, schwarz zu „besorgen“.
Die Endwicklung dieser Produkte hat zum einen Geld gekostet und zum Anderen sind die meisten Produkte auch ihr Geld wert.

Sind einem diese Produkte einfach zu teuer kann er sie ja auch im Ausland oder gebraucht kaufen.
Will jemand herausfinden ob einem dieses Produkt überhaupt zusagt, kann er es sich fast immer in einer Videothek oder einem Spieleverleih ausleihen und testen.

Ich kann mir kein Argument vorstellen, welches es rechtfertigen würde sich Software oder ähnliches schwarz zu besorgen. Wer es anders sieht bitte E-Mail schreiben.

DAVfs2 und GMX: WebDAV unter Linux einrichten

Mit davfs2 den 1GB großen GMX Account als Laufwerk einbinden.

Den GMX Account gibt es kostenlos und man hat die Möglichkeit ihn mit bis zu 1GB Daten zu füttern. Fast jeder Linux User hat schon in den Konqueror ein: webdavs://mediacenter.gmx.net/ getippert und dort einige Daten zwischengelagert oder sonst etwas damit angestellt!

Wäre es nicht aber eine wunderbare Sache diesen Speicherplatz zu mounten und dann so nutzen zu können wie jedes andere „normale“ Laufwerk?

Ein großer Vorteil ist die Erreichbarkeit. Denn fast alles läuft über https. Ist also fast in jeder Firewall offen und es ist verschlüsselt. Was will man mehr?

Wer es nun einrichten möchte, sollte wie folgt vorgehen:

1.
Zuerst muss das Paket „davfs2“ installiert werden. Gentoo User machen einfach mal ein emerge -a davfs2. Unter /etc/davfs2 müssen in der Datei ’secrets‘ die Accountdaten für das GMX-Mediacenter, nach folgendem Schema, gespeichert werden:

# 1. Account
https://XXXXXXXX@mediacenter.gmx.net/ XXXXXXXX „Passwort1“
# 2. Account
https://YYYYYYYY@mediacenter.gmx.net/ YYYYYYYY „Passwort2“

Die Buchstabenreihe ist hier gegen die achtstellige Kundennummer des Accounts zu ersetzten. In der Datei wird nun das Kennwort im Klartext stehen. Aus diesem Grund sollte die Datei nur vom root zu lesen sein chmod 0600!

2.
Mountpunkte setzen und User-Mount erlauben

Zuerst muss im Dateisystem für die externen Datenspeicher ein Mountpunkt angelegt werden. In diesem Beispiel werden ‚/mnt/extern1‘ resp. ‚extern2‘ verwendet.

Die Datei /etc/fstab wird sodann um die zwei Mounpunkte und den Mountparametern erweitert:

https://XXXXXXXX@mediacenter.gmx.net/ /mnt/extern1 davfs user,noauto 0 0
https://YYYYYYYY@mediacenter.gmx.net/ /mnt/extern2 davfs user,noauto 0 0

 Als root kann man nun mit mount /mnt/extern1 den externen Webdav-Datenspeicher einbinden. Damit aber ein normaler User die Mediacenter mounten kann, müssen zusätzliche Vorkehrungen getroffen werden.

Auf /usr/lib/mount-davfs-2.6 muss das SUID-Bit als root mit chmod 4755 gesetzt werden. Wer einen 2.4er-Kernel verwendet, nimmt /usr/lib/mount-davfs-2.4.

Der herkömmliche Benutzer besitzt keine Schreibrechte auf /var/run/mount.davfs. Da in diesem Verzeichnis die PID des Mountprozesses abgelegt wird, sollte man als root die Berechtigungen bspw. mit chmod auf ‚0770‘ setzen und die Gruppe des Verzeichnisses mit chgrp auf ‚users‘ (z.B.) setzen. Hier kann man verfahren wie man möchte, Hauptsache ist nur, dass der oder die Benutzer das Verzeichnis schreiben dürfen. Allerdings empfiehlt sich ein chmod 0777 nicht unbedingt.

Als letzten Schritt kopiert man die Datei /etc/davfs2/secrets in das Homeverzeichnis des entsprechenden Benutzers in den Ordner ~/.davfs2. Auch hier muss die Datei secrets die Zugriffsrechte 0600 aufweisen.

SSH/OpenSSH

SSH (SecureShell) ist inzwischen sehr verbreitet. Es hat bzw. sollte Telnet überall ersetzt haben. SSH nutz eine Verschlüsselung um zwischen zwei Rechnern Daten auszutauschen. SSH kann aber noch vieles mehr. Z.B. kannst du mit scp einfach, schnell und sicher Dateien von einem Rechner auf einen anderen Kopieren.

scp dateien user@rechner:/pfad

Du kannst aber auch X-Weiterleitungen sehr einfach realisieren. Hierzu musst du einfach in deine sshd_config folgende Option auf yes setzten.

X11Forwarding yes

Mal angenommen du besitzt ein altes (SEHR) altes Notebook. Dieses Notebook hat gerade noch genug Leistung zum Hochfahren und starten des X-Servers. Dieses Notebook könntest du jetzt als eine Art X-Terminal benutzen. D.h.: du tipperst ein:

ssh -X rechner

in deine X-Konsole und meldest dich nun mit deinen Usernamen an einem Zweitrechner in deinem Netzwerk an, welcher etwas mehr Leistung hat und auch gleich noch die Programme installiert sind, mit denen du jetzt gerne auf dem Notebook arbeiten willst. Du tipperst nach der Anmeldung also ooffice oder was du halt gerade brauchst ein. Darauf bekommst du dann nur die GUI auf dein Notebook. Die gesamte Datenverarbeitung und Rechenleistung für das genutzte Programm kommt nun vom anderen Rechner.

Bist du mal über eine sehr schwache Leitung an dein System angeschlossen kann dir die Option -C sehr helfen. Diese sorgt dafür das der gesamte Datenstrom komprimiert wird. So ist die zu übertragende Datenmenge kleiner und alles sollte flotter gehen.

ssh -C rechner

Wie sicher ist dieses SSH denn nun?

Man kann sagen, recht sicher. Es gibt natürlich keine absolute Sicherheit und es hängt auch immer ein großer Teil vom User und der Konfiguration ab.

Du solltes also einige Punkte in der Konfiguration seines SSH-Servers ändern. Diese liegt fast immer unter: /etc/ssh/ und schimpft sich sshd_config!

– Nur SSH2
Das SSH1 Protokoll gilt als unsicher. Programme wie z.b.: ettercap sind in der Lage hier Kennwörter und Usernamen herauszulesen. Zu dem bietet SSH2 eine ganze Stange mehr an Möglichkeiten. Daher sollte nur das Protocol 2 genutzt werden.

Protocol 2

– Root-Login is nicht

Der User Root braucht keinen direkten Login. Wer wirklich von extern auf seinem Rechner administrieren will der kann als User auch su oder sudo benutzen. Da SSH2 wohl kaum zu entschlüsseln ist, wird ein Angreifer es meist mit Brute Force versuchen. Er braucht zu dem Kennwort welches er damit bekommen möchte erst mal einen Usernamen. Da er Root haben will und dieser wohl auch immer auf einer Linux-Kiste zu finden ist, wird er es auch auf diesen Account probieren. Verbieten wir jetzt aber den Login für den User Root kann der Angreifer es sehr lange Probieren 😛

PermitRootLogin no

– Kein User/Passwort verfahren

Die Geschichte mit dem Brute Force hatten wir ja jetzt. Was aber wenn der Angreifer einen Usernamen von unserem System kennt. Dann ist es erstmal nur noch eine Frage der Zeit. Tja und da die meisten User keine „guten“ Passwörter haben….. Viel besser ist es wenn der User ein Zertifikat hat, mit welchem er sich anmelden darf. Weiter unten zeige ich wie es gemacht wird. Hier aber erstmal das User/Passwort verfahren verbieten!

PasswordAuthentication no

Das Public-Key-Verfahren (jetzt kommt die Beschreibung) ist da viel besser. Zuerst bauen wir einen schön langen Schlüssel auf dem Client:

ssh-keygen -b 4068 -t dsa

Nun tauchen im Homeverzeichniss des Users, mit dem wir den Schlüssel erstellt haben, unter: ~/.ssh/ zwei Dateien auf: id_dsa und id_dsa.pub. Den Publickey id_dsa.pub packen wir nun auf den Server. Direkt in die Datei authorized_keys (vielleicht müssen wir diese noch mit der Hilfe von touch anlegen). Die Datei sollte im Homeverzeichniss des zu autorisierenden Users im Ordner .ssh angelegt werden. Haben wir das alles so eingetragen brauchen wir kein Kennwort mehr.

Wie wäre es mit einem Tunnel durch die Firewall?

OK… klingt ja ganz nett. Aber warum sollte ich einen Tunnel in meine Firewall machen?
Das kann ich dir erklären. Stell dir mal vor du sitzt mit deinem Notebook in einem Netzwerk wo du dir nicht sicher bist das keiner deine Verbindungen abhört oder gar die Verbindungen über bestimmte Ports blockiert sind. Du willst nun aber eine E-Mail schreiben! Oder bestimmte Ports sonst wie durch diese oder eine andere Firewall verschlüsselt tunneln.

Um einen einfachen Tunnel zu basteln musst du jetzt nur noch folgendes machen:
Computer2:

ssh -N -R 5555:localhost:22 user@erreichbarer_rechner

Jetzt passiert etwas feines 🙂 Denn nun geht am „erreichbarer_rechner“ der Port 5555 auf und der beamt dann alles durch den Tunnel an Computer2 an den Port 22 weiter.

Du kannst nun also sitzen wo du willst. Sobald du versuchst dich auf Port 5555 mit dem Computer „erreichbarer_rechner“ zu verbinden, wird deine Anmeldeanfrage direkt an Computer2 weitergeleitet. So bekommst du also sofort das Login von Computer 2.

ssh erreichbarer_rechner -p 5555

Geil, was?

Linux

Ich möchte hier jetzt keine Loblieder auf Linux anstimmen.
Es gibt im Internet so viele Beschreibungen zu Linux das ich hier nicht
noch unbedingt eine verfassen muss. Wer jetzt aber unbedingt eine haben will,
der schaut bitte auf (wikipedia.de) nach.
Ich finde einfach das Linux DAS Betriebssystem ist. Ich selbst nutze es
seit einigen Jahren und bin auch schon lange Windowsfrei.

Meine Oma hat mir auf den Rat von meinem Exchef (Roland Andris),
eine 5.x Suse zu Weihnachten geschenkt. Seit diesem Zeitpunkt bin ich dabei.

Linux läuft auf allen meinen Servern (Debian), auf dem Testrechner(Gentoo),
Notebook(Gentoo), auf dem Zaurus (Opie) und auf meinem Hauptrechner(Sun Solaris 10 *).

Ich suche immer weitere Linux-User aus meiner Umgebung, für den Erfahrungsaustausch
beim Bierchen am Abend oder gemeinsame Projekte. Leute die sich für Wardriving /
Allgemeiner Sicherheit in EDV-Netzwerken interessieren und zu dem noch hier aus der
Umgebung sind können sich gerne bei mir melden.

So schaut KDE 3.4 inkl. X.org und echter Transparenz aus.

* ja, auf meinem Hauptrechner werkelt seit einiger Zeit das OS Solaris 10 von der Firma SUN.
Auch wenn Solaris nicht wirklich Linux ist 🙂 mag ich diese OS….

So schaut der standard Desktop von Solaris 10 aus, wie man aber sehen kann habe ich KDE 3.4.3 auch
schon installiert! JA man arbeitet nicht als root, ich weiss.
War auch nur für das Bild. Mein Userdesktop ist zu „unaufgeräumt.“

GPG


GPG ==> GNU Privacy Guard
GPG ist die freie Version von PGP. Jeder Mensch mit etwas Hirn
sollte seine E-Mails und Daten signieren oder wenn nötig verschlüsseln.
So kann man sicher gehen, dass die signierten Daten unverändert sind und zum
Anderen sind die Daten, durch die Verschlüsselung, recht sicher.

Bisher ist es nur über Bruteforce Angriffe auf den geheimen Schlüssel möglich
ohne das Passwort an die verschlüsselten Daten zu gelangen. Hierzu benötigt der Angreifer
aber ersteinmal den geheimen Schlüssel. Um es einem Angreifer aber selsbt dann noch schwer
zu machen sollte das Passwort selbst sehr lang sein, Zahlen, Sonderzeichen sowie Groß- und
Kleinschreibung enthalten.
23784728247$$“8##1_seu2n181JIONc8 ==> als Passwort ist da schon super, wenn man es behalten kann ;-P
Um so länger um so mehr Möglichkeiten. Sind dazu noch Sonderzeichen, Zahlen und die Groß- und
Kleinschreibung zu beachten, ist es nach heutigem Ermessen kaum in einem Menschenleben heraus zu bekommen.

Ich signiere JEDE meiner E-Mails. Sollet ihr eine E-Mail von mir
bekommen, welche nicht signiert ist. Dann ist diese E-Mail
sehr wahrscheinlich NICHT von mir!!!
Jetzt müsst ihr natürlich nur noch checken können ob die Signatur echt
ist.
Aus diesem Grund oder wenn ihr mir verschlüsselte Daten senden wollt braucht
ihr natürlich den öffentlichen Schlüssel 🙂
Hier könnt ihr ihn anfragen: kernel-error@kernel-error.com
Wer gpg auf seinem Rechner installiert hat nutzt einfach folgenden Konsolenbefehl:

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 0F9874D8

Der Befehl wird natürlich von dem User in der Konsole ausgeführt, welcher auch den Schlüssel haben will.

Fingerprint:

80CF 9044 6B58 67DA 3A55 854A F01C 3E04 0F98 74D8

Weitere Informationen gibt es bei mir oder am besten noch unter:
http://www.gnupg.org

Wie arbeite ich mit GPG?

GPG kann vollständig aus der Konsole heraus konfiguriert und benutzt werden.
Ich möchte hier keine Anleitung zu GPG erstellen, sondern nur einen Überblick
über einige der wichtigsten Funktionen geben.

Mit folgendem Befehl stößt man die Erstellung eines eigenen Schlüsselpaares an:

gpg --gen-key

Jetzt werden einige Fragen zum zukünftigen Schlüsselbesitzer und dazu gestellt, wie der
Schlüssel aussehen soll. Mit kurzem überlegen wird jeder diese Fragen ohne Vorkenntnisse selbst beantworten können.

Über den Befehl:

gpg --list-keys

Werden nun alle Schlüssel am „Schlüsselbund“ des Benutzers angezeigt. Hier sollte nun auch
der gerade erstellte zu bewundern sein.

Es kann vorkommen, dass man sein Passwort zu seinem Schlüssel vergisst, den Schlüssel selbst verliert
oder Unbefugte Zugriff auf diesen erhalten. Daher ist es ganz sinnvoll sich ein Widerrufszertifikat
zu erstellen. Mit dessen Hilfe kann man später seinen Schlüssel widerrufen. Der Befehl hierzu ist:

gpg --output revoke.asc --gen-revoke deine@e-mail.adresse

Klar ist hier wohl, den Privat-Key und das Widerrufszertifikat irgendwo zu sichern und vor
unbefugtem Zugriff zu schützen!

Nun kann man schon munter E-Mails sowie Daten signieren und verschlüsseln. KDE-User sollten sich
das Programm kgpg mal genauer anschauen (http://developer.kde.org/~kgpg/). In fast jedem
E-Mailclient lässt sich GPG integrieren. Microsoft Windows Benutzer schauen bitte hier.

Jetzt ist es natürlich ganz praktisch, wenn jemand unsere Signatur (also unsere digitale Unterschrift)
auch überprüfen kann. Dazu benötigt er aber unseren öffentlichen Schlüssel.
Von diesem können wir eine Kopie mit folgendem Befehl in eine Datei exportieren:

gpg --armor --export deine@e-mail.adresse > meinschluessel.asc

Die Datei können wir nun selbst weitergeben oder gleich, mit folgendem Befehl, auf einen Schlüsselserver laden:

gpg --keyserver wwwkeys.uk.pgp.net --send-key deine@e-mail.adresse

Will man einen fremden Schlüssel aus einer Datei importieren nutzt man:

gpg --import newkey.txt

Vom Schlüsselserver holt man ihn sich so:

gpg --keyserver wwwkeys.uk.pgp.net --recv-keys 0xkeyid

Im Zusammenhang mit GPG sollte man unbedingt hier vorbeischauen.

Signiert der Kernel Error meinen Schlüssel?

Klar, kein Problem. Na ja fast kein Problem 😉
Du packst dir zwei staatlich beglaubigte Dokumente mit Lichtbild, welche deine Identität
bestätigen. Wenn du diese hast, schickst du mir eine E-Mail in der du mich bittest deinen
Schlüssel zu signieren. Auf diese bekommst von mir eine Antwort mit mehr Informationen.

Natürlich werde ich vor dem Signieren dein Gesicht mit deinem Schlüssel und den Dokumenten
vergleichen. Wir müssen uns dazu also real treffen. Passt alles zusammen bekommst du meine Signatur!
Fragen und Anregungen einfach per E-Mail an Sebastian van de Meer: kernel-error@kernel-error.com


Natürlich lässt sich mein Schlüssel auch per pka von meinem DNSsec (Artikel DNSsec) geschützten DNS Server hohlen (GPG im DNS)

CAcert


Jeder der etwas mit EDV vertraut ist, wird mir sicher zustimmen. Daten im Rechner oder aus dem Internet sind schön und gut. Nur sind sie auch wirklich vom Autor, welcher im Dokument steht? Sind die Daten vielleicht verändert worden? Unterhalte ich mich auch gerade wirklich mit dem Server oder hat mit ein Hacker über einen fake-dns auf seinen Server geleitet?

 

Genau um solche Dinge sicher zu stellen, gibt es Zertifikate. Eine gute Möglichkeit für Privatleute oder kleine Firmen ist da CAcert.

CAcert:

CAcert ist eine gemeinschaftsbetriebene nicht kommerzielle Zertifizierungsstelle (Root CA), die kostenfrei X.509-Zertifikate für verschiedene Einsatzgebiete ausstellt. Damit soll eine Alternative zu den kommerziellen Roots CAs geboten werden, die zum Teil recht hohe Gebühren für ihre Zertifikate erheben. Die Dienstleistungen der CAcert sind allgemein. Jeder kann sich Zertifikate auf seinem Namen bzw. auf seinen Server ausstellen lassen, nachdem er seine Identität ausreichend belegt hat.

Zertifikate
Folgende Zertifikate und Signaturen werden angeboten:

Client-Zertifikate
Diese Zertifikate sind personalisiert, sie dienen zum Beispiel zum Verschlüsseln und Signieren von E-Mails und anderen Daten, aber auch Authentifikation an Servern oder zum Signieren von Softwarecode.

Server-Zertifikate
Server-Zertifikate stellen die Identität eines Servers sicher und dienen als Basis für verschlüsselte SSL/TLS-Verbindungen. Es gibt eine Bandbreite von Diensten, bei denen Server-Zertifikate zum Einsatz kommen. Dazu gehören u. a. HTTPS, FTP(S), SMTP(S), POP(S) und IMAP(S).

Signatur des PGP-Schlüssels
Man kann den eigenen PGP-Schlüssel zur Signatur einreichen. Die CAcert bestätigt dann die Identität des Schlüsselbesitzers.

Assurance / Identitätsprüfung
Um ein Zertifikat zu erhalten, muss man sich zunächst auf der Seite https://www.cacert.org/index.php?id=1 als Benutzer anmelden. Jedem Benutzerkonto sind Punkte (Assurance Points) zugeordnet, die auf verschiedenen Wegen von anfänglich 0 bis auf 150 Punkte erhöht werden können. Die Punkte geben an, wie genau die Identität eines Benutzers überprüft wurde (bis 100 Punkte) bzw. wieviele Punkte er beim Überprüfen der Identität eines anderen Benutzers vergeben darf (ab 100 Punkten).

Die Authentifikation der eigenen Identität gegenüber CAcert kann auf zwei Arten erfolgen:
Zum einen besteht ein Netzwerk aus Freiwilligen (Web of Trust), gegenüber denen sich der neue Benutzer ausweisen kann, um Punkte zu erhalten. Eine Liste der freiwilligen Assurer ist auf der Internetseite zu finden. Sie können maximal 35 Punkte vergeben. Bei besonderen Veranstaltungen wie z.B. Messen können Super-Assurer sofort die maximalen 150 Punkte vergeben.
Zum anderen sind ‚Vertrauenswürdige Dritte‘ (Trusted Third Parties) wie Notare zugelassen, die aufgrund ihrer Position (Beruf) die Identität des Benutzers bestätigen können. Hier können auch bis zu 150 Punkte erlangt werden.

Quelle:
http://de.wikipedia.org/wiki/CAcert
http://www.cacert.org/

Ich selbst bin auch ein solcher Assurer und kann die begehrten Punkte vergeben.
Interessierte schicken mir bitte eine kurze E-Mail. Dann können wir ein Treffen absprechen!


Wer sich für CAcert interessiert, sollte sich auch unbedingt den Beitrag: „StartSSL“ anschauen.

IPv6

Es ist 2003 und ich lerne IPv6, besser spät als viel zu spät 😛 Könnte man _fast_ sagen.

Da der ISP nicht aus dem …. kommt, setzte ich als Tunnel Broker SixXS ein. Zusammen mit dem AICCU ist hier der Weg offen für alle Tests, auf einer Linuxschüssel!

 


Hey, ich habe von SixXS gerade ein komplettes /48 bekommen…. Wie cool ist das denn?


 

Es gibt einen interessanten Ticker, welchem einem vorrechnet wie viel IPv4 Adressen

es noch gibt und wie lange es wohl dauert bis die Letzte IPv4 Adresse vergeben wurde.

Macht für mich irgendwie den Eindruck wie unsere Deutsch Schuldenuhr, nur das es schnell gegen Null läuft.

 
Ich arbeite gerade an meiner IPv6 Zertifizierung bei Hurrican Electric. Wie

weit ich damit inzwischen gekommen bin, kann man an diesem Bildchen beschauen!

Schon ist es so weit… Die Zertifizierung ist abgeschlossen, fehlt nur noch

das T-Shirt 🙂

Zusätzlich ist https://www.kernel-error.de/ ab jetzt für alle IPv6 only

Systeme komplett zu erreichen. Das gilt natürlich auch für E-Mail usw..

IPv6 Certification Badge for sebastianvdm
https://www.kernel-error.de/ ist jetzt schon IPv6 validiert. 
Hurricane Electric T-Shirt Sendung
Umschlag
Hurricane Electric T-Shirt vorne
T-Shirt vorne
Hurricane Electric T-Shirt hinten
T-Shirt hinten

Hier nun ein paar der Dinge, welche ich schon verstanden habe!

 


  • IPv6 ist nicht IPv4



  • NAT ist tot 🙂



  • Man darf ~verschwenderisch mit Adressen umgehen~


 

Das man jetzt verschwenderisch mit Adressen umgehen kann/soll ist für mich sehr gewöhnungsbedürftig. Ich habe Vorschläge gesehen, jedem Dienst eine eigene IP-Adresse zu verpassen. So sind spätere Umzüge dieser Dienste auf andere Server viel einfacher zu realisieren. Denn noch fällt es mir extrem schwer einer NIC 10 oder mehr feste ~öffentliche~ IP-Adressen zu geben… Wenn man sich aber überlegt das man als Netz per default ein /64 bekommt und dieses ohne jede Begründung vorm RIPE, wird einem da schon ganz anders (positiv gemeint)! Wie auch immer, ich werde mich schon daran gewöhnen. Sicher kann ich mir in einigen Jahren überhaupt nicht mehr vorstellen, wie es mit den wenigen Ipv4 Adressen überhaupt funktioniert hat. Es soll denn noch Leute geben, welche ein /4 doch noch einführen wollen O_o ich hoffe doch schwer dass so ein Mist nicht kommt!

 

IPv6 Adressen haben eine länge von 128bit. Es gibt also 2128 Möglichkeiten. Das sind 3,40282367 * 1038 oder ausgeschrieben: 340 282 366 920 938 463 463 374 607 431 768 211 456 noch Fragen?

 

Im Gegensatz zu IPv4 Adressen werden IPv6 Adressen hexadezimal geschrieben und zwar so, das immer zwei Bytes durch einen : getrennt werden.


  • 2a01:0198:0200:0945:0000:0000:0000:0002


OK, das kann sich kein Mensch mehr merken. Wohl auch ein Grund, warum der Umstieg von IPv4 zu IPv6 etwas abschreckt. Ein 192.168.2.3/24 macht einem sofort klar welche Adressen es im Netz geben kann, wie groß es ist usw. usw… Ein 2a01:0198:0200:0945:0000:0000:0000/64 sieht erstmal wüst aus, zu dem ist es SO groß das man es einfach nicht alles im Kopf haben kann. Ohne gut funktionierendem DNS-Server kann man also IPv6 knicken!

 

Man kann die IPv6 Adressen etwas einkürzen. So darf man alle führenden Nullen einfach streichen, was aus meinem Beispiel schon so etwas macht:


  • 2a01:198:200:945:0:0:0:2


Zusätzlich kann man einen ganzen Block Nullen gegen zwei Doppelpunkte tauschen (wirklich nur einen Block, bei zwei Blöcken wüsste am Ende ja keiner wieviele Nullen es nun wo sein müssen). Damit schaut es nun so aus:


  • Als Adresse: 2a01:198:200:945::2



  • Als Netz: 2a01:198:200:945::/64


Kürzer ist es schon mal!

 

Ach ja, aus IPv4 ist die Darstellung als Prefix mit herübergewandert.

So ist die kleinste Größe für PI (Provider Independent) 2a01:198::/32 = 65536 /48 Netze und für PA (Provider Aggregatable) 2a01:198:200::/48 = 65536 /64 Netzte. Das bedeutet, ein 2a01:198:200:945::/64 hat also ca.: 18.446.744.073.551.616 Adressen. Ich sag ja, ein /64 kann man nicht mehr wirklich überblicken (es soll Ausnahmen geben)!

 

ARP wurde bei IPv6 von ND (Neighbor Discovery) abgelöst. IPv6 ist stark auf Autokonfiguration ausgelegt. Zusätzlich gibt es daher auch DAD (Duplicatet Address Detection). Im Grund wäre ein DHCP Server nur noch nötig um weitere Informationen wie DNS-Server, WINS (blödes Beispiel ich weis) usw.. an den Client zu übermitteln! Geil vor allem… mit DAD ist es viel viel viel viel einfacher geworden redundante DHCP-Server zu betreiben. Zumindest in der Theorie. Wenn ich mich näher mit ND, DND usw. beschäftigt habe, werde ich das mal genauer aufschlüsseln 🙂

 

Zurück zu den Adressen…..

 

Der localhost hat die coolste und kürzeste Adresse bekommen:

::1

Hier kann man sehr schön den Vorteil mit den :: anstelle der Nullenblöcke erkennen. Sonst müsste ich hier schreiben:

0000:0000:0000:0000:0000:0000:0000:0001 (mist nun habe ich es doch geschrieben)

Das localnet ~Broadcast Domain~ (Broadcast ist hier leicht das falsche Wort, ich habe aber im Moment nichts besseres) hat damit:

ff02::1

 

ff002 ist ne feine Geschichte. Will ich mir anschauen welche Hosts sich hier tummeln, sollten diese auf folgendes reagieren:

ping6 -I interface ff02::1

Mit Routern ist es ähnlich, diese sollten auf folgendes reagieren:

ping6 -I interface ff02::2

 

Link local Adressen sind immer welche aus dem Netz:

fe80::/10

 

Für Dokumentation ist:

2001:DB8::/32 vorgesehen.

 

Alle Adressen beginnen also mit fe80, fe90 fea0 oder feb0. Jetzt wird es kompliziert, denn der Host bildet diese Adresse immer selbst, auch die öffentlichen beim RA. Dieses macht er indem er vom Hexadezimal wert FE80 die ersten 10 Bits in binär also 1111111010 sowie 54 folgende binäre Nullen nutzt. Für die letzten 64 Bits wird die NIC-ID (die MAC Adresse) des Hosts im EUI-64 Format benutzt (Wir müssen ja auf 128 kommen). Somit sollte die Link Local Adresse eindeutig sein! Aber es sollte ja auch jede MAC-Adresse eindeutig sein. Zum glück gibt es ja jetzt DAD 😀 Wie zu sehen ist haben die IPv6 Jungs schon mitgedacht. Denn die MAC Adressen haben ja nur 48 Bit. Es wird aber das EUI-64 Format benutzt. Die MAC Adressen dürfen also, wenn sie irgendwann auch mal knapp werden, auf 64 Bit erweitert werden, ohne das IPv6 umgebaut werden muss. IPv6 kann also jetzt schon mit 64 bitigen MAC-Adressen umgehen. Ich finde das cool!

 

Ich nutze, wie schon erwähnt, https://www.sixxs.net als Tunnelbrocker. Hier also jetzt erstmal eine kleine Werbeeinblendung für SixXS. Die Jungs stellen ihren Dienst kostenlos zur Verfügung. Um Missbrauch klein zu halten muss man bei der Anmeldung schon begründen, warum man einen Account haben möchte. Dieses wird dann auch wirklich von einem Menschen begutachtet. Zusätzlich gibt es ein Punktesystem. Nach der Anmeldung hat man genug Punkte um einen Tunnel mit einer IPv6 Adresse zu beantragen. Hat man diesen muss bewiesen werden, dass man diesen Tunnel 24/7 offen halten kann, dann gibt es mehr Punkte. Nach einer gewissen Zeit kann man dann ein Netz /48 beantragen. Damit hat man dann die Möglichkeit 280 = 1,2082582 * 1024 = 1208925819614630000000000 Hosts online zu bringen… Ich meine damit das es feste öffentlich erreichbare IP Adressen sind. Wer schon mal versucht hat als „normaler“ Mensch bei seinem ISP auch nur EINE feste IP zu bekommen der wird verstehen warum mir hier die Kinnlade auf den Tisch geknallt ist! Zusätzlich kann das ganze natürlich auf das eigene >>RIPE-Handle<< gelegt werden.

 

Möchte man seine Linuxkiste dazu überreden als Router zu arbeiten hat sich im ersten Schritt nicht viel gegenüber IPv4 geändert.

echo 1 > /proc/sys/net/ipv6/conf/default/forwarding

Man beachte bitte das IPv6 einen eigenen Filter hat. Nicht mehr iptables sondern ip6tables. Wer iptables kennt, kann auch ip6tables!

Ein kleines Beispiel für ip6tables habe ich hier…

 

Das Thema IPv6 und Autokonfiguration habe ich ja schon angesprochen. Wir brauchen also ein kleines Stück Software, welches unsere Linuxkiste im Netzwerk als IPv6 Router bekannt macht. Der Router Advertisement Daemon (radvd) ist da mein Mittel der Wahl. Nach der Installation sollte es die Konfigurationsdatei /etc/radvd.conf geben. In meinem Fall schaut diese wie folgt aus:

 

interface eth0
{
AdvSendAdvert on;
AdvLinkMTU 1280;
MaxRtrAdvInterval 300;
prefix 2a01:198:200:945::/64
{
AdvOnLink on;
AdvAutonomous on;
};
 
};

 

Wurde der Daemon gestartet, informiert er nun alle am Interface eth0 angeschlossenen Systeme darüber, dass mein Netz 2a01:198:200:945::/64 hier geroutet wird. Auf den einzelnen Host kann man dann mit:

ip add show eth0

//Ich gewöhne mir gerade an, anstelle von ifconfig immer ip zu benutzen. Dieses kann irgendwie mehr und stellt Infos sinnvoller dar, finde ich zumindest :-D//

Sehen ob diese sich eine IP aus diesem Netz geholt haben. Im Grunde reicht diese Konfiguration schon aus um allen anderen Systemen im Netz ins Internet zu bringen und das Internet direkt an alle Systeme. Hier fällt einem auf: KEIN NAT… Die Systeme sind also damit direkt im Internet. Man sollte sich also einen Kopf über echtes Firewalling machen und vielleicht darüber, welche Dienste man überhaupt wie und wo anbietet! Sonst geht das schnell ins Auge!

 

Inzwischen ist mein root-server mit allen Diensten schon per IPv6 zu erreichen, was recht einfach war.

 

Fragen oder Anregungen sehe ich natürlich wie immer gerne!

 


 

Ich habe gerade ein ganz cooles Firefox Plugin gefunden. Dieses zeigt einem unten rechts im Fenster jeweils die IP des Webserver an, mit welchem man sich gerade unterhält. Grün ist dabei immer IPv6 (für den der es nicht schon an der Adresse sieht)! Das Plugin ist hier zu finden: https://addons.mozilla.org/de/firefox/addon/590/ Klickt man auf die IP werden einem Möglichkeiten wie: netcraft, whois.sc usw.. geboten!

 

 

 

Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑