You could set the PS3 to use a static DNS server. You could try OpenDNS, which has servers on 208.67.222.222
and 208.67.220.220
, or try Google's public DNS server on 8.8.8.8
and 8.8.4.4
.
Transparente Internetverbindung mit PS3 gemeinsam nutzen
Ich versuche, ein japanisches Karaoke-Spiel auf einer PS3 zu spielen, aber die Latenz ist einfach fürchterlich und das Herunterladen von Songs dauert ewig. Eine Empfehlung, die ich erhielt, war, meinen Laptop in einen SOCKS-Proxy zu verwandeln, indem er sich über OpenSSH auf dem Server meines Freundes in Japan anmeldete.
[Server] ---- (SSH-Tunnel) --- [wlan0 <Laptop> eth0] --- [PS3]
Also habe ich das gemacht:
ssh -ND 4711 login@friend.server
In diesem Moment habe ich versucht, google.com von meinem Laptop aus mit Firefox (mit SOCKS-Proxy-Einstellungen) zu erreichen, und ich wurde zu google.co.jp umgeleitet. Großartig.
Dann wollte ich meine PS3 über Ethernet mit meinem Laptop verbinden.
Ich habe eth0 zuerst eine statische IP zugewiesen mit:
ip link set dev eth0 up ip addr add 139.96.30.100/24 dev eth0
Ich habe dann einen DHCP-Server auf meinem Laptop gestartet, um der PS3 eine IP mit zu geben:
systemctl start dhcp4.service
Und schließlich habe ich NAT mit etwas iptables-Zauber aktiviert:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Ich ging zu "Networks Settings" und testete die Verbindung von meiner PS3 und schön, es schien zu funktionieren. Ich habe den Webbrowser gestartet und google.com wurde an google.fr weitergeleitet. Wie dumm, ich habe vergessen, die Verbindung an den richtigen Port weiterzuleiten.
Nach vielen Verbindungsweiterleitungen über iptables, die nicht funktionierten, entschied ich mich für einen transparenten Proxy: Redsocks. http://darkk.net.ru/redsocks/
Nach der Installation habe ich /etc/redsocks.conf an meine Bedürfnisse angepasst:
redsocks { local_ip=0.0.0.0; // documentation says: "use 0.0.0.0 if you want to listen on every interface" local_port=31388; ip=127.0.0.1; port=4711; }
Der Rest wurde ausgelassen, wie in https://github.com/darkk/redsocks/blob/master/redsocks.conf.example
Ich habe die grundlegenden Redsocks.Rules verwendet, die in dem von mir installierten Paket enthalten sind:
*nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :REDSOCKS - [0:0] # Redirect all output through redsocks -A OUTPUT -p tcp -j REDSOCKS # Whitelist LANs and some other reserved addresses. # https://en.wikipedia.org/wiki/Reserved_IP_addresses#Reserved_IPv4_addresses -A REDSOCKS -d 0.0.0.0/8 -j RETURN -A REDSOCKS -d 10.0.0.0/8 -j RETURN -A REDSOCKS -d 127.0.0.0/8 -j RETURN -A REDSOCKS -d 169.254.0.0/16 -j RETURN -A REDSOCKS -d 172.16.0.0/12 -j RETURN -A REDSOCKS -d 192.168.0.0/16 -j RETURN -A REDSOCKS -d 224.0.0.0/4 -j RETURN -A REDSOCKS -d 240.0.0.0/4 -j RETURN # Redirect everything else to redsocks port -A REDSOCKS -p tcp -j REDIRECT --to-ports 31338 COMMIT
Dadurch konnte ich die SOCKS-Proxy-Einstellungen für Firefox und luakit nicht mehr verwenden, was ich bei google.com in google.co.jp test bestätigte.
Ich dachte, ich müsste noch NAT aktivieren, also redid ich:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Die PS3 umging anscheinend den systemweiten Proxy und google.com wurde auf google.fr umgeleitet. Ich habe dann die Datei redsocks.rules so verwendet, wie sie ohne Masquerading war. Ich glaubte, dass ich sowieso kein NAT brauche, da der Redsocks-Server offenbar auf jeder Schnittstelle zuhört.
Ich habe versucht, die PS3 erneut anzuschließen, und die folgende Meldung wurde angezeigt (nachdem die PS3 eine IP von meinem DHCP-Server erhalten hatte und keine Internetverbindung herstellen konnte):
"Bei der Kommunikation mit dem Server ist ein Fehler aufgetreten. Dies ist ein DNS-Fehler."
Dort bin ich gerade. Ich denke, es könnte ein Problem mit Redsocks sein, da es einen DNS-Server namens dnstc verwendet, der dies gemäß der Dokumentation tut:
dnstc { // fake and really dumb DNS server that returns "truncated answer" to // every query via UDP, RFC-compliant resolver should repeat same query // via TCP in this case. local_ip = 127.0.0.1; local_port = 5300; }
Meine wilde Vermutung ist, dass meine PS3 die DNS-Auflösung über UDP anfordert und dass dnstc immer mit "abgeschnittener Antwort" antwortet. Wenn ich es richtig verstehe, sollte es die Anfrage erneut über TCP senden, aber anscheinend erzeugt es stattdessen einen DNS-Fehler.
Was soll ich machen? Oder genauer:
- Sind Redsocks unnötig? Bin ich nur iptables-Analphabet?
- Sollte ich einen DNS-Server installieren und die DNS-Anfragen weiterleiten? Wenn das so ist, wie?
Vielen Dank für das Lesen dieser Textwand! Hoffe, es saugt nicht zu viel für eine erste Frage ...
1 Antwort auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4