ในบทความนี้คุณจะได้เรียนรู้วิธีที่ง่ายและรวดเร็วในการแก้ไขแคชเซิร์ฟเวอร์ DNS ของคุณ (ไม่ได้ผูกไว้) รวมถึงเซิร์ฟเวอร์ DNS ที่มีสิทธิ์ / หลัก (nsd) ที่ทำงานในเครื่องบนอินสแตนซ์ OpenBSD Vultr ของคุณเอง
สำหรับการติดตั้ง OpenBSD โปรดดูบทความต่อไปนี้: การติดตั้ง OpenBSD 5.5 64 อย่าลืมใช้อิมเมจ 5.6 ใหม่ที่เป็น ISO แทน
ในขณะที่ nsd พร้อมใช้งานในรีลีสก่อนหน้าเช่นกัน unbound ถูกเชื่อมโยงกับบิลด์สำหรับรีลีส 5.6 เริ่มต้นด้วยการเปิดตัว 5.7, BIND จะถูกลบออกจากระบบฐานอย่างสมบูรณ์ (และสามารถใช้ได้ผ่านพอร์ต)
หลุด
สำหรับการแก้ไข DNS ผู้คนมักใช้ค่าเริ่มต้นจากผู้ให้บริการ / ผู้จำหน่ายหรือบริการจาก Google (DNS สาธารณะ) และ OpenDNS ในขณะที่สิ่งเหล่านี้มักจะใช้ได้ผลการทำงานที่คุณเป็นเจ้าของช่วยให้คุณควบคุมได้มากขึ้นประสิทธิภาพที่ดีขึ้น (เมื่อคุณกรอกแคชของคุณเอง) มีความเป็นส่วนตัวที่ดีขึ้น ฯลฯ มันเป็นเรื่องง่ายมาก
-
เปิดใช้งานบริการ:
sudo rcctl enable unbound
-
เริ่มบริการ:
sudo rcctl start unbound
-
ในการทำให้แอปพลิเคชันใช้งานได้ต่อไปนี้ใน/etc/resolv.conf
(และลบnameserver
รายการอื่น ๆ):
nameserver 127.0.0.1
ตอนนี้คุณสามารถลอง:
dig google.com
เรากำลังค้นหาสองบรรทัดต่อไปนี้:
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
เซิร์ฟเวอร์ที่ใช้localhost
คือสิ่งที่เราต้องการ เวลาค้นหาคือ 35 วินาทีในการเริ่มเย็น ลองdig
คำสั่งเดียวกันอีกครั้ง:
;; Query time: 1 msec
ณ จุดนี้การแคชกำลังทำงานและเราสามารถดำเนินการต่อกับเซิร์ฟเวอร์ nsd ที่เชื่อถือได้
NSD
ซึ่งแตกต่างจาก unbound nsd เป็นเซิร์ฟเวอร์ DNS ที่เชื่อถือได้ซึ่งใช้สำหรับการให้บริการโซนของคุณเอง โดยทั่วไปเซิร์ฟเวอร์หนึ่งไม่เพียงพอดังนั้นคุณจึงสามารถหมุนอินสแตนซ์ Vultr อื่นเป็นเซิร์ฟเวอร์รองในตำแหน่งที่ตั้งอื่นเพื่อความซ้ำซ้อน
เนื่องจากการตั้งค่าบริการหลัก / บริการรอง (แม้ว่าจะไม่ยาก) อยู่นอกขอบเขตของบทความนี้เราจะแสดงวิธีการให้บริการโซนโดเมนเดียว
-
ก่อนอื่นเรามาแก้ไข/var/nsd/etc/nsd.conf
ไฟล์ นี่คือตัวอย่างที่สมบูรณ์:
server:
hide-version: yes
ip-address: 108.xx.xxx.xx
remote-control:
control-enable: yes
zone:
name: "example.com"
zonefile: "example.com.zone"
หมายเหตุ: แทนที่108.xx.xxx.xx
ด้วยที่อยู่ IP ของอินสแตนซ์ของคุณและexample.com
ด้วยโดเมนของคุณเอง
-
ไฟล์โซนไปที่/var/nsd/zones
ไดเรกทอรี นี่คือ/var/nsd/zones/example.com.zone
ไฟล์โซนสั้น:
$ORIGIN example.com.
$TTL 86400
@ 3600 SOA a.ns.example.com. hostmaster.example.com. (
2014110502 ; serial
1800 ; refresh
7200 ; retry
1209600 ; expire
3600 ) ; negative
NS a.ns.example.com.
NS b.ns.example.com.
MX 0 mail.example.com.
a.ns A 108.xx.xxx.xx
b.ns A 108.xx.xxx.xx
mail A 108.xx.xxx.xx
-
ตอนนี้เราสามารถเปิดใช้งานและเริ่มบริการ:
sudo rcctl enable nsd
sudo rcctl start nsd
ตอนนี้คุณควรมีทั้งแคช / การแก้ไขเซิร์ฟเวอร์ DNS ของคุณเองรวมทั้งเซิร์ฟเวอร์ที่เชื่อถือได้
ไวยากรณ์ของโซน BIND และรายละเอียดเกี่ยวกับการเรียกใช้งานต้นแบบของคุณนั้นค่อนข้างจะไม่ครอบคลุมคู่มือฉบับย่อนี้ เพลิดเพลินกับ OpenBSD!