Giải pháp cho vấn đề dưới đây: Sử dụng $ddns-confgen
hoặc $tsig-keygen
, cái trước cung cấp cho bạn cú pháp để dán vào có tên.conf
tập tin
Vấn đề:
Tôi đang cố định cấu hình BIND9 (ver9.161-Ubuntu) để cho phép tôi tạo bản ghi TXT mà Letsecrypt có thể sử dụng để xác thực miền, cuối cùng là để cho phép tạo chứng chỉ SSL cho hệ thống nội bộ/riêng tư.
Có rất nhiều tài liệu về các quy trình, đặc biệt là hướng dẫn từng bước từ Home Assistant (Bộ tự động hóa gia đình về cấu hình nginx + letsencrypt). TUY NHIÊN, các thuật toán và quy trình dường như đã thay đổi kể từ khi tài liệu được sản xuất ban đầu.
Tài liệu yêu cầu khóa DNSSEC được tạo để cho phép cập nhật máy chủ
$dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST letsencrypt
dnssec-keygen: gây tử vong: thuật toán không xác định HMAC-SHA512
nếu tôi chạy dnssec-keygen --trợ giúp
, nó cung cấp một danh sách các thuật toán được
"RSASHA1 | NSEC3RSASHA1 | RSASHA256 | RSASHA512 | ECDSAP256SHA256 | ECDSAP384SHA384 | ED25519 | ED448 | DH"
Nếu lệnh trên được thay đổi thành: RSASHA512
và kích thước khóa thay đổi thành 1024
thì lỗi hệ thống với:
dnssec-keygen: gây tử vong: loại tên DNSKEY không hợp lệ HOST
Sau khi lướt qua thuật toán, thuật toán duy nhất không gây ra lỗi là DH, bằng cách đặt alogorithm thành DH, một khóa được tạo.
Vấn đề tiếp theo là giao thức DH không được nhận dạng khi được sử dụng trong tệp name.conf.local.
thêm một phần quan trọng vào có tên.conf.local
tập tin:
khóa "letsencrypt" {
thuật toán DH;
bí mật "averylongkey==";
};
nhưng khi tôi chạy:
$ sudo có tên-checkconf
/etc/bind/named.conf.local:14: thuật toán không xác định 'DH'
Về cơ bản, tài liệu cũ yêu cầu bạn sử dụng phương pháp keygen đã lỗi thời.