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
.
Совместное использование прозрачного прокси-подключения к Интернету с PS3
Я пытаюсь играть в японскую игру караоке на PS3, но задержка просто ужасна, и загрузка песен занимает вечность. Одна рекомендация, которую я получил, состояла в том, чтобы превратить мой ноутбук в прокси-сервер SOCKS, выполнив вход через OpenSSH на сервер моего друга в Японии.
[сервер] ---- (туннель ssh) --- [wlan0 <ноутбук> eth0] --- [PS3]
Вот что я сделал:
ssh -ND 4711 login@friend.server
В этот момент я попытался зайти на google.com со своего ноутбука с помощью Firefox (с настройками прокси-сервера SOCKS), и меня перенаправили на google.co.jp. Отлично.
Затем я хотел подключить PS3 к ноутбуку через Ethernet.
Сначала я назначил статический IP для eth0 с помощью:
ip link set dev eth0 up ip addr add 139.96.30.100/24 dev eth0
Затем я запустил сервер DHCP на своем ноутбуке, чтобы дать IP для PS3 с:
systemctl start dhcp4.service
И, наконец, я включил NAT с магией iptables:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Я зашел в «Настройки сети» и проверил соединение с моей PS3 и хорошо, похоже, работает. Я запустил веб-браузер, и google.com был перенаправлен на google.fr. Как глупо, я забыл перенаправить соединение на правильный порт.
После большой переадресации соединения через iptables, которая не работала, я решил попробовать использовать прозрачный прокси: redsocks. http://darkk.net.ru/redsocks/
После установки я изменил /etc/redsocks.conf в соответствии со своими потребностями:
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; }
с остальными, оставленными, как это было в https://github.com/darkk/redsocks/blob/master/redsocks.conf.example
Я использовал основные redsocks.rules, представленные в пакете, который я установил:
*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
Это позволило мне прекратить использование настроек прокси-сервера SOCKS в Firefox и luakit, что я подтвердил, превратив google.com в тест google.co.jp.
Я решил, что мне все еще нужно включить NAT, поэтому я переделал:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
PS3 явно обошел общесистемный прокси, и google.com был перенаправлен на google.fr. Затем я использовал файл redsocks.rules без маскировки. Я полагал, что в любом случае мне не понадобится NAT, поскольку сервер redsocks, очевидно, слушает каждый интерфейс.
Я попытался снова подключить PS3 и получил следующее сообщение (после того, как PS3 получил IP-адрес от моего DHCP-сервера и не смог получить подключение к Интернету):
«Произошла ошибка во время связи с сервером. Это ошибка DNS».
Вот где я сейчас. Я предполагаю, что это может быть проблемой с redsocks, так как он использует DNS-сервер dnstc, который делает это в соответствии с документацией:
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; }
Мое предположение состоит в том, что мой PS3 запрашивает разрешение DNS через UDP и что dnstc отвечает «усеченным ответом» все время. Если я правильно понимаю, он должен повторно отправить запрос через TCP, но, по-видимому, вместо этого выдает ошибку DNS ??
Что я должен делать? Или точнее:
- В красных лирях нет необходимости? Я просто iptables-неграмотный?
- Должен ли я установить DNS-сервер и переслать DNS-запросы? Если так, то как?
Спасибо за чтение этой стены текста! Надеюсь, это не слишком много для первого вопроса ...
1 ответ на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4