Chrome ใช้เซิร์ฟเวอร์ DNS อื่นจากระบบปฏิบัติการหรือไม่


11

ฉันใช้ Chrome บน Linux ฉันมี DNS ท้องถิ่นเพื่อแก้ไข * .myname.com เป็น 127.0.0.2 (ฉันพิมพ์ "host Anything.myname.com" หรือ "host myname.com" และฉันเห็นที่อยู่ที่ถูกต้อง) อย่างไรก็ตามใน Chrome เมื่อฉันพิมพ์ "myname.com" มันจะถูกเปลี่ยนเส้นทางไปที่ "www.myname.com" และแก้ไขเว็บไซต์ "ของจริง" ที่ฉันไม่ต้องการ

เมื่อฉันพิมพ์ "test.myname.com" ไม่ใช่ "www.myname.com" Chrome จะแก้ไขค่าเป็น 127.0.0.2 อย่างถูกต้อง ฉันเดาว่า Chrome กำลังพยายามทำสิ่งที่ขี้ขลาดกับ www.anything.com และ Anything.com

จะแก้ไขได้อย่างไร?

PS: DNS ท้องถิ่นที่ฉันใช้คือ dnsmasq หากฉันใส่ myname.com อย่างชัดเจนใน / etc / hosts Chrome จะแก้ไขอย่างถูกต้องใน 127.0.0.2 แต่ฉันไม่สามารถใช้ wildcard ใน / etc / hosts ได้

PPS: ฉันสามารถยืนยันได้ที่ chrome: // net-internals / # dns ว่า Chrome ถูกต้อง myname.com และ www.myname.com เป็น IP สาธารณะจริง

คำตอบ:


6

ในความเป็นจริง Chrome ได้ใช้ไคลเอ็นต์ DNS ของตัวเองซึ่งพูดคุยกับเซิร์ฟเวอร์ DNS หลายตัว (DNS ท้องถิ่น, เราเตอร์ DNS, เราเตอร์ DNS ใน IPv6) ฉันไปที่ chrome: // ค่าสถานะแล้วปิดการใช้งาน "DNS แบบอะซิงโครนัสในตัว" ตอนนี้มันใช้งานได้


2
การตั้งค่าสถานะ "DNS ไม่ตรงกันในตัว" ถูกลบออกจาก Google Chrome ดังนั้นจึงปิดใช้งาน "แก้ไข" สำหรับสิ่งนี้ chromium.googlesource.com/chromium/src/+/… (จากsuperuser.com/a/887191/109126 )
jcisio

5
ตัวเลือกนี้ถูกลบออกจาก Chrome ลบคำตอบเพื่อป้องกันความสับสนหรือ downvotes: D
sorin

1
ยังมีปัญหาบางอย่างที่นี่ ฉันใช้ Chrome 56 บน Linux Mint และใช้เวลาหลายนาทีในการแก้ไขที่อยู่หลังจากเชื่อมต่อกับ VPN Firefox ทำทันที มันดูเหมือนว่า Chrome /etc/resolv.confใช้เวลาสักครู่เพื่อดูการเปลี่ยนแปลงใน
orodbhen

1
ยังคงใช้ได้ใน Chrome สำหรับ Android ตัวเลือกนี้มีชื่อว่า "Async DNS resolver" (chrome: // flags / # enable-async-dns)
MaxChinni

1
ไม่มีตัวเลือกดังกล่าวใน 69+ และปิดการใช้งานโครเมี่ยม: // ธง / # enable-ใหม่ preconnect (กล่าวถึง DNS) ไม่ได้ช่วย
vladkras

1

คุณสามารถเปลี่ยนการตั้งค่าพร็อกซีและบังคับให้ใช้ที่อยู่ที่คุณต้องการ

เปิดไฟล์ใหม่ด้วย. pac ส่วนขยายไฟล์เหล่านั้นจะถูกใช้โดยระบบเพื่อพิจารณาพร็อกซีคัดลอกไฟล์นี้ไปยังเนื้อหาของไฟล์:

function FindProxyForURL(url, host) {
    if (host=='www.myname.com' || host=='myname.com'){
        return 'PROXY 127.0.0.2';
    }
    // All other domains should connect directly without a proxy
    return "DIRECT";
}

ไปที่การตั้งค่าพร็อกซีโครมและภายใต้ "url สำหรับการกำหนดค่าพร็อกซีอัตโนมัติ" ป้อนเส้นทางไปยังไฟล์นั้น

ไม่จำเป็นต้องมีเซิร์ฟเวอร์ DNS คุณสามารถเปลี่ยนเส้นทางไปยังพอร์ตอื่นบนเครื่องและคุณสามารถตั้งโปรแกรมให้ตรงกับความต้องการของคุณ


1
ฉันใช้มันเมื่อฉันใช้ Mac เพราะใน OS XI สามารถใช้ไฟล์. pac สำหรับทั้งระบบได้ ไม่ได้อยู่ใน Linux AFAIK (ไม่สามารถใช้งานได้กับ wget, curl ฯลฯ )
jcisio

คุณมีลินุกซ์อะไร? (ฉันมี kubuntu และมันใช้งานได้)
Ohad Cohen

Archlinux + KDE ฉันแค่ไม่เชื่อว่าการตั้งค่า Chrome สามารถเปลี่ยนพฤติกรรมของระบบปฏิบัติการในคอนโซลได้
jcisio

การตั้งค่าพร็อกซี chrome เพียงเปิดการตั้งค่าพร็อกซีระบบ
Ohad Cohen

ขอบคุณฉันเพิ่งทดสอบกับ xubuntu ในเน็ตบุ๊กของฉัน ไม่สามารถเปิดการตั้งค่าพร็อกซี systme ได้ (หน้า chrome: // linux-proxy-config / ให้ข้อผิดพลาด) ฉันจะลองกับ Archlinux ของฉันในภายหลัง
jcisio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.