Beiträge getagged mit tipps

tinc-VPN als sicheren Exit-Node

Guten Morgen,

nachdem der letzte Eintrag jetzt ja doch wieder ein Weilchen her ist (keine Sorge, ich habe auch die Artikelserie zum Thema Sicherheit nicht vergessen, ich bin nur aktuell 1. beschäftigt und 2. nicht sonderlich motiviert) habe ich hier mal wieder ein Goodie für euch:

Ein Script, das dafür sorgt, dass man seinen tinc-VPN-Server als Exitnode für einen Tunnel nehmen kann ohne sich dabei die Finger zu brechen.

Warnung: YMMV, ich habe alles auf der Konsole gemacht, ich habe keine Ahnung, ob sich das Script mit GUI-Foo wie z.B. dem network-manager verträgt.

Vorbereitung:

tinc installieren:

# apt-get install tinc

tinc.conf erstellen:

# echo "# Kurzname des Routers/Computers Name = $NAME_DES_NODES # Mit folgenden Computern versuchen zu verbinden ConnectTo = $DEIN_SERVER # Arbeitsweise des VPN Mode = Router # alternativen Port zu 655 verwenden Port = 8656" > /etc/tinc/$DEIN_NETZWERK/tinc.conf

tinc-up erstellen:

# echo "#!/bin/sh ip addr add dev $INTERFACE 1.2.3.4/24 broadcast 1.2.255.255 ip link set dev $INTERFACE up" > /etc/tinc/$DEIN_NETZWERK/tinc-up

tinc-down erstellen:

# echo "#!/bin/sh ip route del default ip route add default via $ORIGINAL_GATEWAY dev $INTERFACE" > /etc/tinc/$DEIN_NETZWERK/tinc-down

Dateien ausführbar machen:

# chmod +x /etc/tinc/$DEIN_NETZWERK/tinc-*

Keys erstellen:
# mkdir /etc/tinc/$DEIN_NETZWERK/hosts
# tincd -n $DEIN_NETZWERK -K

Dieser Befehl erstellt einen private- und einen public-key. Bitte beim private-key einfach mit Enter bestätigen und beim public-key
den Speicherort /etc/tinc/$DEIN_NETZWERK/hosts/$NAME_DES_NODES wählen.

Jetzt passt Du die host-Datei an
# vi /etc/tinc/$DEIN_NETZWERK/hosts/$NAME_DES_NODES

Folgende Eintragungen sind vor dem Key zu machen:

Address = $IP_DES_NODES Address = $FQDN_DES_NODES_1 Address = $FQDN_DES_NODES_2 Port = 8656

Geh jetzt die gleichen Schritte auf Deinem Server nochmals durch. Du solltest jetzt auf Client und Server jeweils ein Exemplar der host-Datei haben, diese sollten natürlich unterschiedliche IPs haben und unterschiedliche Namen. Mein Laptop z.B. heißt loki, der Server heißt bifroest.

Jetzt kopierst Du die host-Datei von Deinem Client auf den Server und umgekehrt:

# scp /etc/tinc/$DEIN_NETZWERK/hosts/$NAME_DES_NODES root@server.

Wenn beide Dateien ausgetauscht sind sollten die beiden Rechner miteinander reden können:

# tincd -d 3 -n $DEIN_NETZWERK
startet den tinc-daemon mit log-level 3.

# tail -f /var/log/syslog
zeigt euch den Output. Wenn keine Fehlermeldungen aufblinken sollte es so weit tun.

Bis hierher ist das alles noch nichts besonderes, ihr habt jetzt also den ersten Schritt gemacht und könnt euren Server über ein VPN erreichen. So lange jetzt aber nicht alle Verbindungen über diesen Server geroutet werden, bringt euch das nicht wirklich weit.

Um sicherzustellen, dass das ganze Ding jetzt tut, was es soll, müsst ihr zunächst dem Server beibringen, das Richtige ™ zu tun.

Einsatz als Exitnode:

Dazu verbindet ihr euch mit dem Server:
$ ssh root@server.tld

und führt dort folgende Befehle durch:

# iptables -t nat --append POSTROUTING -i $DEIN_NETZWERK -j MASQUERADE iptables -t nat --append POSTROUTING -j MASQUERADE iptables -t nat --append PREROUTING -i $DEIN_NETZWERK -j ACCEPT cat /proc/sys/net/ipv4/ip_forward

Das sorgt dafür, dass euer Server Verbindungen einfach durchschleift und sie nicht zwischendrin blockiert.

Wenn der Server so weit vorbereitet ist, könnt ihr das folgende Script auf dem Client ausführen:

#!/bin/sh #I don't think that this is necessary but I'll do it anyway: #License: CC #define variables GW="$(ip r get 8.8.8.8 | gawk '{print $3}')" TUN="$IP_DES_SERVERS_IM_VPN" INTERFACE="$(ip r get 8.8.8.8 | gawk '{print $5}')" EXIT="$IP_DEINES_SERVERS/32" # change routes ip route del default ip route add $EXIT via ${GW%0x*} dev ${INTERFACE%0x*} ip route add $TUN dev $DEIN_NETZWERK ip route add default via $TUN dev $DEIN_NETZWERK echo 'nameserver 8.8.8.8' > /etc/resolv.conf echo "routes established" ip r show
Ja, das sind mindestens 2 dirty hacks: awk den Hex-Wert abgewöhnen und die resolv.conf überschreiben aber es funktioniert. Ich habe
das Script unter /etc/tinc/$DEIN_NETZWERK/tinc-route gespeichert. Außerdem habe ich ein weiteres Script angelegt:

# echo "#!/bin/sh tincd -n $DEIN_NETZWERK" > /etc/tinc/$DEIN_NETZWERK/tinc-auto

Dieses dient dazu, beim Start der Netzwerkverbindung den tinc-daemon automatisch anlaufen zu lassen.

Meine /etc/network/interfaces habe ich angepasst wie folgt:

# dhcp-basiertes Kabelnetz iface auto inet dhcp pre-up "/etc/tinc/bifroest/tinc-auto" post-up "/etc/tinc/bifroest/tinc-route"

Damit startet zunächst der tinc-daemon, dann bezieht das interface eine IP und dann werden die Routen angepasst.

Wenn ihr jetzt # mtr eingebt, sollte eure Route über euren Server verlaufen.

Fragen oder Anmerkungen wie immer jederzeit gern in den Kommentaren.

, , , , , , ,

Keine Kommentare

Kurztipp: Tooltipp im IceWM umplatzieren

Onli schreibt zum Tooltipp im IceWM folgendes:

Wenn ShowWorkspaceStatus an ist, wird in einer kleinen Nachricht der Name der aktuellen Arbeitsfläche angezeigt. Diese Nachricht liegt immer knapp über der Taskbar. Wird diese gar nicht angezeigt, z.B. weil ein Dock ihre Funktion übernimmt das von der Nachricht blöderweise fast verdeckt wird, bekommt man die Anzeige scheinbar nur dort weg, indem man die gesamte unsichtbare Taskbar per TaskBarAtTop=1 nach oben legt.

Da ich mich mit dem IceWM nicht wirklich auskenne, bedanke ich mich bei Onli, und übernehme ich das mal so wie es ist. ;-)

, , ,

Keine Kommentare

Neues Handy steht an

Bei mir steht in den nächsten Tagen der Kauf eines neuen Handys an, und es wird wohl ein HTC Desire. Ich habe mich schon im Vorfeld schlau gemacht, wie es mit der Zusammenarbeit mit dem Pinguin ausschaut.

Die einfachste Lösung dafür wird dann die sein, die ich dann auch nutzen werde: Synchronisation über mein Google-Konto.

Da das Desire ja mit Android als Betriebssystem läuft, welches bekanntlich von Google stammt, ist die Verwendung des Google-Kontos hier gleich eingebaut. So werde ich dann das Adressbuch mit Google Contacts und den Kalender mit dem Google Calendar abgleichen können, Mails sind über IMAP eh schon synchron gehalten.

Auf dem PC und dem Netbook, und jeweils in der Windows- und der Linuxinstallation, nutze ich Thunderbird für den Mailverkehr, und mit der Lightning-Erweiterung auch als Terminkalender. Hier habe ich schon lange auch die Extension „Provider for Google Calendar” im Einsatz, um den Onlinekalender aus meinem Google-Konto in Thunderbird einzubinden. Und das geht in beide Richtungen, sowohl lesend, als auch schreibend.

Gestern Abend dann habe ich die Erweiterung „Zindus” installiert, die das Adressbuch mit Google Contact abgleicht. Dadurch habe ich natürlich erst mal ein großes Durcheinander im Adressbuch, da ich Google Contacts kaum gepflegt habe. Somit standen da ne Haufen Mailadressen drin, mit denen ich irgendwann mal Kontakt hatte, und die stehen nun auch im Thunderbird-Adressbuch. Und sind etliche Dopplungen bei, die zuvor schon lokal sauber und Ordentlich mit Namen, Telefon-Nummern und Postadressen ausgefüllt waren.

Der Vorteil: Ich halte auch automatisch die Adressbücher auf allen Rechnern synchron. Dass ich die E-Mails auch hier über IMAP abrufe, brauche ich ja nicht zu erwähnen. Somit sind diese automatisch synchron gehalten.

Jetzt steht die Bereinigung des recht umfangreichen Adressbuches an, damit ich den doppelten Müll nicht auf das neue Handy ziehe. Das werde ich Montag oder Dienstag bekommen, wie es im Moment ausschaut, und dann will ich soweit vorbereitet sein. ;-)

, , , , , ,

7 Kommentare

Media-Streaming zur Playstation 3

PS3 LogoSeit ein paar Tagen gibt es bei uns im Haushalt denn auch mal eine Spielkonsole: Eine Playstation 3 von Sony.

Nachdem ich mich ein bisschen mit den Möglichkeiten der PS3 beschäftigt habe, wollte ich die Option nutzen, auf meinem PC vorhandene Medien-Inhalte (Bilder, Musik, Videos) über die Konsole wiederzugeben. :denk:

Dazu musste natürlich als erstes mal eine Netzwerk-Verbindung her, und dafür bietet die Box auf der Rückseite einen LAN-Anschluss. Ich habe aber die Möglichkeit gewählt, die PS3 per WLAN ins Netz zu bringen. Die Verbindung zur FRITZ!Box war denn auch flux eingerichtet und aktiv. Schon gab es ein Software-Update über das Internet, und ich konnte die FRITZ!Box als Media-Server erkennen. Zum Rest des Beitrags »

, , , , ,

Keine Kommentare

The Gimp auf Deutsch

Gimp LogoIch hatte letztens mal erwähnt, dass die Grafik-Bearbeitung „The Gimp” nicht Deutsch mit mir reden wollte. Ich hatte aus älteren Installationen in Erinnerung, dass es eine eigene Lokalisierung für diese Software gab. Jetzt fand ich jedoch nur eine übersetzte Hilfedatei.

Nun, ich machte mich auf die Suche, und wurde in diversen Foren fündig: Installiere einfach das Paket „language-pack-gnome-de”, und alles wird gut.

Es widerstrebt mir zwar, die Übersetzung für den kompletten Gnome-Desktop nachzuladen und zu installieren. Die Alternative ist aber ein nicht lokalisiertes Gimp…

Auf jeden Fall funktioniert es so, The Gimp spricht Deutsch :-)

, , , , ,

Keine Kommentare