Thay đổi DNS cho Android

Nếu bạn muốn xài Google DNS hay Open DNS cho Android phones của bạn thì làm sao?

- Yêu cầu máy đã root
- Cài ROM Toolbox lite
- Tool - DNS Changer
- Chọn Google DNS/Open DNS
- Overwrite on Wifi & Mobile
- Apply





Những cách dưới cũ, thủ công và ko hiệu quả
1. Cách đơn giản nhất là dùng static IP (IP tĩnh). Từ Settings > Wireless & network settings > Wi-Fi settings > Advanced (from menu) > chọn the ‘Use static IP’. Nhưng vì IP của ĐT hiếm khi là static IP nên cách này ko có tác dụng



2. Có những cách khác nhưng yêu cầu ĐT của bạn phải được root
a. Dùng Android SDK (xem link tham khảo ở dưới)

b. Thay đổi file cấu hình DNS.
- Android system cài đặt DNS servers tại 1 file script “/system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf”
- Vì đây là file hệ thống nên phải dùng Root explorer & sửa nó thành read-write mode
- Thêm đoạn script dưới đây vào hàm set_dns_props() của file script. (Sửa cho tất cả các kết nối)

Code:
    count=1
    for i in 1 2 3 4; do
        setprop dhcp.${interface}.dns1 "8.8.8.8"
        setprop dhcp.${interface}.dns2 "8.8.4.4"
    done
Khi đó file script mới sẽ là
Code:
# Set net.<iface>.dnsN properties that contain the
# DNS server addresses given by the DHCP server.
 
set_dns_props()
{
    case "${new_domain_name_servers}" in
    "")  return 0;;
    esac
 
    count=1
    for i in 1 2 3 4; do
        setprop dhcp.${interface}.dns${i} ""
    done
   
    count=1
    for dnsaddr in ${new_domain_name_servers}; do
        setprop dhcp.${interface}.dns${count} ${dnsaddr}
        count=$(($count + 1))
    done
 
    [COLOR=blue]count=1
    for i in 1 2 3 4; do
        setprop dhcp.${interface}.dns1 "8.8.8.8"
        setprop dhcp.${interface}.dns2 "8.8.4.4"
    done[/COLOR]
}
 
unset_dns_props()
{
    for i in 1 2 3 4; do
        setprop dhcp.${interface}.dns${i} ""
    done
}
 
case "${reason}" in
BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT)      set_dns_props;;
EXPIRE|FAIL|IPV4LL|RELEASE|STOP)                unset_dns_props;;
esac 
- Khởi động lại connection/network

- Note: trong link tham khảo là chỉnh sửa setprop dhcp.eth0.dns1 8.8.8.8 . Theo mình tìm hiểu thì eth0 là chỉ kết nối thông qua cable RJ45, wlan0 là kết nối thông qua wireless. 3g, gprs thì ko biết

- Nếu chỉ sửa cho wireless thì dùng script dưới đây vào hàm set_dns_props() của file script
Code:
        setprop dhcp.wlan0.dns1 "8.8.8.8"
        setprop dhcp.wlan0.dns2 "8.8.4.4"

Đăng nhận xét