FreeBSD에서 DJBDNS를 구성하는 방법

이 자습서에서는 유지 관리가 쉽고 구성이 쉬우 며 일반적으로 기존 BIND 서비스보다 안전한 DNS 서비스를 구성하는 방법을 보여줍니다. 이 기사에서는 FreeBSD가 설치된 VPS를 실행한다고 가정합니다.

시작하려면 터미널을 열고이 패키지를 설치하십시오.

<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%

설치하면 추가 패키지 ( daemontoolsucspi-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만듭니다. 또한 VPS의 IP 주소를에 넣습니다 /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

네임 서버 조회 :

<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.

메일 서버 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.comDNS 이름, IP 193.198.184.100는 확인되는 주소 test1.domain1.com, 3600은 TTL (Time to Live)입니다.

예 2 :

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

이 예에서 mail1mail2의 메일 서버입니다 domain1.com. mail1우선 순위가 10으로, mail2우선 순위 (30)가 그 메일 서버가 처음에 메일을 전달하기 위해 노력할 것입니다 방법 mail1. 경우 mail1에 실패, 그들은 시도 할 것이다 mail2.

다음 줄은 구역 정보의 시작을 나타냅니다. 필수입니다.

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

2013101203number는 다른 공급자에 보조 DNS가있을 때 사용됩니다. 번호를로 변경하면 2013101204보조 DNS는 DNS에 일부 변경 사항이 있음을 알고 변경 사항을 적용합니다. 이것은 단지 ��보를 제공하기위한 것입니다 (AXFR DNS 전송 서비스가 필요합니다). 또는 rsync프로그램을 사용하여 두 DJBDNS 서버간에 DNS 변경 사항을 복사하여 붙여 넣을 수 있습니다 .

FreeBSD 서버에 PF 방화벽이있는 경우이 줄을 추가하여 DNS 쿼리를 허용하십시오.

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


Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. 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가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.