Score:1

การตั้งค่าที่อยู่ DNS + MAC ส่วนกลางบนการกระจาย Linux ที่ใช้ Debian พร้อม systemd-resolved + NetworkManager

ธง in

ฉันใช้การกระจาย 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=ฉวยโอกาส
paladin avatar
id flag
ResolveD จัดลำดับความสำคัญของการตั้งค่า DNS จากอินเทอร์เฟซ เมื่อไม่ได้ปิดใช้งานอย่างชัดเจน คุณจะตั้งค่า DNS ส่วนกลางผ่าน `resolved.conf` แทนการใช้ NetworkManager ได้อย่างไร
unilock avatar
in flag
@paladin การตั้งค่า `DNSSEC` และ `DNSOverTLS` ในขณะที่อ่านโดย `systemd` (ตามที่รายงานโดย `systemd-analyze`) ดูเหมือนจะไม่ถูกนำไปใช้อย่างถูกต้อง ตามที่รายงานโดย `resolvectl` และ `nmcli dev show` ดังนั้นฉันไม่เชื่อว่าการแก้ไขการกำหนดค่าของ `resolved` จะช่วยได้ที่นี่ ฉันไม่เชื่อว่า 'แก้ไขโดย systemd' อนุญาตให้ทำการสุ่ม MAC
paladin avatar
id flag
ตัวแก้ไขเกี่ยวข้องกับการสุ่ม MAC อย่างไร
unilock avatar
in flag
@paladin ฉันต้องการเปิดใช้งานการสุ่ม MAC อย่างที่ฉันพูดในโพสต์ดั้งเดิมของฉัน ดูเหมือนว่าคุณไม่สามารถทำได้ด้วย `systemd-resolved` ดังนั้นการใช้เพียงอย่างเดียวจะไม่ทำงาน
paladin avatar
id flag
ฉันเพิ่งสังเกตเห็นว่า `wlp0s20f3` ของคุณใช้ LLMNR อาจเป็นเพราะ NetworkManager ของคุณกำหนดค่าไม่ถูกต้อง ฉันจะทำซ้ำคำถามอื่นของฉัน รีโซลเวอร์เกี่ยวข้องกับการสุ่ม MAC อย่างไร ฉันจะเดาว่าไม่มีอะไร ป.ล. ฉันใช้ systemd-networkd สำหรับการกำหนดค่าเครือข่าย
unilock avatar
in flag
การกำหนดค่าของ @paladin NetworkManager ไม่ถูกแตะต้องนอกเหนือจากการแก้ไขที่ฉันได้กล่าวไปแล้ว แม้ว่าการกำหนดค่าเริ่มต้นของ Pop!_OS อาจเป็นไปได้ที่ผิดพลาด สำหรับคำถามของคุณ ฉันคิดว่าตัวแก้ไขไม่มีส่วนเกี่ยวข้องกับการสุ่ม MAC ฉันไม่แน่ใจว่าทำไมคุณถึงถามเรื่องนี้
Score:0
ธง id

นี่คือการกำหนดค่าที่แก้ไขโดย systemd ของฉันสำหรับ DNSSEC และใช้งานได้

/etc/systemd/resolved.conf

DNS=9.9.9.9#dns9.quad9.net 2620:fe::fe#dns9.quad9.net 2620:fe::9#dns9.quad9.net
FallbackDNS=149.112.112.112#rpz-public-resolver1.rrdns.pch.net
โดเมน = home.arpa
DNSSEC=ใช่
DNSOverTLS=ใช่
MulticastDNS=ไม่
LLMNR=ไม่
แคช=ใช่
DNSStubListener=ใช่
ReadEtcHosts=ใช่
แก้ไข UnicastSingleLabel=ไม่

สิ่งสำคัญอย่างยิ่งคือต้องปิดใช้งานตัวเลือกต่อไปนี้ เช่น:

MulticastDNS=ไม่
LLMNR=ไม่

คุณต้องใช้ stub-resolver จาก systemd-resolved หรือ systemd-socket เพื่อให้ทำงานได้

cd /etc/ && ln -sf /run/systemd/resolve/stub-resolv.conf resolv.conf

unilock avatar
in flag
`MulticastDNS` และ `LLMNR` เริ่มต้นเป็น 'no' อย่างน้อยก็ในระบบของฉัน นอกจากนี้ `/etc/resolv.conf` ยังเชื่อมโยงกับ `run/systemd/resolve/stub-resolv.conf` ดังที่เห็นในโพสต์ต้นฉบับของฉันไม่ว่าในกรณีใด การใช้ค่าที่แน่นอนที่คุณระบุสำหรับ `DNS` และ `FallbackDNS` จะไม่เปลี่ยนแปลงอะไรเลย
unilock avatar
in flag
ตกลง ดูเหมือนว่า `LLMNR` จะ *ไม่* มีค่าเริ่มต้นเป็น `no`; ฉันถือว่าค่าความคิดเห็นใน `/etc/systemd/resolved.conf` เป็นค่าเริ่มต้น แม้ว่าฉันจะไม่แน่ใจว่ามันถูกเปลี่ยนเป็น `yes` ตรงไหนในแง่ของไฟล์ conf
paladin avatar
id flag
@unilock ค่าดีฟอลต์จะถูกรวบรวมไว้ในโปรแกรม/ไลบรารี คุณจะต้องอ่านซอร์สโค้ดเพื่อตรวจสอบอีกครั้ง Debian ดั้งเดิมมักจะกำหนดค่าเริ่มต้น LLMNR และ MulticastDNS เป็น 'ใช่'

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา