Zmień DNS dla danych mobilnych bez korzystania z aplikacji

19

(Mój telefon jest zrootowany i działa na systemie Android 5.1)

Jak zmienić adresy DNS danych mobilnych (i uporczywie, jeśli to możliwe) bez konieczności korzystania z aplikacji?

şaloma
źródło
Jak zmienić DNS połączeń mobilnych na Androidzie KitKat? ma na to kilka odpowiedzi - różne podejścia, przynajmniej 2 z nich nie wymagają aplikacji.
Izzy

Odpowiedzi:

16

Nie znalazłem sposobu, aby rzetelnie to zrobić bez aplikacji.

Często korzystam z OpenDNS Family Shield , ale czasami blokuje mnie to, aby odwiedzić konkretną witrynę hakerską, a następnie muszę szybko i łatwo zmienić serwery DNS.

Kiedyś korzystałem z Set DNS, ale przestał działać w Androidzie 4.3 i nowszych , więc stworzyłem Override DNS , nową aplikację, która naśladuje zachowanie Set DNS, ale została zaktualizowana do pracy nawet w Lollipop. Ma też inne fajne funkcje, takie jak ochrona PIN-em i filtr SSID Wi-Fi.

Jedyny sposób, w jaki mogę to zrobić bez aplikacji, to coś w rodzaju iptablesreguły przekierowującej każdy ruch udp / 53 na inne IP. Podobna procedura jest pokazana w wątku XDA .

Wklejam tutaj iptableszasady kompletności (nie testowałem ich)

$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

Wszystko kierowane z urządzenia z Androidem na dowolny adres IP, port UDP i TCP 53 jest przekierowywane na 208.67.222.222serwer DNS OpenDNS.

Te polecenia należy umieścić w skrypcie uruchamianym przy każdym uruchomieniu urządzenia. Ta funkcjonalność zależy od konkretnej pamięci ROM. Nie wiem, czy coś podobnego można zrobić w magazynie ROM bez użycia aplikacji. Zastąpienie DNS rozwiązuje również ten problem.

MaxChinni
źródło
1
Cechą, która mi się tutaj podoba, jest to, że poza popisywaniem się funkcjami twojej aplikacji (którą wielu programistów / marketerów widziałem, robiąc to tutaj), skupiłeś się bezpośrednio na pytaniu i starałeś się zapewnić alternatywę dla samej aplikacji . Dobry!
Firelord
2
@Firelord tak ... bezwstydna wtyczka, ale z pewnym stylem :)
MaxChinni
Próbuję użyć tych ustawień, ale pojawia się błąd „Zły adres IP”. Próbuję użyć Google DNS 8.8.8.8 i 8.8.4.4
Kristopher
Wiele aplikacji twierdzi, że daje takie same możliwości bez rootowania. Czy w tych aplikacjach jest jakiś „haczyk”?
Michael Crenshaw,
@ mac9416 Nie jestem świadomy żadnego konkretnego zachowania związanego z tymi aplikacjami (wszystkie tworzą fałszywą lokalną sieć VPN), ale pierwotne pytanie dotyczyło osiągnięcia tego bez żadnej konkretnej aplikacji, więc myślę, że będziemy OT.
MaxChinni
3

Ta informacja pochodzi z 2014 roku. Ale może nadal działać. W tej chwili nie jestem w stanie go przetestować, ale ponieważ jesteście zakorzenieni. Możesz spróbować dodać ustawienia dns do pliku build.prop i sprawdzić, czy się trzyma. Dodanie następującego pliku do pliku build.prop powinno dodać google jako serwer 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

Zaczerpnięte z tego postu na forach Nexusa 5 na XDA. Ten post można znaleźć tutaj. Numer pozycji 21 to ustawienia DNS.

jer3my
źródło
Próbowałem tego dla zabawy na moim Lenovo P2 z systemem Android 7.0 i nie działało
1151923
2

Począwszy od systemu Android 9 Pie można zmieniać DNS globalnie, pod warunkiem, że obsługują TLS . Po prostu wejdź

Settings → Network & internet → Advanced → Private DNS

mirh
źródło
1

Nie jest to możliwe bez aplikacji, musi być z aplikacją. Po drugie, musisz mieć dostęp do konta root, aby zmienić DNS 1G / 2G / 3G / 4G. Spróbuj ustawić DNS .

użytkownik119443
źródło
Bez aplikacji nie jest to możliwe, musi to być aplikacja ” - czy jest jakiś dobry powód?
Firelord
2
Bo android nie obsługuje go domyślnie więc dlatego trzeba specjalną aplikację zadzierać z nim
user119443
3
Android obsługuje edycję build.prop, wystarczy menedżer plików z dostępem do konta root.
Dan Brown
@DanB +1, miałem zamiar skomentować to powiedzenie, że. Zobacz moją odpowiedź dotyczącą metody build.prop. Jeśli zainteresowany.
jer3my
@ jer3my Wielkie umysły myślą podobnie? Spojrzę na twoją odpowiedź :)
Dan Brown