Alterar DNS para dados móveis sem usar um aplicativo

19

(Meu telefone está enraizado e executa o Android 5.1)

Como é possível alterar os endereços DNS dos dados móveis (e persistentemente, se possível) sem a necessidade de um aplicativo?

şaloma
fonte
Como alterar o DNS de conexões móveis no Android KitKat? tem várias respostas sobre isso - abordagens diferentes, pelo menos duas delas não exigem um aplicativo.
Izzy

Respostas:

16

Não encontrei uma maneira de fazer isso de maneira confiável sem um aplicativo.

Costumo usar o OpenDNS Family Shield , mas às vezes me impede de visitar algum site de hackers em particular e preciso alterar rápida e facilmente os servidores DNS.

Eu costumava usar o Set DNS, mas ele parou de funcionar no Android 4.3 e mais, então criei o Override DNS , um novo aplicativo que imita o comportamento do Set DNS, mas é atualizado para funcionar mesmo no Lollipop. Ele também tem outros recursos interessantes, como um anúncio de proteção PIN e um filtro SSID Wi-Fi.

A única maneira de ver isso sem um aplicativo é como uma iptablesregra para redirecionar qualquer tráfego que vá para o udp / 53 para algum outro ip. Um procedimento semelhante é mostrado em um encadeamento XDA .

Colo aqui as iptablesregras de integridade (não as testei)

$IPTABLES -t nat -D OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -I OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53
$IPTABLES -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53

Tudo direcionado do dispositivo Android para qualquer IP, porta UDP e TCP 53 é redirecionado para 208.67.222.222um dos servidores DNS do OpenDNS.

Esses comandos devem ser colocados em um script que é executado a cada inicialização do dispositivo. Essa funcionalidade depende da sua ROM específica. Não sei se algo semelhante pode ser feito em uma ROM de estoque sem usar um aplicativo. A substituição de DNS também resolve esse problema.

MaxChinni
fonte
11
A característica de que gostei aqui é que, além de mostrar os recursos do seu aplicativo (que muitos desenvolvedores / profissionais de marketing já vi fazendo aqui), você se concentrou diretamente na questão e tentou fornecer uma alternativa para o próprio aplicativo . Boa!
Firelord
2
@Firelord sim ... plug descarado, mas com algum estilo :)
MaxChinni
Tento usar essas configurações, mas recebo o erro "Endereço IP incorreto". Estou tentando usar o DNS do Google 8.8.8.8 e 8.8.4.4
Kristopher
Muitos aplicativos afirmam dar o mesmo recurso sem raiz. Existe alguma "pegadinha" para esses aplicativos?
Michael Crenshaw
@ mac9416 Não estou ciente de nenhum comportamento específico relacionado a esses aplicativos (todos eles criam uma VPN local falsa), mas a pergunta original era sobre alcançá-lo sem nenhum aplicativo específico, então acho que vamos fazer o OT.
MaxChinni 13/04
3

Esta informação é de 2014. Mas ainda pode funcionar. Não estou em posição de testá-lo no momento, mas desde que você esteja enraizado. Você pode tentar adicionar as configurações de DNS ao arquivo build.prop e verificar se ele se mantém. Adicionar o seguinte ao arquivo build.prop deve adicionar o google como seu servidor DNS.

net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4

Retirado desta postagem nos fóruns do Nexus 5 no XDA. Esse post pode ser encontrado aqui. O item número 21 é as configurações de DNS.

jer3my
fonte
Eu tentei isso por diversão no meu Lenovo P2 executando o Android 7.0 e não funcionou
user1151923
2

A partir do Android 9 Pie , é possível alterar o DNS globalmente, desde que eles suportem TLS . Basta entrar

Settings → Network & internet → Advanced → Private DNS

mirh
fonte
1

Isso não é possível sem um aplicativo, tem que ser com um aplicativo. Segundo, você precisa de acesso root para alterar o DNS 1G / 2G / 3G / 4G. Tente definir DNS .

user119443
fonte
" Isso não é possível sem um aplicativo, tem que ser com um aplicativo " - alguma boa razão?
Firelord
2
Porque android não apoiá-lo por padrão, então é por isso que você precisa de um aplicativo especial para mexer com ele
user119443
3
O Android suporta a edição build.prop, você só precisa de um gerenciador de arquivos com acesso root.
Dan Brown
@ DanB +1, estava prestes a comentar sobre isso dizendo isso. Veja minha resposta para o método build.prop. Se estiver interessado.
jer3my
@ jer3my Grandes mentes pensam da mesma forma? Vou dar uma olhada na sua resposta :)
Dan Brown