นี่คือขั้นตอนสำหรับ Ubuntu 18.04 มันนิด ๆ หน่อย ๆ ความยาวตั้งแต่systemd-resolved
ไม่เล่นเป็นอย่างดีกับเมื่อกำหนดค่าด้วยNetworkManager
dnsmasq
แต่ฉันยังคงแนะนำให้เริ่มต้นdnsmasq
จากNetworkManager
เพราะการเปลี่ยนแปลงการเชื่อมต่อเครือข่าย (WIFI, สาย, ... ) จะถูกจัดการอย่างโปร่งใส
เปิดใช้งาน dnsmasq ใน NetworkManager
แก้ไขไฟล์/etc/NetworkManager/NetworkManager.conf
และเพิ่มบรรทัดdns=dnsmasq
ใน[main]
ส่วนมันจะมีลักษณะดังนี้:
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
ให้ NetworkManager จัดการ /etc/resolv.conf
sudo rm /etc/resolv.conf ; sudo ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf
กำหนดค่า example.com
echo 'address=/.example.com/127.0.0.1' | sudo tee /etc/NetworkManager/dnsmasq.d/example.com-wildcard.conf
โหลดซ้ำNetworkManager
และทดสอบ
NetworkManager ควรได้รับการโหลดใหม่เพื่อให้การเปลี่ยนแปลงมีผล
sudo systemctl reload NetworkManager
จากนั้นเราสามารถยืนยันได้ว่าเราสามารถเข้าถึงไซต์ปกติ:
dig askubuntu.com +short
151.101.129.69
151.101.65.69
151.101.1.69
151.101.193.69
และสุดท้ายตรวจสอบว่าexample.com
และโดเมนย่อยได้รับการแก้ไขเป็น127.0.0.1
:
dig example.com askubuntu.example.com a.b.c.d.example.com +short
127.0.0.1
127.0.0.1
127.0.0.1