DD-WRT VPN: PPTP Tunnel mit 2 Routern

Wer schonmal eine VPN Brücke aufgebaut hat, weiß, dass es manchmal ziemlich nervig sein kann, wenn die Geräte nicht so wollen wie man selbst will. Daher möchte ich die Einrichtung mal nach erfolgreichem Aufsetzen so einer Brücke zwischen zwei DD-WRT geflashten Routern mit diesem kleinen Tutorial festhalten:

Folgendes soll realisiert werden:

(Computer1)—Subnet1—Router1 mit PPTP-Server—Internet—Router2 mit PPTP-Client—Subnet2—(Computer2)

Das Routing soll Bidirektional und über dynamisch vergebene ISP IP’s laufen.

Zur Verfügung stehen zwei Router mit DD-WRT firmware. (In meinem Fall ist dies eine LaFonera der Uraltgeneration mit der Firmware: DD-WRT v24-sp2 (08/07/10) std und ein Linksys WRT54GL V1.1 mit der FW: DD-WRT v24-sp2 (08/07/10) vpn)

Grundkonfig für Router 1 (Lafonera):

  • Addresse: 192.168.1.1
  • Netzmaske: 255.255.255.0
  • Gateway: 0.0.0.0
  • DHCP Range: 192.168.1.100-150
  • DDNS: router1.no-ip.com (DDNS Account bei einem Dienst aus der Liste anlegen- s. Foto unten)

Grundkonfig für Router 2 (WRT54GL):

  • Addresse: 192.168.2.1
  • Netzmaske: 255.255.255.0
  • Gateway: 0.0.0.0
  • DHCP Range: 192.168.2.100-150
  • DDNS: router2.no-ip.com

ROUTER 1:

  1. Im Webinterface einloggen, dann auf Setup>Basic Setup klicken.
  2. Router- und Hostnamen setzen
  3. Local IP Address auf 192.168.1.1 setzen
  4. Subnet Mask auf 255.255.255.0 setzen
  5. auf save klicken

DDNS einrichten:

ddns

Setup>DDNS
Dienst auswählen, bei dem 2 Accounts anlegen und die Accountdaten vom ersten im Webinterface eintragen:

 

 

 

Nun müssen wir eine Route anlegen, damit die Daten auch durch den VPN Tunnel gehen und nicht woanders hin.
Dazu zu Setup>Advanced Routing gehen und folgendes eintragen:

  1. Route Name: z.B. router2
  2. Metric: 0
  3. Destination LAN NET: 192.168.2.0
  4. Subnet Mask: 255.255.255.0
  5. Gateway: 192.168.1.190
  6. Interface: ANY

router2

Da der PPTP-Server an seine Clients eigene IP-Adressen vergibt, muss man in der Route auch angeben, dass der Traffic dorthin umgeleitet werden muss- in dem Fall 192.168.1.190. 192.168.2.1 wird nicht funktionieren! Erst danach ist der Router 192.168.2.1 mit einem Ping erreichbar.

 

 

  1. Dann unter Security>Firewall Filter WAN NAT Redirection deaktivieren.

Nun wollen wir den PPTP-Server unter Services>VPN konfigurieren:

  1. PPTP-Server: Enable setzen
  2. Broadcast support: Enable
  3. Force MPPE Encryption: Enable (wir wollen ja nichts unverschlüsselt übertragen)
  4. DNS1&2: leer lassen
  5. WINS1&2: leer lassen
  6. Server IP. 192.168.1.1
  7. Client IP(s): 192.168.1.190-199 (Schreibweise exakt nach dem Muster und außerhalb der DHCP IP-Vergabeliste. Kann auch was anderes als 190-199 sein- sollte aber dann oben auch geändert werden. Mehr dazu gleich.)
  8. CHAP-Secrets: Router2 * Ganzgeheimespassworthiereinsetzen * (wichtig: zwischen den Sternchen muss eine Leerstelle sein!)
  9. Save und apply Settings anklicken
  10. Router neustarten: Administration>Reboot Router (ganz unten)

Der erste VPN-Client der sich später verbindet, wird dann die erste IP aus dem Range zugewiesen bekommen. in dem Fall ist das die 192.168.1.190. Daher muss diese IP auch in der Route stehen, wenn der Router2 sich verbindet. Und zum erneuten Route aufbauen sollte sich dann auch kein anderer verbinden, da sonst eine andere IP zugewiesen wird. Dann muss die Route angepasst werden.

ROUTER 2:

  1. Im Webinterface einloggen, dann auf Setup>Basic Setup klicken.
  2. Router- und Hostnamen setzen
  3. Local IP Address auf 192.168.2.1 setzen
  4. Subnet Mask auf 255.255.255.0 setzen
  5. auf save klicken

DDNS einrichten:

Setup>DDNS

Rest wie oben, nur die Accountdaten der 2. Adresse router2.no-ip.com eingeben.

 

Damit nun die Pakete auch auf die andere Seite kommen, gehen wir nun wieder zur Routeneinstellung unter: Setup>Advanced Routing

  1. Route Name: z.B. router1
  2. Metric: 0
  3. Destination LAN NET: 192.168.1.0
  4. Subnet Mask: 255.255.255.0
  5. Gateway: 192.168.1.1
  6. Interface: ANY

Da die IP des PPTP-Servers statisch ist, muss diese nun logischerweise unter Gateway stehen.

Nun zu den PPTP-Client Einstellungen unter Services>VPN.

  1. PPTP Client Options: Enable
  2. Server IP or DNS Name: router1.no-ip.com
  3. Remote Subnet: 192.168.1.0
  4. Remote Subnet Mask: 255.255.255.0
  5. MPPE Encryption: noipdefault mppe required
  6. MTU: 1450
  7. MRU: 1450
  8. NAT: Enable
  9. User Name: Router2
  10. Password: Ganzgeheimespassworthiereinsetzen
  11. Save & Apply Settings

Wenn der Router2 vorher eine andere lokale IP-Adresse hatte (Standard: 192.168.1.1) sollte er nach kurzer zeit nun unter 192.168.2.1 erreichbar sein!

Dann noch den zweiten Router rebooten unter Administration>Reboot Router

Dann warten und hoffen das alles klappt.

Theoretisch braucht der 2. Router keine DDNS Adresse. Aber falls man den Tunnel andersherum aufbauen möchte, oder zusätzlich noch einen 2. PPTP Server starten will macht das Sinn (z.b. um sich von außerhalb per VPN direkt einklinken zu können)

Das sollte es gewesen sein. 😉

 

Dieses Tutorial ist an das m.E. veraltete Originaltutorial aus dem DD-WRT Wiki angelehnt: http://www.dd-wrt.com/wiki/index.php/Point-to-Point_PPTP_Tunneling_with_two_DD-WRT

Veröffentlicht in Allgemein, IT, Netzwerk Getagged mit: , , , , ,

KODI / XBMC: TV Livestreams

Es gibt für KODI (ehem. XBMC) ein Livestreamplugin, mit dem man u.a. deutsche TV Sender schauen kann. Leider funktionieren die mitgelieferten Streams teilweise nicht. Daher habe ich mal eine Channeldatei gebastelt, mit der man das besagte Plugin füttern kann. Folgende Sender sind nun darin enthalten:

ARD:
Das Erste
Tagesschau
Westdeutscher Rundfunk
Saarländischer Rundfunk
Bayerischer Rundfunk
Südwestrundfunk
NDR Hamburg
NDR Mecklenburg-Vorpommern
NDR Niedersachsen
NDR Schleswig-Holstein
rbb Berlin
rbb Brandenburg
MDR Sachsen-Anhalt
MDR Sachsen
MDR Thüringen
Arte
KiKA
Phoenix
HR
ARD-Alpha

ZDF:
ZDF
ZDFneo
ZDFkultur
ZDFinfo
3Sat

Sonstiges:
NRW.TV
Joiz
DAF
N24
eRtv
ServusTV
DW-TV

International:
NASA - ISS HD Earth Viewing Experiment
Al Jazeera

Die Streamurl wird vom Plugin direkt aus der Mediathek der Sender aufgerufen. Wenn ich noch weitere offizielle Links der anderen Sender finde, werde ich die noch ergänzen. XBMC aktualisiert selbstständig die XML Datei beim Aufrufen von „Livestream“. Änderungen sollten daher automatisch übernommen werden.

Die Datei könnt Ihr downloaden und als Source oder als Link in den Plugineinstellungen hinzufügen:

http://dl.gmlblog.de/deutschesender.xml

Ihr findet die Plugineinstellungen unter Videos > Addons > Livestream. Alles weitere siehe unten:

1

2

 

 

 

 

 

Für Faule ist hier noch der Direktlink zur ZIP-Datei von der o.g. Webseite:
http://redirect.superrepo.org/v7/addons/plugin.video.live.streams/plugin.video.live.streams-1.1.6.zip

vlcDas Ganze gibts jetzt auch als VLC-Playlist. Das dürfte sicherlich auch den einen oder anderen nicht-XBMC Besitzer freuen:

Download

 
Diese Playlist kann übrigens auch im Kodi PVR-Addon IPTV Simple Client importiert werden.

 
Des weiteren habe ich noch eine kleine Mobilversion für Smartphones erstellt. Derzeit nur iOS5-Design. Unter iOS7 entsteht ein kleiner Grafikfehler beim Zurückbutton, was die Funktion allerdings nicht beeinträchtigt.
Die Version ist auch lauffähig unter Android!
>>>zur mobilen Version<<<

 

Noch ein Hinweis:
Ich habe jetzt auf meinem Gitlab-Server(>>>LINK<<<) die Datei mit den Streaminglinks hochgeladen, aus der die Dateien für das Livestreamplugin generiert werden. Damit der Kommentarbereich wg. Bugmeldungen/Ausfällen irgendwann nicht explodiert, bitte ich euch, Fehler, Anregungen, Erweiterungen etc., dort im Issue-Tracker ein Ticket zu erstellen. Das ist wesentlich übersichtlicher und erleichtert mir die Wartung an den Inhalten. Um Spam zu vermeiden, ist allerdings eine Registrierung erforderlich. Eine Kurzanleitung für das Melden selbst herausgefundener Streaminglinks habe ich auch eingefügt. Danke.


Changelog:
10.05.14: Alles repariert.
Falls es wieder Probleme mit dem Stream geben sollte, ruhig bescheid geben, dann schaue ich mir das an.

16.05.2014: VLC-Playlist als Alternative zu KODI/XBMC hinzugefügt

13.06.2014: Downloadstatistik hinzugefügt

16.06.2014: Mobilversion hinzugefügt

08.10.2014: Die Streamingdateien werden jetzt dynamisch generiert. Das erleichtert mir die Arbeit, die links zu ändern. Bei Fehlern bitte benachrichtigen!
Noch ein kleiner Hinweis: Manche Streams liegen nicht als „m3u8“ Playlist vor, die allerdings vom iphone benötigt wird, um den Stream wiederzugeben. Die betreffenden Streams liegen im „Sonstiges/other“ Ordner in der mobilen Ansicht. Ich arbeite aber noch dran.

Veröffentlicht in Allgemein, Sonstiges Getagged mit: , , , , , , , ,

Uberspace: Maildrop – filtern nach Betreff

Nach meinem Ansatz die lästigen Spammails als gelesen in den Spamordner zu schieben, gibt es wohl noch agressivere Spams wie z.b. die Dr. Oz, die von Spamassassin nicht erkannt werden.

Dank maildrop gibt es ja die Filter, mit denen man dies ganz „bequem“ rausfiltern und in den Spamordner schieben kann.

Der Codeschnipsel ist kurz und knackig- lässt sich aber beliebig nach demselben Schema erweitern:

Im Folgenden findet man diese Erweiterung im Beispielcode vom letzten Beitrag:

Ähnlich steht das auch im Uberspace-Wiki

Veröffentlicht in Allgemein, Uberspace Getagged mit: , , , , ,

Uberspace: Spammails als gelesen markieren

Spammails sind schon nervig- daher habe ich mal an einer akzeptablen Lösung für den maildropfilter von uberspace gebastelt. Diese Lösung erscheint mir sinnvoller, als die Spammail einfach in /dev/null zu schieben, da eventuell auch eine wichtige Mail aus „versehen“ als Spam markiert werden könnte.

Da ich virtuelle User benutze, muss man den Filter noch seinen eigenen Bedürfnissen anpassen. In meinem Fall liegt das ganze in einem zentralen Maildropfilter (z.B. /home/user/.mailfilter).

Wer sich noch zur Einrichtung von Maildrop informieren möchte, der möge bitte im Uberspace-Wiki nachschauen: http://uberspace.de/dokuwiki/mail:maildrop

Wer seine Spammails noch einmal die Woche löschen möchte, kann das über einen kurzen Cronjob erledigen. Die „0“ steht hierbei für den Wochentag- Sonntag:

und das wars schon. 😉

Veröffentlicht in Allgemein, Uberspace Getagged mit: , ,

DD-WRT AdBlock

Da die modernen Medien mittlerweile von Werbung überflutet werden, habe ich mir mal gedacht meinem Router beizubringen, diese zu entfernen. Damit fällt auch die Anzeige auf mobilen Geräten wie Smartphones/iPads/etc weg, solange sich diese im lokalen Netzwerk befinden. Um mich kurz zu halten, werde ich einfach sofort mit dem Tutorial starten:

1.
Ins Webinterface einloggen und unter „Adminstration>Commands“ folgendes unter „Save Startup“ speichern:

Zur Erklärung:
Der Router läd eine fertige Hostdatei herunter, die die meisten Werbeserver enthält und wird dann dem Nameserver (dnsmasq) des Routers hinzugefügt. Die hier angebotene Datei wird von meinem Server am Wochenende aus mehreren Hostdateien u.a. von http://www.mvps.org/winhelp2002/hosts.txt generiert. Dazu habe ich noch manuell weitere Server hinzugefügt, damit die Werbung noch auf den iDevices blockiert wird. Eine Liste aller Anbieter der Hostfiles befindet sich am Anfang der Datei.

2.
Dann muss unter „Services“ DNSMasq und Local DNS auf „Enable“ gestellt werden:

dnsmasq
Wichtig hierbei ist, dass in dem Feld für die zusätzlichen Optionen für DNSMasq die letzte Zeile frei bleibt, falls Ihr dort noch was stehen habt. Sonst wird nachher in der Config der neue Parameter nicht übergeben. Ansonsten wie auf dem Bild leer lassen.

3.

Einen neuen Cronjob unter „Administration“ hinzufügen:

Cronjob
Damit wird die hosts Datei jede Woche Sonntags nachaktualisiert. Alternativ würde auch ein Routerneustart dasselbe bewirken.

(Bild links veraltet)

 

 

Zum Schluss noch den Router neustarten und das wars. Keine nervige Werbung mehr in Apps, auf Webseiten, etc.

Die Hosts Datei kann natürlich auch so heruntergeladen werden:

http://dd-wrt.gmlblog.de/hosts0

Letzte Hostdatei Aktualisierung und md5-Hash: date

Ich habe mich für die Variante einer fertiggenerierten externen Hostdatei entschieden, da nicht alle Router so viel Rechenleistung mitbringen, mal eben schnell so eine aus mehreren Dateien zu erstellen, wie hier im DD-WRT-Wiki erklärt ist. Dadurch bootet ein Router wesentlich schneller.

Changelog:
10.01.2013

  • Filterung von Echofonwerbung hinzugefügt

02.03.2014

  • Erweiterung der Liste durch 2. Liste von http://jamesisbored.com/iphone/adblock.
    Aufgrund von Komplikationen ist die stündliche Nachaktualisierung vorübergehend gestoppt.

09.03.2014

  • sleep Befehl hinzugefügt. Dadurch sollte nun vermieden werden, dass der Router den Downloadvorgang beginnt, bevor eine Verbindung ins Internet hergestellt wurde.

13.03.2014

  • Hostfile generator gestartet. Die fertige Hostdatei wird einmal die Woche aktualisiert. Den Cronjob oben habe ich entsprechend angepasst.

05.05.2014

  • Md5 Hash hinzugefügt.

30.07.2015

  • Zwei weitere Hostsdatei-Adressen hinzugefügt

Veröffentlicht in Allgemein, IT Getagged mit: , , , , , , ,