Score:0

การกำหนดค่า BIND9 (เวอร์ชัน 9.16) เพื่ออนุญาตการอัปเดต TXT DNS จาก Letsncrypt

ธง jp

วิธีแก้ไขปัญหาด้านล่าง: ใช้ $ddns-confgen หรือ $tsig-keygen, อดีตให้ไวยากรณ์ที่จะวางลงในของคุณ ชื่อ.conf ไฟล์

ปัญหา:

ฉันกำลังพยายามกำหนดค่า BIND9 (ver9.161-Ubuntu) เพื่อให้ฉันสร้างบันทึก TXT ซึ่ง Letsecrypt สามารถใช้เพื่อตรวจสอบความถูกต้องของโดเมนได้ และสุดท้ายก็อนุญาตให้สร้างใบรับรอง SSL สำหรับระบบภายใน/ส่วนตัว

มีเอกสารประกอบมากมายเกี่ยวกับกระบวนการ โดยเฉพาะอย่างยิ่งคำแนะนำทีละขั้นตอนจาก Home Assistant (ชุดระบบอัตโนมัติในบ้านในการกำหนดค่า nginx + letsencrypt) อย่างไรก็ตาม อัลกอริทึมและกระบวนการดูเหมือนว่าจะเปลี่ยนไปตั้งแต่เริ่มจัดทำเอกสาร

เอกสารประกอบกำหนดให้สร้างคีย์ DNSSEC เพื่ออนุญาตการอัปเดตโฮสต์

$dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST ให้เข้ารหัส

dnssec-keygen: ร้ายแรง: อัลกอริทึมที่ไม่รู้จัก HMAC-SHA512

ถ้าฉันวิ่ง dnssec-keygen -- ช่วยด้วยมันมีรายการของอัลกอริทึมที่เป็น

"RSASHA1 | NSEC3RSASHA1 | RSASHA256 | RSASHA512 | ECDSAP256SHA256 | ECDSAP384SHA384 | ED25519 | ED448 | DH"

หากคำสั่งด้านบนเปลี่ยนเป็น: RSASHA512 และขนาดคีย์เปลี่ยนเป็น 1024 จากนั้นระบบเกิดข้อผิดพลาดกับ:

dnssec-keygen: ร้ายแรง: ประเภทชื่อ DNSKEY ไม่ถูกต้อง HOST

หลังจากลุยผ่านอัลกอริทึมแล้ว สิ่งเดียวที่ไม่ส่งข้อผิดพลาดคือ DH โดยการตั้งค่าอัลกอริทึมเป็น DH คีย์จะถูกสร้างขึ้น

ปัญหาต่อไปคือไม่รู้จักโปรโตคอล DH เมื่อใช้ในไฟล์ name.conf.local

การเพิ่มส่วนสำคัญลงใน ชื่อ.conf.local ไฟล์:

คีย์ "letsencrypt" {
  อัลกอริทึม DH;
  ความลับ "Averylongkey==";
};

แต่เมื่อฉันวิ่ง:

$ sudo ชื่อ-checkconf
/etc/bind/named.conf.local:14: อัลกอริทึมที่ไม่รู้จัก 'DH'

โดยทั่วไปเอกสารเก่าจะขอให้คุณใช้วิธี keygen ที่ล้าสมัย

Patrick Mevzek avatar
cn flag
ชื่อเรื่องและข้อความบรรทัดแรกของคุณไม่พอดีกัน ระเบียน `TXT` สำหรับ Let's Encrypt จำเป็นในการออกใบรับรอง และไม่จำเป็นต้องมีการกำหนดค่า DNS เฉพาะใดๆ ในขณะที่ข้อความทั้งหมดของคุณพูดถึง DNSSEC และดูเหมือนคุณจะสับสนอย่างมากคุณไม่จำเป็นต้องใช้ DNSSEC เลย (และอาจไม่ควรลองใช้ตอนนี้ก่อนที่จะเข้าใจอย่างสมบูรณ์) เพียงเพิ่มบันทึก `TXT` หนึ่งรายการสำหรับ Let's Encrypt
Patrick Mevzek avatar
cn flag
"การจัดทำเอกสารกำหนดให้ใช้คีย์ DNSSEC" คุณพบเอกสารเกี่ยวกับการเพิ่มระเบียน `TXT` ที่ขอให้คุณตั้งค่า DNSSEC ได้จากที่ใด
Patrick Mevzek avatar
cn flag
"หลังจากลุยอัลกอริทึมแล้วสิ่งเดียวที่ไม่เกิดข้อผิดพลาดคือ DH" อย่าทำอย่างนั้น ฉันหมายถึงการไม่เข้าใจสิ่งที่เกิดขึ้นและเพียงแค่ทดสอบค่าทั้งหมดแบบสุ่มสี่สุ่มห้าจนกว่าคุณจะได้ค่าที่ใช้งานได้ แต่คุณไม่รู้ว่ามันทำอะไรและทำไมมันถึงได้ผล สิ่งนี้จะไม่ทำงานอย่างถูกต้อง และในกรณีของ DNS และยิ่งกว่านั้น DNSSEC จะทำให้คุณมีปัญหาร้ายแรงตามมา...
Score:0
ธง ar

คุณไม่จำเป็นต้องใช้คีย์ DNSSEC คุณต้องใช้รหัส RNDC เรียกใช้เช่น rndc-confgen เพื่อสร้างการกำหนดค่าและความลับที่เสนอ คุณอาจต้องปรับการกำหนดค่านี้ให้เหมาะกับความต้องการของคุณเกี่ยวกับโฮสต์ที่ได้รับอนุญาตให้อัปเดตและการผูกอินเทอร์เฟซควรยอมรับการอัปเดต

Score:0
ธง cn

นี่เป็นเพียงการตั้งค่าปกติเพื่ออนุญาตการอัปเดตแบบไดนามิกไปยังโซน

สร้างคีย์ที่เหมาะกับ TSIG เช่น:

$ tsig-keygen ให้เข้ารหัสคีย์
คีย์ "letsencrypt-key" {
        อัลกอริทึม hmac-sha256;
        ความลับ "igyPH4oXPjutSfJVpv3CTgTjxSOyehJ7uVO274UuUDo=";
};
$

และใส่คีย์นี้ในการกำหนดค่าของคุณ

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

เช่น

โซน "example.com {
...
    อัปเดตนโยบาย {
        ให้สิทธิ์อนุญาตรหัสลับ ชื่อ _acme-challenge.www.example.com. TXT;
        ให้สิทธิ์อนุญาตรหัสลับ ชื่อ _acme-challenge.example.com TXT;
        ...
    };
};

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

โพสต์คำตอบ

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