Подключение моего Xbox 360 к Raspberry Pi 2 для использования соединения OpenVPN

869
OzBarry

Вот моя краткая настройка:

  • Xbox 360
  • Raspberry PI 2 работает под управлением ArchLinuxARM (сигнализация)
  • Основной порт Ethernet Rasberry Pi имеет кабель, соединяющий непосредственно с моим основным маршрутизатором
  • Xbox имеет перекрестный кабель, подключенный к ethernet-to-usb на Raspberry Pi
  • Я использую сервис openvpn systemd (который создает tun0устройство)

Я купил учетную запись VPN и хотел направить свой трафик xbox 360 через нее. После того, как делать исследование, я был в состоянии получить мой Xbox, используя мое малиновое пи как маршрутизатор. Мой Raspberry Pi подключается к сети / Интернету через eth0, и к моему Xbox через кросс-кабель eth1.

eth0имеет статический IP к 10.0.0.31, eth1имеет статический IP - адрес из 10.0.1.100, и Xbox имеет статический IP - адрес из 10.0.1.101.

Вот мой конфиг iptables:

# 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 

Моя конфигурация xbox (с помощью Google DNS, кстати):

  • Настройки IP: Ручной
  • Айпи адрес: 10.0.1.101
  • Маска подсети: 255.255.255.0
  • Шлюз: 10.0.1.100
  • Настройки DNS: вручную
  • Primary: 8.8.8.8
  • Secondary: 8.8.4.4

Это прекрасно работает, когда мое VPN-соединение отключено.

Когда я включаю свою службу openvpn, xbox больше не будет подключаться к Интернету (сообщая об ошибке DNS), однако raspberry pi все еще может выходить в Интернет, и я могу подтвердить, что меня успешно маршрутизируют через VPN ,

Когда VPN отключен, xbox нормально подключается к Интернету и работает как положено.

Я недостаточно знаком с таблицами ip и этой общей маршрутизацией, чтобы знать, генерируются ли журналы, является ли проблема моей конфигурацией iptables, xbox или чем-то еще.

Есть идеи, как решить эту проблему?

Обновить:

Я подключил другой ноутбук Linux (который использует NetworkManager, если это имеет значение) eth1со следующей конфигурацией:

  • Метод IPv4: ручной
  • DNS-серверы: 10.0.0.1
  • Айпи адрес: 10.0.1.101
  • Netmask: 255.255.255.0
  • Шлюз: 10.0.1.100

Когда соединение VPN отключено, я могу нормально пользоваться Интернетом. Когда vpn включен, я могу получить доступ к локальной сети (и даже могу ssh подключиться к raspberry pi, используя его 10.0.0.31IP-адрес), однако DNS не работает, и я также не могу пропинговать внешние адреса.

Есть ли какой-нибудь набор журналов, на которые я должен поставить хвост, чтобы точно увидеть, что происходит?

Обновление № 2:

Я использую этот пакет arch linux для профилей OpenVPN, и у меня есть файл, настроенный для автоматического входа. Я заметил, что он запускает скрипт, который каким-то образом изменяет resolv.conf, который может что-то делать.

1
Вы можете попробовать заменить xbox на другой компьютер. Мы надеемся, что вы получите ту же ошибку, но, вероятно, проще получить отладочную информацию с компьютера, чем с xbox. Nifle 9 лет назад 0
Эй, я попробовал ваше предложение, есть ли какой-нибудь файл журнала, который я должен смотреть? OzBarry 9 лет назад 0
Вы должны использовать малиновый пи? Это было бы намного проще, если использовать что-то вроде ddwrt на маршрутизаторе. Вам также не понадобится кроссовер. spuder 9 лет назад 0
Если бы у меня был запасной маршрутизатор, который мог бы запустить ddwrt, я бы не стал задавать этот вопрос с самого начала. OzBarry 9 лет назад 0

1 ответ на вопрос

0
OzBarry

В итоге я нашел другое руководство и немного изменил iptables для своих различных сервисов, которые хотел маршрутизировать.

Получившийся файл в итоге выглядел так:

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 

Кое-что из этого - просто работа с догадками, и я уверен, что она может быть оптимизирована / улучшена, но пока она работает для меня и немного более обобщена (без конкретных ips и т. Д.)

Это немного изменило мои настройки; теперь я подключаю свой xbox через wifi и могу просто вручную установить свой шлюз на статический ip малинового пи; он отлично работает для xbox, моего ноутбука, телефона и т. д. Просто добавлены новые сетевые профили, чтобы я мог без проблем подключаться и отключаться от vpn-соединения.

Похожие вопросы