How to: Garstige Uni-Internetzugänge umgehen

Der @_kazuya88 hat um die fehlende Verfügbarkeit des ZDF-Livestreams getrauert. Er befindet sich nämlich momentan in Australien, wo der Stream aus rechtlichen Gründen nicht verfügbar ist. Noch dazu kommt, dass VPN-Zugänge von der Uni, über dessen Netzwerk er online geht, gesperrt sind. Internet light also. Hier die Abhilfe:

Man nehme:

  • Einen unixoiden Server (Ubuntu, Debian, Red Hat, whatever…)
  • Einen Mac als Client, weil ich mich weigere, Tutorials für Windows-User zu schreiben^^
  • SSH auf dem Server

Zunächst sollte man prüfen, ob der Port 22 (SSH-Standard-Port) von der Uni gesperrt ist. Dazu einfach per

mac:~ user$ ssh user@server.tld

schauen, ob die Verbindung klappt. Falls eine Verbindung zustande kommt, einfach mit …warte, ich habe hier ja gar keine Nummerierung… egal, unten weitermachen.

Falls nicht, müsst ihr irgendwie anders auf den Server zugreifen und beispielsweise mit

user@server:~# nano /etc/ssh/sshd_config

die SSH-Server-Konfiguration auf einen fast nie geschlossenen Port ändern. Beispielsweise Port 443, der eigentlich für HTTPS-Verbindungen verwendet wird. Natürlich sollte dieser Port nicht schon von einer anderen Anwendung auf dem Server genutzt werden. Liefert euer Server beispielsweise per SSL Internetseiten aus, fällt Port 443 wahrscheinlich flach. Einfach andere Ports probieren.

user@server:~# /etc/init.d/ssh restart

startet den SSH-Daemon neu. Infolgedessen fliegt man wahrscheinlich aus der SSH-Session. Nicht schlimm. Mit

mac:~ user$ ssh -p 443 user@server.tld

verbindet sich der Mac auf dem neuen Port mit dem Server. Dort muss nun noch folgender Befehl ausgeführt werden, damit Linux Traffic weiterleitet:

user@server:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Anschließend geht’s in die Systemeinstellungen des Macs und dort in die Netzwerkeinstellungen. Um später schnell switchen zu können, ist es ratsam, die aktuelle Netzwerkumgebung zu duplizieren. Danach folgt ein Klick auf das verbindende Netzwerk-Interface, beispielsweise Wi-Fi, und dort auf „Advanced“/“Erweitert“.
[Bild depubliziert.]

Im Reiter „Proxies“ wird ein Haken beim SOCKS-Proxy gesetzt und als Adresse „localhost“ und ein beliebiger unbelegter Port eingegeben. Dieser Port hat nichts mit dem vorher gesetzten SSH-Port des Servers zu tun.

Auf dem Mac kann nun mit

mac:~ user$ ssh -p 443 -D 8888 -N user@server.tld

ein lokaler SOCKS-Proxy gestartet werden, der allen Traffic über einen SSH-Tunnel und schließlich den Server leitet. Das Terminal-Fenster muss dabei geöffnet blieben, allerdings gibt es beispielsweise mit dem SSH Tunnel Manager ein griffiges Tool, welches komfortabel in der Menu-Bar sitzt.

Spätestens jetzt sollten die vorgenommenen Änderungen an den Netzwerkeinstellungen übernommen werden, damit der Mac den Traffic über den SOCKS-Proxy routet. :)