ฉันใช้การกระจาย Linux ที่ใช้ Debian โดยเฉพาะ Pop! _OS 22.04 (Ubuntu jammy) ฉันต้องการตั้งค่าที่อยู่ DNS + MAC แบบกำหนดเองทั่วโลก นั่นคือใช้กับการเชื่อมต่อเครือข่ายทั้งหมดโดยอัตโนมัติ ทั้งใหม่และที่มีอยู่แล้ว
โดยเฉพาะอย่างยิ่ง ฉันต้องการเปลี่ยนการตั้งค่าต่อไปนี้:
- เปิดใช้งาน DNSSEC
- เปิดใช้ DNS-over-TLS
- เปลี่ยนเซิร์ฟเวอร์ DNS ของฉันเป็น AdGuard DNS
- เปิดใช้งานการสุ่มที่อยู่ MAC
ขณะนี้ฉันได้สร้างสามไฟล์ที่ ควร ทำการเปลี่ยนแปลงเหล่านี้
/etc/systemd/resolved.conf.d/dns.conf
:
DNSSEC=อนุญาตให้ดาวน์เกรด
DNSOverTLS=ฉวยโอกาส
/etc/NetworkManager/dns.conf
:
# ระบุเซิร์ฟเวอร์ DNS
# ละเว้น dhcp ที่ให้ไว้
[ipv4]
DNS=94.140.14.14;94.140.15.15;
ละเว้น auto-dns = จริง
[ipv6]
DNS=2a10:50c0::ad1:ff;2a10:50c0::ad2:ff;
ละเว้น auto-dns = จริง
/etc/NetworkManager/mac.conf
:
[อุปกรณ์]
# สุ่มที่อยู่ mac เมื่อสแกนหาเครือข่าย wifi
wifi.scan-rand-mac-address=ใช่
[การเชื่อมต่อ]
# สุ่มที่อยู่ mac เมื่อเชื่อมต่อเครือข่ายเริ่มต้น
# รักษาที่อยู่ mac ที่สร้างขึ้นสำหรับการเชื่อมต่อใหม่ทั้งหมดในอนาคต
# (ต่อเครือข่าย)
ethernet.cloned-mac-address=เสถียร
wifi.cloned-mac-address=เสถียร
หลังจากสร้างไฟล์เหล่านี้และทำการรีบูต ไม่มีข้อบ่งชี้ว่ามีการเปลี่ยนแปลงใดๆ เกี่ยวกับการเชื่อมต่อเครือข่าย
หน้าทดสอบของ AdGuard แสดงว่า DNS "ไม่ทำงาน"
$ nmcli dev แสดง wlp0s20f3
(การ์ดไวไฟ):
อุปกรณ์ทั่วไป: wlp0s20f3
ประเภททั่วไป: wifi
นายพล.HWADDR: C6:F5:1A:8E:84:4D
GENERAL.MTU: 1500
GENERAL.STATE: 100 (เชื่อมต่อแล้ว)
การเชื่อมต่อทั่วไป: ไม่ใช่ WiFi ของคุณ
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveC>
IP4.ADDRESS[1]: 192.168.0.153/24
IP4.GATEWAY: 192.168.0.1
IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt >
IP4.ROUTE[2]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt >
IP4.ROUTE[3]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt =>
IP4.DNS[1]: 192.168.0.1
IP4.DOMAIN[1]: mbfamily.localdomain
IP6.ADDRESS[1]: fe80::70e0:14db:aeb6:b6be/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024
สถานะ $ resolutionctl
:
ทั่วโลก
โปรโตคอล: -LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
โหมด resolv.conf: ต้นขั้ว
ลิงค์ 2 (enp0s31f6)
ขอบเขตปัจจุบัน: ไม่มี
โปรโตคอล: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
ลิงค์ 3 (wlp0s20f3)
ขอบเขตปัจจุบัน: DNS
โปรโตคอล: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
เซิร์ฟเวอร์ DNS ปัจจุบัน: 192.168.0.1
เซิร์ฟเวอร์ DNS: 192.168.0.1
โดเมน DNS: mbfamily.localdomain
/etc/resolv.conf
:
# นี่คือ /run/systemd/resolve/stub-resolv.conf จัดการโดย man:systemd-resolved(8)
#ห้ามแก้ไข.
#
# ไฟล์นี้อาจเชื่อมโยงเป็น /etc/resolv.conf หากคุณกำลังมองว่า
# /etc/resolv.conf และเห็นข้อความนี้ แสดงว่าคุณได้ติดตาม symlink
#
# นี่คือไฟล์ resolv.conf แบบไดนามิกสำหรับเชื่อมต่อไคลเอ็นต์ในเครื่องกับ
# ตัวแก้ไขต้นขั้ว DNS ภายในของ systemd-resolved ไฟล์นี้แสดงรายการทั้งหมด
# กำหนดค่าโดเมนการค้นหา
#
# เรียกใช้ "สถานะการแก้ไข" เพื่อดูรายละเอียดเกี่ยวกับเซิร์ฟเวอร์ DNS อัปลิงค์
#ใช้งานอยู่.
#
# โดยทั่วไปโปรแกรมของบุคคลที่สามไม่ควรเข้าถึงไฟล์นี้โดยตรง แต่เท่านั้น
# ผ่าน symlink ที่ /etc/resolv.conf ในการจัดการ man:resolv.conf(5) ใน a
# วิธีอื่น แทนที่ symlink นี้ด้วยไฟล์สแตติกหรือ symlink อื่น
#
# ดู man:systemd-resolved.service(8) สำหรับรายละเอียดเกี่ยวกับโหมดที่รองรับของ
# การดำเนินการสำหรับ /etc/resolv.conf
เนมเซิร์ฟเวอร์ 127.0.0.53
ตัวเลือก edns0 trust-ad
ค้นหา mbfamily.localdomain
/run/systemd/resolve/resolv.conf
:
# นี่คือ /run/systemd/resolve/resolv.conf จัดการโดย man:systemd-resolved(8)
#ห้ามแก้ไข.
#
# ไฟล์นี้อาจเชื่อมโยงเป็น /etc/resolv.conf หากคุณกำลังมองว่า
# /etc/resolv.conf และเห็นข้อความนี้ แสดงว่าคุณได้ติดตาม symlink
#
# นี่คือไฟล์ resolv.conf แบบไดนามิกสำหรับเชื่อมต่อไคลเอ็นต์ในเครื่องโดยตรง
# เซิร์ฟเวอร์ DNS อัปลิงก์ที่รู้จักทั้งหมด ไฟล์นี้แสดงรายการโดเมนการค้นหาที่กำหนดค่าไว้ทั้งหมด
#
# โดยทั่วไปโปรแกรมของบุคคลที่สามไม่ควรเข้าถึงไฟล์นี้โดยตรง แต่เท่านั้น
# ผ่าน symlink ที่ /etc/resolv.conf ในการจัดการ man:resolv.conf(5) ใน a
# วิธีอื่น แทนที่ symlink นี้ด้วยไฟล์สแตติกหรือ symlink อื่น
#
# ดู man:systemd-resolved.service(8) สำหรับรายละเอียดเกี่ยวกับโหมดที่รองรับของ
# การดำเนินการสำหรับ /etc/resolv.conf
เนมเซิร์ฟเวอร์ 192.168.0.1
ค้นหา mbfamily.localdomain
$ systemd-analyze cat-config systemd/resolved.conf
แสดงให้เห็นว่า modified.conf.d/dns.conf
เป็น กำลังอ่านอย่างไรก็ตาม:
# /etc/systemd/resolved.conf
# ไฟล์นี้เป็นส่วนหนึ่งของ systemd
#
# systemd เป็นซอฟต์แวร์ฟรี คุณสามารถแจกจ่ายต่อและ/หรือแก้ไขได้ภายใต้
# เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของ GNU Lesser ตามที่เผยแพร่โดย Free
# มูลนิธิซอฟต์แวร์; ใบอนุญาตเวอร์ชัน 2.1 หรือ (ตามที่คุณเลือก)
#รุ่นต่อไป.
#
# รายการในไฟล์นี้แสดงค่าเริ่มต้นของเวลาคอมไพล์ การกำหนดค่าท้องถิ่น
# ควรสร้างขึ้นโดยการแก้ไขไฟล์นี้หรือโดยการสร้าง "ดรอปอิน" ใน
# ไดเร็กทอรีย่อย modified.conf.d/ แนะนำให้ใช้อย่างหลัง
# ค่าเริ่มต้นสามารถกู้คืนได้เพียงแค่ลบไฟล์นี้และดรอปอินทั้งหมด
#
# ใช้ 'systemd-analyze cat-config systemd/resolved.conf' เพื่อแสดง co> แบบเต็ม
#
# ดูรายละเอียดที่ modified.conf(5)
[แก้ไข]
# ตัวอย่างของเซิร์ฟเวอร์ DNS ที่อาจใช้สำหรับ DNS= และ FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4>
# Google: 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.go>
# Quad9: 9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#d>
#DNS=
#FallbackDNS=
#โดเมน=
#DNSSEC=ไม่
#DNSOverTLS=ไม่
#MulticastDNS=ไม่
#LLMNR=ไม่
#Cache = ไม่ติดลบ
#CacheFromLocalhost=no
#DNSStubListener=ใช่
#DNSStubListenerExtra=
#ReadEtcHosts=ใช่
#ResolveUnicastSingleLabel=ไม่
# /etc/systemd/resolved.conf.d/dns.conf
DNSSEC=อนุญาตให้ดาวน์เกรด
DNSOverTLS=ฉวยโอกาส