วิธีกำหนดค่า DJBDNS บน FreeBSD

บทช่วยสอนนี้จะแสดงวิธีกำหนดค่าบริการ DNS ที่ง่ายต่อการบำรุงรักษาง่ายต่อการกำหนดค่าและโดยทั่วไปแล้วจะปลอดภัยกว่าบริการ BIND แบบดั้งเดิม บทความนี้อนุมานว่าคุณกำลังเรียกใช้ VPS ที่ติดตั้ง FreeBSD

ในการเริ่มต้นให้เปิดเทอร์มินัลและติดตั้งแพ็คเกจนี้

<ceph>[~]# pkg install djbdns                                              
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 3 packages will be affected (of 0 checked):

New packages to be INSTALLED:
djbdns: 1.05_20,1
ucspi-tcp: 0.88_2
daemontools: 0.76_17

The process will require 1 MB more space.
251 KB to be downloaded.

Proceed with this action? [y/N]: y
Fetching djbdns-1.05_20,1.txz: 100%  139 KB 142.4k/s    00:01    
Fetching ucspi-tcp-0.88_2.txz: 100%   62 KB  63.1k/s    00:01    
Fetching daemontools-0.76_17.txz: 100%   51 KB  51.7k/s    00:01    
Checking integrity... done (0 conflicting)
[1/3] Installing ucspi-tcp-0.88_2...
[1/3] Extracting ucspi-tcp-0.88_2: 100%
[2/3] Installing daemontools-0.76_17...
[2/3] Extracting daemontools-0.76_17: 100%
[3/3] Installing djbdns-1.05_20,1...
[3/3] Extracting djbdns-1.05_20,1: 100%

การติดตั้งจะติดตั้งแพ็กเกจเพิ่มเติมโดยอัตโนมัติ ( daemontoolsและucspi-tcp)

สร้างสองผู้ใช้และgtinydns gdnslogเริ่มต้นด้วยผู้ใช้รายแรก:

<ceph>[~]# adduser         
Username: gtinydns
Full name: gtinydns
Uid (Leave empty for default): 
Login group [gtinydns]: 
Login group is gtinydns. Invite gtinydns into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: nologin
Home directory [/home/gtinydns]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : gtinydns
Password   : <random>
Full Name  : gtinydns
Uid        : 1002
Class      : 
Groups     : gtinydns 
Home       : /home/gtinydns
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (gtinydns) to the user database.
adduser: INFO: Password for (gtinydns) is: rTsada2131sa1Mg
Add another user? (yes/no): no
Goodbye!

ตอนนี้เพิ่มผู้ใช้ที่สอง:

<ceph>[~]# adduser
Username: gdnslog
Full name: gdnslog
Uid (Leave empty for default):  
Login group [gdnslog]: 
Login group is gdnslog. Invite gdnslog into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: nologin
Home directory [/home/gdnslog]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : gdnslog
Password   : <random>
Full Name  : gdnslog
Uid        : 1003
Class      : 
Groups     : gdnslog 
Home       : /home/gdnslog
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (gdnslog) to the user database.
adduser: INFO: Password for (gdnslog) is: jWsdad33aasdaFa0
Add another user? (yes/no): no
Goodbye!

เรียกใช้คำสั่งต่อไปนี้ แทนที่ที่อยู่ IP ด้วยที่อยู่ของเซิร์ฟเวอร์ Vultr ของคุณ

<ceph>[~]# tinydns-conf gtinydns gdnslog /usr/local/etc/tinydns 108.61.100.100

คำสั่งนี้จะสร้างไดเรกทอรีไฟล์และไดเรกทอรีย่อยอื่น /usr/local/etc/tinydnsๆ มันจะใส่ที่อยู่ IP ของ VPS /usr/local/etc/tinydns/env/IPด้วย

/serviceสร้างไดเรกทอรี

<ceph>[~]# mkdir /service

แก้ไข/etc/rc.confไฟล์ของคุณ:

<ceph>[~]# ee /etc/rc.conf

... และและบรรทัดเหล่านี้:

svscan_enable="YES"
svscan_servicedir="/service"

บันทึกการกำหนดค่าและเริ่มsvscanบริการ:

<ceph>[~]# /usr/local/etc/rc.d/svscan start
Starting svscan.

ถัดไปไปที่ไดเรกทอรีนี้:

 <ceph>[~]# cd /usr/local/etc/tinydns/root

แก้ไขdataไฟล์:

 <ceph>[root]# ee data

... และเพิ่มข้อมูล DNS บางส่วน:

# domain1.com
Zdomain1.com:dns1.domain1.com.:ns.domain1.com.:2013101203:604800:86400:2419200:604800:3600
&domain1.com::dns1.domain1.com.:3600
&domain1.com::dns2.domain1.com.:3600

# MX
@domain1.com::mail1.domain1.com.:10:3600
@domain1.com::mail2.domain1.com.:30:3600

# IP's (A records)
=dns1.domain1.com:108.61.210.99:3600
=dns2.domain1.com:89.201.163.42:3600
=mail1.domain1.com:89.201.163.42:3600
=mail2.domain1.com:85.114.41.8:3600
=www.domain1.com:108.61.178.194:3600
=test1.domain1.com:193.198.184.100:3600
=test2.domain1.com:108.61.178.215:3600

# Aliases
+domain1.com:108.61.178.194:3600
+smtp.domain1.com:89.201.163.42:3600
+imap.domain1.com:89.201.163.42:3600

บันทึกไฟล์และออก

วิ่งls:

<ceph>[root]# ls
Makefile  add-alias  add-childns  add-host  add-mx  add-ns  data

แปลงข้อมูลข้อความของคุณเป็นรูปแบบฐานข้อมูล:

<ceph>[root]# make
/usr/local/bin/tinydns-data

ทำงานlsอีกครั้ง:

<ceph>[root]# ls
Makefile  add-alias  add-childns  add-host  add-mx  add-ns  data  data.cdb

สังเกตเห็นdata.cdbไฟล์ คุณได้สร้างมันด้วยmakeคำสั่ง

และอีกสิ่งหนึ่งให้สร้างลิงก์สัญลักษณ์:

<ceph>[root]# ln -s /usr/local/etc/tinydns /service

ตอนนี้ทดสอบเซิร์ฟเวอร์ DNS ใหม่ของคุณ แทนที่108.61.178.110ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ

<ceph>[root]# host www.domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

www.domain1.com has address 108.61.178.194

การค้นหา Nameserver:

<ceph>[root]# host -t ns domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

domain1.com name server dns1.domain1.com.
domain1.com name server dns2.domain1.com.

การค้นหา Mailserver MX:

<ceph>[root]# host -t mx domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

domain1.com mail is handled by 10 mail1.domain1.com.
domain1.com mail is handled by 30 mail2.domain1.com.

อีกครั้งเพื่อให้แน่ใจว่า:

<ceph>[root]# host mail1.domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

mail1.domain1.com has address 89.201.163.42

ขอแสดงความยินดี! คุณมีเซิร์ฟเวอร์ DNS ที่ใช้งานได้ แทนที่domain1.comด้วยโดเมนของคุณ หลังจากการเปลี่ยนแปลงทุกครั้งให้รันmakeคำสั่งเพื่อสร้างdata.cdbไฟล์ใหม่

คำอธิบายของไฟล์ข้อมูล:

ระเบียน "A" เริ่มต้นด้วย=เครื่องหมาย ระเบียนนามแฝงหรือ CNAME ที่มี+สัญลักษณ์ เมลเซิร์ฟเวอร์เริ่มต้นด้วย@เครื่องหมาย เซิร์ฟเวอร์ชื่อพร้อม&เครื่องหมาย

ตัวอย่างที่ 1:

=test1.domain1.com:193.198.184.100:3600

=ย่อมาจากบันทึก "A" test1.domain1.comเป็นชื่อ DNS, IP 193.198.184.100คือที่อยู่ที่ใช้ในการtest1.domain1.comแก้ไขและ 3600 คือ TTL (ใช้เวลาในการถ่ายทอดสด)

ตัวอย่างที่ 2:

# MX
@domain1.com::mail1.domain1.com.:10:3600
@domain1.com::mail2.domain1.com.:30:3600

ในตัวอย่างนี้mail1และเซิร์ฟเวอร์อีเมลสำหรับmail2 มีความสำคัญ 10 และมีความสำคัญ 30 นั่นหมายความว่าเซิร์ฟเวอร์อีเมลแรกจะพยายามที่จะส่งอีเมลไปยัง หากล้มเหลวแล้วพวกเขาจะพยายามdomain1.commail1mail2mail1mail1mail2

บรรทัดต่อไปนี้ทำเครื่องหมายจุดเริ่มต้นของข้อมูลโซน มันเป็นสิ่งจำเป็น

Zdomain1.com:dns1.domain1.com.:ns.domain1.com.:2013101203:604800:86400:2419200:604800:3600

2013101203หมายเลขจะถูกใช้เมื่อคุณมี DNS รองในผู้ให้บริการรายอื่น เมื่อคุณเปลี่ยนหมายเลข2013101204เป็น DNS รองจะรู้ว่ามีการเปลี่ยนแปลงบางอย่างใน DNS และจะรับการเปลี่ยนแปลง นี่เป็นเพียงเพื่อวัตถุประสงค์ในการให้ข้อมูล (คุณจะต้องใช้บริการถ่ายโอน AXFR DNS) หรือคุณสามารถคัดลอกและวางการเปลี่ยนแปลง DNS ของคุณระหว่างเซิร์ฟเวอร์ DJBDNS สองเครื่องด้วยrsyncโปรแกรม

หากคุณมี PF Firewall บนเซิร์ฟเวอร์ FreeBSD ของคุณให้เพิ่มบรรทัดนี้เพื่ออนุญาตการสืบค้น DNS:

pass quick proto {tcp, udp} from any to $me port 53 flags S/SA keep state 

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true