вот моя краткая установки:
- Xbox360
- Raspberry PI 2 работает ArchLinuxARM (тревога)
- основной порт Ethernet raspberry pi имеет кабель, соединяющийся непосредственно с моим основным маршрутизатором
- xbox имеет перекрестный кабель, подключенный к ethernet-usb на raspberry pi
- я использую сервис OpenVPN systemd (который создает
tun0
устройства)
я купил аккаунт VPN, и хотел направить свой трафик xbox 360 через него. После делаешь исследования, я смог получить свой xbox, используя мой raspberry pi в качестве маршрутизатора. Моя малина pi подключается к сети / интернету через eth0
, и имеет перекрестный кабель, подключенный к моему xbox через eth1
.
eth0
имеет статический ip 10.0.0.31
,eth1
имеет статический ip 10.0.1.100
, и xbox имеет статический ip 10.0.1.101
.
вот мои iptables config:
# 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: Manual
- IP-адрес:
10.0.1.101
- Маска Подсети:
255.255.255.0
- шлюз:
10.0.1.100
- настройки DNS: Manual
- основные:
8.8.8.8
- общее:
8.8.4.4
это прекрасно работает, когда мое VPN-соединение выключено.
когда я включаю свой openvpn служба включена, xbox больше не будет подключаться к интернету (с ошибкой DNS), однако raspberry pi по-прежнему может просматривать интернет, и я могу подтвердить, что я успешно маршрутизируюсь через VPN.
когда VPN выключен, xbox прекрасно подключается к интернету и работает должным образом.
я недостаточно знаком с таблицами ip и этой общей маршрутизацией, чтобы знать, создаются ли журналы, если проблема заключается в моей конфигурации iptables, xbox или что-то еще.
любые идеи, как решить это?
обновление:
я подключил другой ноутбук linux (который использует NetworkManager, если это имеет значение) к eth1
, со следующими параметрами:
- Метод IPv4: Manual
- DNS-сервера:
10.0.0.1
- IP-адрес:
10.0.1.101
- маска подсети:
255.255.255.0
- шлюз:
10.0.1.100
когда vpn-соединение выключено, я могу нормально использовать интернет. Когда vpn включен, я могу получить доступ к локальной сети (и даже могу ssh в raspberry pi, используя его 10.0.0.31
IP-адрес), однако DNS не работает, и я также не могу пинговать внешние адреса.
есть ли какой-либо набор журналов, которые я должен установить хвост, чтобы точно узнать, что происходит?
обновление #2:
я использую этот пакет arch linux для Профили OpenVPN и имеют файл, настроенный для автоматического входа в систему. Я заметил, что он запускает скрипт, который изменяет файл resolv.conf в некотором роде, который может что-то делать.