ฉันได้ติดตั้งเซิร์ฟเวอร์ Kea 2.0.1 2 เครื่องในเครื่องเสมือน Debian 10 Buster ใน Virtual Box 6.1.26 r145957 (Qt5.6.2) และใน VMware Workstation Player 16.1.2 build-17966106 ความพร้อมใช้งานสูงที่ไม่มี TLS ทำงานได้ดีและฉันมี ถูกอ้างถึงคู่มืออ้างอิงของผู้ดูแลระบบ kea สำหรับการกำหนดค่า kea-dhcp4 และ kea-ca (controlagent) (https://kea.readthedocs.io/en/kea-2.0.1/arm/intro.html).
บันทึก HA โดยไม่มี TLS
เมื่อฉันพยายามกำหนดค่าด้วย TLS จะทำให้เกิดข้อผิดพลาด TLS handshake ต่อไปนี้
2022-02-07 10:38:22.970 DEBUG [kea-ctrl-agent.http/4703.140102598186880] HTTP_CONNECTION_HANDSHAKE_START เริ่ม TLS handshake ด้วย 192.168.0.20 โดยหมดเวลา 10 2022-02-07 10:38:23.972 INFO [rl-akeagent-07 .http/4703.140102598186880] HTTP_CONNECTION_HANDSHAKE_FAILED TLS จับมือกับ 192.168.0.20 ล้มเหลวด้วยคำขอ http 2022-02-07 10:38:23.972 DEBUG [kea-ctrl-agent.http/4703.140102598186880] HTTP_CONNECTION_10.20.880 หยุดการเชื่อมต่อ HTTP_CONNECTION.10.880]
ในการกำหนดค่าการเชื่อมต่อ tls ฉันได้สร้างผู้ออกใบรับรองพร้อมใบรับรองที่ลงนามด้วยตนเองและเซิร์ฟเวอร์ DNS ของ bind9เกี่ยวกับการสร้างใบรับรอง TLS ด้วยชื่อทางเลือกของหัวเรื่องที่ตั้งเป็นชื่อ DNS และที่อยู่ IP ฉันได้รับการอ้างถึง /kea-2.0.1/src/lib/asiolink/testutils/ca/doc.txt
(สร้างใบรับรองที่ลงนามด้วยตนเองของ CA)
$sudo opensl genrsa -aes128 -ออก kea-ca.key 4096
$sudo openssl req -new -x509 -days 3650 -key kea-ca.key -out kea-ca.crt -extensions v3_ca -config server-conf.cnf
(ใบรับรองเซิร์ฟเวอร์ Kea)
$sudo opensl genrsa -aes128 -ออก kea-server-aes.key 2048
$sudo opensl pkcs8 - ใน kea-server-aes.key - ออก kea-server.key -nocrypt
$sudo rm kea-server-aes.key (คีย์ส่วนตัวของเซิร์ฟเวอร์ต้องไม่มีการเข้ารหัส)
$sudo openssl req -new -key kea-server.key -out kea-server-addr.csr -config เซิร์ฟเวอร์-addr-conf.cnf
$sudo openssl x509 -req -days 3650 -in kea-server-addr.csr -CA kea-ca.crt -CAkey kea-ca.key -set_serial 30 -out kea-server-addr.crt -extfile ext-addr- conf.cnf -sha256
(ใช้ c_rehash หรือ openssl rehash เพื่อสร้างแฮช)
$sudo opensl รีแฮช
ในการแก้ไขปัญหาฉันได้ลองทำสิ่งต่อไปนี้แล้ว:
- การจับแพ็กเก็ตข้อมูลด้วย wireshark (ป้อนคำอธิบายรูปภาพ
ที่นี่)- หลังจากส่งข้อความการเต้นของหัวใจเพื่อซิงโครไนซ์กับ
เพียร์อื่น มีบางอย่างผิดพลาดและการเชื่อมต่อ tcp สิ้นสุดลง
โดยทันที. จับปลาฉลาม
- กำลังส่ง ขด ตัวแทนควบคุม POST to kea ทำงานได้สำเร็จ http ตอบกลับ
- ทดสอบใบรับรอง kea ด้วย ยืนยัน openssl เครื่องมือตามที่อธิบายไว้ใน openssl ตรวจสอบทุกอย่าง
ดูเหมือนจะโอเค ยืนยัน openssl
- การแก้ไขปัญหาการเชื่อมต่อ tls ด้วย opensl s_client - แสดงใบรับรอง.
เนื่องจากผลลัพธ์ข้อผิดพลาดไม่ได้ช่วยอะไรมาก ฉันจึงอยากถามว่าใครมีประสบการณ์เกี่ยวกับปัญหานี้หรือปัญหาที่เทียบเคียงได้บ้าง