Score:0

ไม่สามารถแก้ไขโซน DNS ส่วนตัวผ่าน VPN ด้วย DNS ของ Bind9

ธง ca

ปัญหา

ฉันมี VPC ที่ฉันต้องการเข้าถึงเซิร์ฟเวอร์โดยใช้ FQDN ส่วนตัว VPC สามารถเข้าถึงได้ผ่าน wireguard VPN เซิร์ฟเวอร์ VPN ยังทำหน้าที่เป็นเซิร์ฟเวอร์ DNS ที่ใช้งาน BIND9 ฉันได้ตั้งค่าเซิร์ฟเวอร์ DNS ด้วยโซนส่วนตัวตามนี้ กวดวิชา. จากภายใน VPC DNS ทำงานตามที่คาดไว้ และฉันสามารถเข้าถึงเซิร์ฟเวอร์โดย FQDN ที่กำหนดไว้ในโซน DNS

เมื่อเชื่อมต่อกับ VPC ผ่านอุโมงค์ VPN ฉันไม่สามารถแก้ไข FQDN เหล่านั้นได้ แม้ว่าฉันจะตั้งค่าไคลเอนต์ VPN ให้ใช้เซิร์ฟเวอร์ DNS ส่วนตัวของฉันแล้วก็ตาม ฉันรู้ว่าไคลเอนต์ VPN ใช้เซิร์ฟเวอร์ DNS ส่วนตัวของฉันเพราะเมื่อฉันเรียกใช้ nslookup google.com ฉันเห็นที่อยู่ IP ของ DNS ตามที่คุณเห็นผลลัพธ์ด้านล่าง:

เซิร์ฟเวอร์: 10.118.0.2
ที่อยู่: 10.118.0.2#53
...

ถ้าฉันเรียกใช้ nslookup myprivate.domain.com จากเครื่องที่เชื่อมต่อกับ VPC ผ่านอุโมงค์ VPN ฉันได้รับ NXDOMAIN เช่นเดียวกับ ปิงมันล้มเหลวด้วยข้อผิดพลาด ไม่ทราบชื่อหรือบริการ. อย่างไรก็ตาม ถ้าฉันรัน ping บนที่อยู่ IP ส่วนตัวจาก VPC มันก็ใช้ได้ ดังนั้นหาก myprivate.domain.com โฮสต์บนเซิร์ฟเวอร์ที่10.118.0.3การ ping สำเร็จบนที่อยู่ IP แต่ล้มเหลวใน FQDN

นอกจากนี้ ดูผลการขุดเมื่ออยู่ใน VPC เทียบกับเมื่อมาจากเครื่องที่เชื่อมต่อผ่าน VPN: ขุด dev.myprivatedomain.com ns: จาก VPC:

;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 51703
;; ธง: qr aa rd ra; คำถาม: 1, คำตอบ: 1, ผู้มีอำนาจ: 0, เพิ่มเติม: 1

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 4096
; คุกกี้: 9dccc02158dee7f70100000061a7e0a1ce2597e377b9c301 (ดี)
;; ส่วนคำถาม:
;dev.myprivatedomain.com ใน NS

;; ส่วนผู้มีอำนาจ:
nabuinternal.com. 604800 ใน SOA ns1.myprivatedomain.com ...

;; เวลาสืบค้น: 0 มิลลิวินาที
;; เซิร์ฟเวอร์: 10.118.0.2#53(10.118.0.2)
;; เมื่อ: วันพุธที่ 01 ธันวาคม 20:52:49 UTC 2021
;; ขนาดผงชูรส rcvd: 93

จาก VPN:

;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: NXDOMAIN, id: 57158
;; ธง: qr rd ra; คำถาม: 1, คำตอบ: 0, ผู้มีอำนาจ: 1, เพิ่มเติม: 1

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
;; ส่วนคำถาม:
;dev.myprivatedomain.com ใน NS

;; ส่วนผู้มีอำนาจ:
คอม 900 ใน SOA a.gtld-servers.net nstld.verisign-grs.com. 1638392201 1800 900 604800 86400

;; เวลาสืบค้น: 44 มิลลิวินาที
;; เซิร์ฟเวอร์: 10.118.0.2#53(10.118.0.2)
;; เมื่อ: วันพุธที่ 01 ธันวาคม 15:57:05 EST 2021
;; ขนาดผงชูรส rcvd: 122

ฉันสังเกตเห็นว่าทั้งคู่ใช้เซิร์ฟเวอร์ DNS เดียวกัน แต่เมื่อได้รับการร้องขอจาก VPN สิทธิ์สำหรับโดเมนส่วนตัวของฉันจะไม่ถูกส่งกลับ

สรุปแล้วหลังจากการค้นคว้าเป็นเวลาหลายชั่วโมง ฉันก็พบสิ่งที่ขาดหายไปสำหรับไคลเอนต์ที่เชื่อมต่อกับ VPC ผ่าน VPN เพื่อให้สามารถแก้ไข FQDN ที่กำหนดโดย DNS ส่วนตัวของฉัน

ข้อมูลเพิ่มเติม

  • เซิร์ฟเวอร์เป็น Ubuntu 20.04 LTS
  • ผูก 9: BIND 9.16.1-Ubuntu (รุ่นเสถียร)
  • ไวร์การ์ด: เครื่องมือดักฟัง v1.0.20200513 ติดตั้งผ่าน wirespeed
  • เปิดใช้งาน UFW

IP ของเซิร์ฟเวอร์ VPN และ DNS ใน VPC คือ 10.118.0.2.

กลุ่มที่อยู่ VPN คือ 10.99.0.0/16 และฉันได้ตั้งค่าคอนฟิกูเรชัน BIND9 ในลักษณะต่อไปนี้:

acl "เชื่อถือได้" {
    10.118.0.2; # เซิร์ฟเวอร์ VPN และ DNS
    ...
    10.99.0.0/16; # กลุ่มที่อยู่ vpn
    
};
ตัวเลือก {
    ไดเร็กทอรี "/var/cache/bind";
    ฟังบน v6 { ใด ๆ ; };
    การเรียกซ้ำ ใช่;
    อนุญาตการเรียกซ้ำ { เชื่อถือได้; };
    ฟังบน { 10.118.0.0/20; 10.99.0.0/16; };  
    อนุญาตให้โอน { ไม่มี; };
    ผู้ส่งต่อ {
            8.8.8.8;
            8.8.4.4;
    };
};

โซนถูกกำหนดค่าด้วยวิธีนี้:

$TTL 604800
@ IN SOA ns1.myprivatedomain.com. admin.myprivatedomain.com. (
                              9 ; อนุกรม
                         604800 ; รีเฟรช
                          86400 ; ลองอีกครั้ง
                        2419200 ; หมดอายุ
                         604800 ) ; TTL แคชเชิงลบ
;                         
; เนมเซิร์ฟเวอร์ - บันทึก NS
    ใน NS ns1.myprivatedomain.com

; เซิร์ฟเวอร์ชื่อ - ระเบียน
ns1.myprivatedomain.com. ใน 10.118.0.2

; 10.118.0.0/20 - บันทึก
dev.myprivatedomain.com ใน 10.118.0.4
staging.myprivatedomain.com ใน 10.118.0.3

และไฟล์โซนย้อนกลับ:

$TTL 604800
@ IN SOA ns1.myprivatedomain.com. admin.myprivatedomain.com. (
                              7 ; อนุกรม
                         604800 ; รีเฟรช
                          86400 ; ลองอีกครั้ง
                        2419200 ; หมดอายุ
                         604800 ) ; TTL แคชเชิงลบ
;
; เนมเซิร์ฟเวอร์ - บันทึก NS
    ใน NS ns1.myprivatedomain.com

; พี.ที.อาร์.เรคคอร์ด
2.0 ใน PTR ns1.myprivatedomain.com ; 10.118.0.2
4.0 ใน PTR dev.myprivatedomain.com ; 10.118.0.4
3.0 ใน PTR staging.myprivatedomain.com ; 10.118.0.3

UFW ถูกตั้งค่าให้อนุญาตพอร์ต 53 สำหรับทั้ง TCP และ UDP

นอกจากนี้ UFW มีกฎก่อนหน้าที่จะอนุญาตการรับส่งข้อมูลจาก VPN:

*แนท
:หลังยอมรับ [0:0]
-A โพสต์ -s 10.99.0.0/16 -o eth1 -j MASQUERADE

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

ด้านล่างนี้คือการกำหนดค่าไคลเอนต์ wireguard VPN:

[อินเตอร์เฟซ]
...
DNS = 10.118.0.2
ที่อยู่ = 10.99.0.2/16

[เพียร์]
...
IP ที่อนุญาต = 10.99.0.0/16, 10.118.0.0/20

cn flag
Bob
การกำหนดค่าการผูกของคุณแสดงเฉพาะผู้ส่งต่อ แต่ไม่มีหลักฐานว่าเชื่อถือได้สำหรับโดเมนส่วนตัว (ย่อย) ของคุณ โดยทั่วไป เมื่อคุณเรียกใช้เซิร์ฟเวอร์ DNS แบบกำหนดเอง คุณจะต้องกำหนดค่าโซนอย่างน้อยหนึ่งโซนด้วยระเบียน DNS ส่วนตัว (หรือสาธารณะ)
Arnaud Songa-Côté avatar
ca flag
@Bob ฉันได้อัปเดตโพสต์ของฉันเพื่อรวมโซนและไฟล์โซนย้อนกลับที่กำหนดค่าโดเมนย่อยส่วนตัวของฉัน
djdomi avatar
za flag
ตั้งค่าการฟังผิด อาจเป็น IP ของเซิร์ฟเวอร์หรืออินเทอร์เฟซ

โพสต์คำตอบ

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