Você pode definir o PS3 para usar um servidor DNS estático. Você pode tentar o OpenDNS , que tem servidores em 208.67.222.222
e 208.67.220.220
, ou tente servidor DNS público do Google em 8.8.8.8
e 8.8.4.4
.
Eu estou tentando jogar um jogo de karaokê japonês em um PS3, mas a latência é horrível e o download de músicas leva uma eternidade. Uma recomendação que recebi foi transformar meu laptop em um proxy SOCKS fazendo login via OpenSSH no servidor do meu amigo no Japão.
[servidor] ---- (túnel ssh) --- [wlan0 < laptop > eth0] --- [PS3]
Então foi o que eu fiz:
ssh -ND 4711 [email protected]
Nesse momento, tentei acessar o google.com do meu laptop usando o Firefox (com as configurações de proxy do SOCKS) e fui redirecionado para o google.co.jp. Ótimo.
Então eu queria conectar meu PS3 ao meu laptop via Ethernet.
Primeiro atribuí um IP estático à eth0 com:
ip link set dev eth0 up
ip addr add 139.96.30.100/24 dev eth0
Eu iniciei um servidor DHCP no meu laptop para dar um IP ao PS3 com:
systemctl start dhcp4.service
E finalmente habilitei o NAT com alguma magia do iptables:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Eu fui para "Configurações de Redes" e testei a conexão do meu PS3 e legal, parecia funcionar. Eu lancei o navegador da web e o google.com foi redirecionado para o google.fr. Quão estúpido, esqueci de encaminhar a conexão para a porta certa.
Depois de muito redirecionamento de conexão através do iptables que não funcionou, decidi tentar usar um proxy transparente: redsocks. link
Após a instalação, modifiquei /etc/redsocks.conf para atender às minhas necessidades:
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;
}
com o restante deixado como estava em link
Eu usei as redsocks.rules básicas fornecidas no pacote que instalei:
*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
Isso permitiu que eu parasse de usar as configurações de proxy SOCKS no Firefox e luakit, que confirmei com o google.com se transformando no teste google.co.jp.
Eu percebi que ainda precisava ativar o NAT, então refiz:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
O PS3 aparentemente ignorou o proxy para todo o sistema e o google.com foi redirecionado para o google.fr. Eu então usei o arquivo redsocks.rules como estava sem se mascarar. Eu acreditava que, de qualquer maneira, eu não precisaria do NAT, já que o servidor Redsocks aparentemente escuta em todas as interfaces.
Tentei conectar o PS3 novamente e recebi a seguinte mensagem (depois que o PS3 adquiriu um IP do meu servidor DHCP e falhou ao obter uma conexão com a Internet):
"Ocorreu um erro durante a comunicação com o servidor. Este é um erro de DNS."
É onde eu estou agora. Eu acho que pode ser um problema com redsocks, já que ele usa um servidor DNS chamado dnstc que faz isso de acordo com a documentação:
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;
}
Meu palpite é que meu PS3 solicita a resolução de DNS via UDP e que o dnstc responde com "resposta truncada" o tempo todo. Se bem entendi, ele deve reenviar o pedido através do TCP, mas, aparentemente, ele produz um erro de DNS, em vez de
O que devo fazer? Ou mais precisamente:
Obrigado por ler essa parede de texto! Espero que não sugue muito para uma primeira pergunta ...
Você pode definir o PS3 para usar um servidor DNS estático. Você pode tentar o OpenDNS , que tem servidores em 208.67.222.222
e 208.67.220.220
, ou tente servidor DNS público do Google em 8.8.8.8
e 8.8.4.4
.
Tags ssh iptables ps3 linux socks-proxy