Thay đổi DNS cho dữ liệu di động mà không cần sử dụng ứng dụng


19

(Điện thoại của tôi đã được root và chạy Android 5.1)

Làm cách nào để thay đổi địa chỉ DNS của dữ liệu di động (và liên tục, nếu có thể) mà không cần yêu cầu của ứng dụng?


Làm cách nào để thay đổi DNS của kết nối di động trên Android KitKat? có một số câu trả lời về điều này - các cách tiếp cận khác nhau, ít nhất 2 trong số chúng không yêu cầu ứng dụng.
Izzy

Câu trả lời:


16

Tôi đã không tìm thấy một cách đáng tin cậy để làm điều đó mà không có một ứng dụng.

Tôi thường sử dụng OpenDNS Family Shield , nhưng đôi khi nó chặn tôi truy cập một số trang web hack cụ thể và sau đó tôi cần nhanh chóng và dễ dàng thay đổi các máy chủ DNS.

Tôi đã từng sử dụng Set DNS nhưng nó đã dừng hoạt động trong Android 4.3 trở lên, vì vậy tôi đã tạo Override DNS , một ứng dụng mới bắt chước hành vi của DNS, nhưng nó được cập nhật để hoạt động ngay cả trong Lollipop. Nó cũng có một số tính năng hay khác như quảng cáo bảo vệ mã PIN, bộ lọc SSID Wi-Fi.

Cách duy nhất tôi có thể thấy để làm điều đó mà không có ứng dụng là một iptablesquy tắc giống như quy tắc để chuyển hướng bất kỳ lưu lượng truy cập nào sẽ chuyển sang udp / 53 sang một số ip khác. Một thủ tục tương tự được hiển thị trong một luồng XDA .

Tôi dán ở đây các iptablesquy tắc cho đầy đủ (tôi đã không kiểm tra chúng)

$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

Mọi thứ được hướng từ thiết bị Android đến bất kỳ IP, cổng UDP và TCP 53 nào đều được chuyển hướng đến 208.67.222.222một trong những máy chủ DNS của OpenDNS.

Các lệnh này phải được đặt trong một tập lệnh chạy ở mỗi lần khởi động thiết bị. Chức năng đó phụ thuộc vào ROM cụ thể của bạn. Tôi không biết nếu một cái gì đó tương tự có thể được thực hiện trong ROM stock mà không cần sử dụng ứng dụng. Ghi đè DNS cũng giải quyết vấn đề này.


1
Đặc điểm tôi thích ở đây là ngoài việc thể hiện các tính năng của ứng dụng của bạn (mà rất nhiều nhà phát triển / nhà tiếp thị tôi đã thấy làm ở đây), bạn tập trung trực tiếp vào câu hỏi và cố gắng cung cấp một giải pháp thay thế cho chính ứng dụng của bạn . Tốt
Firelord

2
@Firelord có ... phích cắm không biết xấu hổ, nhưng với một số phong cách :)
MaxChinni

Tôi cố gắng sử dụng các cài đặt này nhưng tôi gặp lỗi "Địa chỉ IP xấu". Tôi đang cố gắng sử dụng Google DNS 8.8.8.8 và 8.8.4.4
Kristopher

Nhiều ứng dụng tuyên bố cung cấp khả năng tương tự mà không cần root. Có một số "bắt" cho các ứng dụng đó?
Michael Crenshaw

@ mac9416 Tôi không biết về bất kỳ hành vi cụ thể nào liên quan đến các ứng dụng đó (tất cả chúng đều tạo ra một VPN cục bộ giả), nhưng câu hỏi ban đầu là về việc đạt được nó mà không có bất kỳ ứng dụng cụ thể nào, vì vậy tôi nghĩ chúng ta sẽ đi OT.
MaxChinni

3

Thông tin này là từ năm 2014. Nhưng nó vẫn có thể hoạt động. Tôi không ở vị trí để kiểm tra nó vào lúc này, nhưng vì bạn đã được root. Bạn có thể thử thêm cài đặt dns vào tệp build.prop và xem nếu nó dính vào. Thêm phần sau vào tệp build.prop sẽ thêm google làm máy chủ DNS của bạn.

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

Lấy từ bài đăng này trên các diễn đàn Nexus 5 trên XDA. Bài viết có thể được tìm thấy ở đây. Mục số 21 là cài đặt DNS.


Tôi đã thử điều này để giải trí trên Lenovo P2 chạy Android 7.0 và nó không hoạt động
user1151923


1

Điều đó là không thể nếu không có ứng dụng, nó phải có một ứng dụng. Thứ hai, bạn cần quyền truy cập root để có thể thay đổi DNS 1G / 2G / 3G / 4G. Hãy thử Đặt DNS .


" Điều đó là không thể nếu không có ứng dụng, nó phải ở cùng với một ứng dụng " - lý do chính đáng nào?
Firelord

2
Vì mặc định, android không hỗ trợ nó vì vậy đó là lý do tại sao bạn cần một ứng dụng đặc biệt để gây rối với nó
user119443

3
Android không hỗ trợ chỉnh sửa build.prop, bạn chỉ cần một trình quản lý tệp có quyền truy cập root.
Dan Brown

@DanB +1, Đã có ý kiến ​​về câu nói này. Xem câu trả lời của tôi cho phương thức build.prop. Nếu có thích thú.
jer3my

@ jer3my Tâm trí vĩ đại có nghĩ giống nhau không? Tôi sẽ xem câu trả lời của bạn :)
Dan Brown
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.