Anschließen meiner Xbox 360 an meinen Raspberry Pi 2, um eine OpenVPN-Verbindung zu verwenden

918
OzBarry

Hier ist mein kurzer Aufbau:

  • Xbox 360
  • Himbeer-PI 2 mit ArchLinuxARM (Alarm)
  • Der Haupt-Ethernet-Port des Himbeer-Pis verfügt über ein Kabel, das direkt mit meinem Hauptrouter verbunden ist
  • Die Xbox verfügt über ein Crossover-Kabel, das mit einem Ethernet-zu-USB-Anschluss des Himbeer-Pi verbunden ist
  • Ich verwende den openvpn systemd-Dienst (der das tun0Gerät erstellt).

Ich habe ein VPN-Konto erworben und wollte meinen Xbox 360-Verkehr dadurch leiten. Nach tun, Forschung, konnte ich meine xbox mit meinem Raspberry Pi als Router bekommen. Mein Himbeer-Pi verbindet sich mit dem Netzwerk / Internet über eth0und hat ein Crossover-Kabel, das mit meiner Xbox über verbunden ist eth1.

eth0hat eine statische ip an 10.0.0.31, eth1hat eine statische ip von 10.0.1.100und die xbox hat eine statische ip von 10.0.1.101.

Hier ist meine iptables-Konfiguration:

# Generated by iptables-save v1.4.21 on Mon Apr 6 00:37:36 2015 *filter :INPUT ACCEPT [91:6512] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [45:4220] -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i eth1 -o eth0 -j ACCEPT -A FORWARD -d 10.0.1.101/32 -i eth0 -p tcp -m tcp --dport 3074 -j ACCEPT -A FORWARD -d 10.0.1.101/32 -i eth0 -p udp -m multiport --dports 88,3074 -j ACCEPT COMMIT # Completed on Mon Apr 6 00:37:36 2015 # Generated by iptables-save v1.4.21 on Mon Apr 6 00:37:36 2015 *nat :PREROUTING ACCEPT [8:3607] :INPUT ACCEPT [2:144] :OUTPUT ACCEPT [1:86] :POSTROUTING ACCEPT [2:146] -A PREROUTING -i eth0 -p tcp -m tcp --dport 3074 -j DNAT --to-destination 10.0.1.101 -A PREROUTING -i eth0 -p udp -m multiport --ports 88,3074 -j DNAT --to-destination 10.0.1.101 -A POSTROUTING -o eth0 -j MASQUERADE COMMIT # Completed on Mon Apr 6 00:37:36 2015 

Meine Xbox-Konfiguration ist (übrigens mit Google DNS):

  • IP-Einstellungen: Manuell
  • IP Adresse: 10.0.1.101
  • Subnetzmaske: 255.255.255.0
  • Tor: 10.0.1.100
  • DNS-Einstellungen: Manuell
  • Primär: 8.8.8.8
  • Sekundär: 8.8.4.4

Dies funktioniert perfekt, wenn meine VPN-Verbindung deaktiviert ist.

Wenn ich meinen openvpn-Dienst einschalte, stellt die xbox keine Verbindung mehr zum Internet her (DNS-Fehler), jedoch kann das Himbeer-Pi immer noch im Internet surfen, und ich kann bestätigen, dass ich erfolgreich über mein VPN geroutet werde .

Wenn das VPN deaktiviert ist, stellt die xbox eine gute Verbindung zum Internet her und funktioniert wie erwartet.

Ich kenne mich mit IP-Tabellen nicht aus, und dieses allgemeine Routing wurde eingerichtet, um zu wissen, ob Protokolle generiert werden, ob es sich um meine iptables-Konfiguration, die Xbox oder etwas anderes handelt.

Irgendwelche Ideen, wie man das lösen kann?

Aktualisieren:

Ich habe einen anderen Linux-Laptop (der NetworkManager verwendet, falls dies wichtig ist) eth1mit der folgenden Konfiguration verbunden:

  • IPv4-Methode: Manuell
  • DNS-Server: 10.0.0.1
  • IP Adresse: 10.0.1.101
  • Netzmaske: 255.255.255.0
  • Tor: 10.0.1.100

Wenn die VPN-Verbindung deaktiviert ist, kann ich das Internet problemlos nutzen. Wenn der vpn eingeschaltet ist, kann ich gut auf das LAN zugreifen (und sogar ssh in das Himbeer-Pi, das seine 10.0.0.31IP-Adresse verwendet), jedoch funktioniert DNS nicht und ich kann auch keine externen Adressen pingen.

Gibt es eine Reihe von Protokollen, bei denen ich ein Ende setzen sollte, um genau zu sehen, was passiert?

Update Nr. 2:

Ich verwende dieses arch linux-Paket für OpenVPN-Profile und habe eine Datei für die automatische Anmeldung konfiguriert. Mir ist aufgefallen, dass ein Skript ausgelöst wird, das resolv.conf auf irgendeine Weise modifiziert, was möglicherweise etwas bewirkt.

1
Sie können versuchen, die Xbox durch einen anderen Computer zu ersetzen. Sie erhalten hoffentlich die gleiche Fehlermeldung, aber es ist wahrscheinlich einfacher, Informationen von einem Computer zu debuggen als die Xbox. Nifle vor 9 Jahren 0
Hey, ich habe Ihren Vorschlag ausprobiert. Gibt es eine Art Protokolldatei, die ich ansehen sollte? OzBarry vor 9 Jahren 0
Müssen Sie ein Himbeer-Pi verwenden? Dies wäre viel einfacher, wenn Sie ddwrt auf einem Router verwenden. Sie brauchen auch kein Crossover-Kabel. spuder vor 9 Jahren 0
Wenn ich einen freien Router hätte, der ddwrt ausführen könnte, hätte ich die Frage nicht gestellt. OzBarry vor 9 Jahren 0

1 Antwort auf die Frage

0
OzBarry

Am Ende fand ich einen anderen Leitfaden und modifizierte die iptables für meine verschiedenen Dienste, die ich routen wollte.

Die resultierende Datei sah folgendermaßen aus:

filter  # Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT  # Accepts all established inbound connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  # Forward all data related to our requests -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED  # Allows all outbound traffic # You could modify this to only allow certain traffic -A OUTPUT -j ACCEPT  # Allows HTTP and HTTPS connections from anywhere (the normal ports for websites) -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 22 -j ACCEPT  # Allow Transmission daemon from anywhere, with default ports -A INPUT -p tcp --dport 9091 -j ACCEPT -A INPUT -p tcp --dport 51413 -j ACCEPT  # Allows SSH connections (change the port number if you need to) -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT  # Allow ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  # log iptables denied calls (access via 'dmesg' command) -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7  # Reject all other inbound - default deny unless explicitly allowed policy: -A INPUT -j REJECT  COMMIT  *nat :PREROUTING ACCEPT [1:148] :INPUT ACCEPT [1:148] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -o tun0 -j MASQUERADE  COMMIT 

Einiges davon ist nur eine Vermutungsarbeit, und ich bin sicher, dass es optimiert / verbessert werden kann, aber das funktioniert für mich vorerst und ist etwas allgemeiner (keine spezifischen IPS usw.).

Dies hat mein Setup etwas verändert; jetzt verbinde ich meine xbox über wifi und kann mein gateway manuell auf die statische ip der himbeer-pi einstellen; es funktioniert hervorragend für die xbox, mein laptop, telefon usw. Es wurden einfach neue Netzwerkprofile hinzugefügt, damit ich problemlos auf die VPN-Verbindung zugreifen und sie wieder verlassen kann.