วิธีแก้ไขปัญหาด้านล่าง: ใช้ $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 ที่ล้าสมัย