ทำไมโทรศัพท์ของฉันใช้ Google Public DNS


10

ฉันแค่อยากรู้ว่าเซิร์ฟเวอร์ DNS ใดที่โทรศัพท์ของฉันใช้ ดังนั้นฉันจึงเปิดตัวเทอร์มินัลอีมูเลเตอร์และฉันป้อน:

$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

อย่างที่คุณเห็นโทรศัพท์ของฉันใช้ 8.8.8.8 และ 8.8.4.4 เป็นเซิร์ฟเวอร์ DNS ( เซิร์ฟเวอร์ DNS สาธารณะของ Google )

ที่บ้าน (Wifi) เราเตอร์ของฉันได้รับการกำหนดค่าให้มอบเซิร์ฟเวอร์ของ OpenDNS ผ่าน DHCP แต่ในโทรศัพท์ของฉันcat /etc/resolv.confจะส่งคืนผลลัพธ์เดียวกัน สิ่งเดียวกันกับ 3G และแม้ว่าฉันจะปิดการใช้งานทั้ง Wifi และ 3G แล้วรีบูตโทรศัพท์ก็ยังคงใช้เซิร์ฟเวอร์ DNS สาธารณะของ Google

ฉันจำไม่ได้ว่ามีการเปลี่ยนแปลงresolv.confหรือติดตั้งแอปพลิเคชันใด ๆ เพื่อเปลี่ยน

โทรศัพท์ของฉันคือ HTC Desire พร้อม CyanogenMod 7.2.0.1 (Android 2.3.7)

มีคนอธิบายได้ไหมว่าทำไมโทรศัพท์ของฉันใช้ Google Public DNS มันเป็นการกำหนดค่าทั่วไปสำหรับอุปกรณ์ Android หรือ CyanogenMod ROM หรือไม่

คำตอบ:


11

จากข้อมูลของ Steve Kondikนี่เป็นรหัสเก่าที่เหลืออยู่จาก CyanogenMod รุ่นเก่า:

นี่เป็นเพียงแอปพลิเคชันที่เชื่อมโยงกับ uclibc ในรุ่น CM เก่าเท่านั้น เป็นไปได้ว่าจะถูกลบออกไป

อย่างไรก็ตามเขายังต้องสังเกต :

นอกจากนี้ไฟล์นี้ไม่ได้ถูกเขียนเมื่อเชื่อมต่อกับเครือข่ายในขณะที่ / ระบบอ่านได้อย่างเดียว เซิร์ฟเวอร์ DNS ที่แท้จริงอ่านจากคุณสมบัติของระบบ

ฉันเพิ่งตรวจสอบว่าเซิร์ฟเวอร์ที่ให้มา DHCP ใช้งานจริงดังนั้นปัญหานี้ไม่ถูกต้องเว้นแต่จะมีคนพิสูจน์เป็นอย่างอื่น

ดังนั้นค่าที่/etc/resolv.confแท้จริงจึงไม่สะท้อนการตั้งค่า DNS ของคุณ สิ่งที่คุณสามารถทำได้คือใช้getpropเพื่อค้นหาค่า DNS ของคุณ คุณสามารถตัดมันลงค่อนข้างดีถ้าคุณ grep ผลลัพธ์เช่น:

getprop | grep dns

นอกจากนี้ยังควรระวัง: /etc/resolv.confไฟล์ดูเหมือนจะถูกลบอย่างสมบูรณ์ใน CyanogenMod รุ่นที่ใหม่กว่า ฉันไม่มี CM10 เลย แต่getpropจะแสดงการตั้งค่า DNS ของฉันอย่างถูกต้อง


ผู้ตอบที่ดีขอบคุณ อย่างไรก็ตามgetprop | grep dnsจะไม่ส่งคืนสิ่งใดเลย getprop | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'(ค้นหาที่อยู่ IPv4) จะไม่ส่งคืนผลลัพธ์ที่เกี่ยวข้อง คุณสมบัติกลับมีro.baseband, ro.build.description, และro.modversion gsm.version.basebandความคิดใด ๆ
Morgan Courbet

@ มอร์แกน: ฉันคิดว่ามันอาจเป็นความแตกต่างระหว่าง CM7 (คุณกำลังเรียกใช้) และ CM10 (สิ่งที่ฉันทดสอบ) จะเกิดอะไรขึ้นถ้าคุณไม่ทำ grep เอาต์พุตเลย? คุณเห็นอะไรที่เกี่ยวข้องหรือไม่ (อาจต้องการที่จะmore
แปะ

1
@ มอร์แกน: ฉันไม่มีอุปกรณ์ Gingerbread เพื่อทดสอบ แต่ควรมีวิธีในการตั้งค่าไร้สายมาตรฐานหากคุณกำหนดค่า IP แบบคงที่ (ฉันไม่คิดว่าคุณสามารถทำได้ด้วยวิธีนี้หากคุณใช้ น่าเสียดายที่ DHCP) ใน JB ฉันกดเครือข่ายที่ฉันเชื่อมต่อและเลือก "แก้ไข" เพื่อไปที่นั้น อาจอยู่ภายใต้ "การตั้งค่าขั้นสูง" แม้ว่า (ปุ่มเมนูเมื่ออยู่ในรายการเครือข่าย wifi) คุณสามารถใช้งานได้setpropแต่จะไม่คงอยู่ในการรีบูตเครื่อง / การตัดการเชื่อมต่อ ตัวอย่างเช่น. setprop net.rmnet0.dns1 <your DNS IP>ควรเปลี่ยนค่าของnet.rmnet0.dns1คุณสมบัติ
eldarerathis

1
และฉันคิดว่าอะแดปเตอร์ที่ใช้เฉพาะเจาะจงมากขึ้น ( net.rmnet0.dns1ในกรณีของคุณ) ถึงแม้ว่ามันอาจสืบทอดค่านั้นจากnet.dns1คุณสมบัติทั่วไปมากกว่า
eldarerathis

1
@Rhyuk: ฉันไม่รู้ setpropอาจเป็นวิธีแก้ปัญหาชั่วคราวหากคุณให้ค่าเป็นค่าว่าง แต่คุณต้องเรียกใช้ในการบู๊ตทุกครั้ง (และฉันไม่แน่ใจว่าจะใช้งานได้จริงหรือไม่)
eldarerathis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.