을 구성하는 방법에 바인딩으로 개인 네트워크에서 DNS 서버 CentOS7

소개

중요한 부분을 관리하는 서버 구성 및 인프라를 포함한 유지하는 쉬운 방법을 찾 네트워크 인터페이스와 IP 주소,이름으로 설정하여 적절한 DNS(도메인 이름 시스템). 를 사용하여 완전한 도메인 이름(Fqdn),대신에 IP 주소를 지정하는 네트워크 주소를 용이하게 서비스와 응용 프로그램의 구성,그리고 증가에 유지 관리의 구성 파일이 있습니다. 개인 네트워크에 대한 자신의 DNS 를 설정하는 것은 서버의 관리를 향상시킬 수있는 좋은 방법입니다.

이 튜토리얼에서 우리가 어떻게 설정 내부 DNS 서버를 사용하는 이름 서버를 바인딩 소프트웨어(BIND9)CentOS7,에서 사용할 수 있는 가상의 개인적인 서버(VPS)를 해결하는 개인 호스트 이름과 개인 IP 주소가 있습니다. 이 서비스를 중앙에서 관리할 수 있는 방법을 내부 호스트 이름 및 개인 IP 주소는 필수적인 때 환경이 확장하는 더보 호스트.

이 튜토리얼의 우분투 버전은 여기에서 찾을 수있다.

전제조건

이 튜토리얼에서,당신이 다음이 필요합니다:

  • 어떤 서버에서 실행되는 동일한 데이터센터 및 개인 네트워킹 사용 가능
  • 새로운 VPS 으로 봉사하는 기본 DNS server,ns1
  • 선택:새로운 VPS 으로 봉사하 보조 DNS 서버 ns2
  • 루트에 액세스하는 모든 위의(1~4 단계를 여기)

익숙하지 않은 경우 DNS 를 개념,그것을 읽을 것을 권장합니다 적어도 세 가지 부분에 우리의 관리 소개 DNS.

예 Hosts

목적 예를 들어,우리는 것이 전제는 다음과 같습니다:

  • 우리는 기존의 두 VPS”이라는 호스트 1″및”host2″
  • 두 VPS 에 존재하 nyc3 데이터센터
  • 두 VPS 개인 네트워킹 사용(에 10.128.0.0/서브넷 16)
  • 두 VPS 은 어떻게든 관련 당사 웹서 실행되는 응용 프로그램”example.com”

이러한 가정이,우리가 결정하는 것 이것을 사용하는 이름 지정 방식을 사용하는”nyc3.example.com”참조하여 우리의 프라이빗 서브넷 또는 영역입니다. 따라서 호스트 1 개의 완전한 도메인 이름(FQDN)이 될 것”host1.nyc3.example.com”. 다음 표를 참조하십시오 관련 상세정보:

Host 역할 개인 FQDN 개인 IP 주소
호스트 1 Generic Host1 host1.nyc3.example.com 10.128.100.101
host2 Generic Host2 host2.nyc3.example.com 10.128.200.102

참고:귀하의 기존의 설정이 다를 수 있지만,예를 들어 이름 및 IP 주소를 사용되는 것을 보여주를 구성하는 방법을 제공 하도록 DNS 서버를 작동 내부 DNS. 할 수 있어야 합 쉽게 적응이 이 설정을 자신의 환경을 교체하여 호스트 이름과 개인 IP 주소를 가진다. 그것은 필요가 없을 사용하여 지역의 이름을 데이터 센터에서 당신의 이름 구성,하지만 우리는 그것을 사용하려면 여기를 나타내는 이러한 호스트에 속하는 특정 데이터 센터의 개인 네트워크입니다. 여러 데이터 센터를 사용하는 경우 각 데이터 센터 내에 내부 DNS 를 설정할 수 있습니다.

우리의 목표

의 튜토리얼에서,우리는 것이 주 DNS server,ns1,필요에 따라 보조 DNS server,ns2 가 될 것으로 백업입니다.

여기에는 테이블은 예를 들어,이름 및 IP 주소:

Host 역할 개인 FQDN 개인 IP 주소
ns1 Primary DNS Server ns1.nyc3.example.com 10.128.10.11
ns2 Secondary DNS Server ns2.nyc3.example.com 10.128.20.12

시작하자에 의해 설치하면 우리의 기본 DNS server,ns1.

DNS 서버에 바인드 설치

참고:빨간색으로 강조 표시된 텍스트가 중요합니다! 그것은 자주 나타내는 데 사용해야 할 뭔가가 대체로 자신의 설정 또는 수정 또는 추가 구성 파일입니다. 예를 들어 host1 과 같은 것을 본다면.nyc3.예.com,자신의 서버의 FQDN 로 교체하십시오. 마찬가지로 host1_private_IP 가 표시되면 자신의 서버의 개인 IP 주소로 바꿉니다.

DNS 서버,ns1 및 ns2 모두에서 yum 으로 BIND 를 설치하십시오.

  • sudo yum install bind bind-utils

y를 입력하여 프롬프트를 확인하십시오.

이제 BIND 가 설치되었으므로 기본 DNS 서버를 구성 해 보겠습니다.

기본 DNS 서버 구성

BIND 의 구성은 기본 구성 파일 인named.conf에서 포함 된 여러 파일로 구성됩니다. 이러한 파일 이름은 바인딩이 실행되는 프로세스의 이름이기 때문에”명명 된”것으로 시작합니다. 우리는 옵션 파일을 구성하는 것으로 시작할 것입니다.

Configure Bind

BIND 의 프로세스는 named 로 알려져 있습니다. 따라서 많은 파일은”BIND”대신”named”를 참조합니다.

ns1,열named.conf파일을 편집

  • sudo vi /etc/named.conf

위의 기존options블록을 만들고,새로운 ACL 블록”이라고 신뢰할 수 있는”. 이것은 우리가 재귀 DNS 쿼리를 허용 할 클라이언트 목록을 정의 할 곳입니다(예: ns1 과 동일한 데이터 센터에있는 서버). 예를 들어 개인 IP 주소를 사용하여 ns1,ns2,host1 및 host2 를 신뢰할 수있는 클라이언트 목록에 추가합니다.

/etc/named.conf—1of4
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};

이제 우리는 우리의 신뢰할 수 있는 DNS 클라이언트의 목록,우리가 원하는 편집optionsblock. Ns1 의 개인 IP 주소를listen-on port 53listen-on-v6line:

/etc/named.conf 에서 2 개의 4
options { listen-on port 53 { 127.0.0.1; 10.128.10.11; };# listen-on-v6 port 53 { ::1; };...

그 아래 항목을 변경하는allow-transfer지시어에서”none”ns2 개인 IP 주소가 있습니다. 또한allow-query지시문을”localhost”에서”trusted”로 변경하십시오.

/etc/named.conf-3of4

파일 끝에 다음 줄을 추가하십시오.

/etc/named.나는 이것이 내가 할 수있는 일이 아니라는 것을 알고 있습니다. 위의 구성은 자신의 서버(“신뢰할 수있는”서버)만 DNS 서버를 쿼리 할 수 있도록 지정합니다.

다음으로,우리는 우리의 DNS 영역을 지정하기 위해,로컬 파일을 구성합니다.

로컬 파일 구성

ns1,열named.conf.local파일을 편집

  • sudo vi /etc/named/named.conf.local

파일이 비어 있어야 합니다. 여기서 우리는 정방향 및 역방향 영역을 지정할 것입니다.

다음 줄로 앞으로 영역을 추가하십시오(영역 이름을 자신의 것으로 대체하십시오).

/etc/named/named.콘프.로컬-1of2
zone "nyc3.example.com" { type master; file "/etc/named/zones/db.nyc3.example.com"; # zone file path};

개인 서브넷이 10.128.0 이라고 가정합니다.0/16,다음 줄로 역 영역을 추가하십시오(역 영역 이름은”10.128″의 옥텟 반전 인”128.10″로 시작합니다).

/etc/named/named.콘프.지역—2/2
zone "128.10.in-addr.arpa" { type master; file "/etc/named/zones/db.10.128"; # 10.128.0.0/16 subnet };

경우 서버는 여러 개의 서브넷지만 같은 데이터 센터에 있을 지정해야 합니다 추가 영역 및 구역을 위해 파일을 각 서브넷에 있습니다. 원하는 모든 영역 추가가 완료되면named.conf.local파일을 저장하고 종료하십시오.

이제 영역이 BIND 에 지정되었으므로 해당 정방향 및 역방향 영역 파일을 만들어야합니다.

앞으로 영역 파일 만들기

향 파일 영역은 우리가 정의에 대한 DNS 레코드 앞으로 DNS 조회. 즉,DNS 리”host1.nyc3.example.com”예를 들어,그것은 보기에 앞으로 파일 영역를 해결하는 호스트 1 의 해당 개인 IP 주소가 있습니다.

우리의 영역 파일이 상주 할 디렉토리를 만들어 봅시다. 우리의 지명에 따르면.콘프.로컬 구성,해당 위치는/etc/named/zones여야합니다.:

  • sudo chmod 755 /etc/named
  • sudo mkdir /etc/named/zones

이제 우리의 편집 앞으로 파일 영역:

  • sudo vi /etc/named/zones/db.nyc3.example.com

첫째,당신이 원하는 추가 SOA 기록합니다. 강조 표시된 ns1FQDN 을 자신의 FQDN 으로 바꾼 다음 두 번째”nyc3.example.com”자신의 도메인으로. 영역 파일을 편집 할 때마다named프로세스를 다시 시작하기 전에 직렬 값을 증가시켜야합니다. 다음과 같이 보일 것입니다.

/etc/named/zones/db.nyc3.예.com-1of3

그 후에 다음 줄로 네임 서버 레코드를 추가하십시오(이름을 자신의 것으로 바꾸십시오). 참고 있는 두 번째 열의 지정”NS”기록한다:

/etc/named/지역/db.nyc3.예입니다.com2 3
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.

추가한 다음 A 레코드를 호스트에 속하는에서 이 영역입니다. 여기에는 이름이”로 끝나기를 원하는 모든 서버가 포함됩니다.nyc3.example.com”(이름과 개인 IP 주소를 대체). 예제 이름과 개인 IP 주소를 사용하여 ns1,ns2,host1 및 host2 에 대한 레코드를 추가합니다:

/etc/named/zones/db.nyc3.example.com—3of3

db.nyc3.example.com파일을 저장하고 종료합니다.

우리의 마지막 예는 기존 파일에 다음과 같습니다:

/etc/named/지역/db.nyc3.예입니다.com—전체

이제 이동에 역대 파일(s).

역방향 영역 파일 만들기

역방향 영역 파일은 역방향 DNS 조회에 대한 DNS PTR 레코드를 정의하는 곳입니다. 즉,DNS 가 IP 주소 인”10.128.100.101″으로 쿼리를 수신하면 해당 FQDN 을 해결하기 위해 역 영역 파일(들)에서”host1.nyc3.example.com”이 경우.

ns1 에서named.conf.local파일에 지정된 각 역방향 영역에 대해 역방향 영역 파일을 만듭니다.

편집 역방향 파일 영역에 해당하는 역대(s)에 정의된named.conf.local

  • sudo vi /etc/named/zones/db.10.128

에서 동일한 방법으로 기존 파일 교체를 강조 표시된 ns1FQDN 자신의 FQDN,교체 두 번째”nyc3.example.com”당신의 자신의 도메인에 있습니다. 영역 파일을 편집 할 때마다named프로세스를 다시 시작하기 전에 직렬 값을 증가시켜야합니다. 다음과 같이 보일 것입니다.

/etc/named/zones/db.10.128—1of3

그 후,추가의 네임 서버는 레코드와 함께 다음과 같은 선(대체의 이름으로 자). 두 번째 열은”NS”레코드임을 지정합니다.

/etc/named/zones/db.10.128—2 개의 3
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.

그리를 추가PTR레코드에 대한 모든 서버의 IP 주소의 서브넷에 있는 지역 편집하는 파일. 이 예제에서는 모두 10.128.0.0/16 서브넷에 있기 때문에 모든 호스트가 포함됩니다. 첫 번째 열은 서버의 개인 IP 주소의 마지막 두 옥텟으로 역순으로 구성됩니다. 이름과 개인 IP 주소를 서버에 맞게 대체하십시오.

/etc/named/zones/db.10.128—3of3

역 영역 파일을 저장하고 종료하십시오(역 영역 파일을 더 추가해야하는 경우이 섹션을 반복하십시오).

우리의 마지막 예제 역 영역 파일은 다음과 같습니다.

/etc/named/zones/db.10.128—전체

바인딩 구성 구문을 확인합니다

다음 명령을 실행하여 확인 구문의named.conf*파:

  • sudo named-checkconf

경우 이름의 구성 파일 구문 오류가 있으로 돌아갑니다 당신의 쉘 프롬프트 및 오류 메시지가 나타나지 않습니다. 는 경우 문제가 있으로 구성 파일 검토 오류 메시지 및 주 DNS 서버 구성 섹션에서 다음을 시도named-checkconf다.

named-checkzonenamed.conf.local.

예를 들어,을 확인하”nyc3.example.com”앞으로 영역의 구성,다음 명령을 실행하여(이름을 변경하는 경기 당신의 기대하고 파일):

  • sudo named-checkzone nyc3.example.com /etc/named/zones/db.nyc3.example.com

과를 확인”128.10.in-addr.arpa”역대 구성,다음 명령을 실행합니다(변화 번호 일치하는 역대하고 파일):

  • sudo named-checkzone 128.10.in-addr.arpa /etc/named/zones/db.10.128

때 모든 구성과 영역의 파일 오류가 없다,그들에 당신을해야를 다시 시작할 준비가 되어 바인딩 서비스입니다.

시작 바인딩

시작 BIND:

  • sudo systemctl start named

이제 당신은 그것을 사용하려는 것입니다 그래서 부팅 시에 시작:

  • sudo systemctl enable named

기본 DNS 서버가 지금 설치 및 준비가 대응해 DNS 쿼리를 처리합니다. 보조 DNS 서버 생성으로 넘어 갑시다.

구성 Secondary DNS Server

대부분에서 환경,그것은 좋은 아이디어를 설정하는 보조 DNS 서버의 응답을 요청하는 경우 기본 사용할 수 없게 됩니다. 운 좋게도 보조 DNS 서버는 구성하기가 훨씬 쉽습니다.

에 ns2,편집named.conf파일:

  • sudo vi /etc/named.conf

참고:당신이 선호하는 경우를 건너뛰고 이러한 지침을 복사할 수 있습니다 ns1 의named.conf파일을 수정하려 들어에 ns2 의 개인 IP 주소,허용하지 않습니다.

기존options블록 위에”trusted”라는 새 ACL 블록을 만듭니다. 이것은 우리가 재귀 DNS 쿼리를 허용 할 클라이언트 목록(즉,ns1 과 동일한 데이터 센터에있는 서버)을 정의 할 곳입니다. 예를 들어 개인 IP 주소를 사용하여 ns1,ns2,host1 및 host2 를 신뢰할 수있는 클라이언트 목록에 추가합니다.

/etc/named.conf—1of4
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};

이제 우리는 우리의 신뢰할 수 있는 DNS 클라이언트의 목록,우리가 원하는 편집optionsblock. Ns1 의 개인 IP 주소를listen-on port 53listen-on-v6line:

/etc/named.conf-2of4
options { listen-on port 53 { 127.0.0.1; 10.128.20.12; };# listen-on-v6 port 53 { ::1; };...

변경allow-query지시문을”localhost”에서”trusted”로:

/etc/named.conf-3of4
...options {... allow-query { trusted; }; # allows queries from "trusted" clients...

파일 끝에 다음 줄을 추가하십시오.

/etc/named.나는 이것이 내가 할 수있는 일이 아니라는 것을 알고 있습니다. 위의 구성은 자신의 서버(“신뢰할 수있는”서버)만 DNS 서버를 쿼리 할 수 있도록 지정합니다.

다음으로,우리는 우리의 DNS 영역을 지정하기 위해,로컬 파일을 구성합니다.

named.conf를 저장하고 종료합니다.

이제 편집named.conf.local파일:

  • sudo chmod 755 /etc/named
  • sudo vi /etc/named/named.conf.local

정의 슬레이브의 영역에 해당하는 마스터 영역에서 기본 DNS 서버입니다. 주의 종류는”노예”,파일 포함되지 않은 경로,그리고masters지시어는 설정해야 합니다 DNS 서버의 private IP. 기본 DNS 서버에서 여러 역 영역을 정의한 경우 여기에 모두 추가하십시오.

/etc/named/named.콘프.로컬

이제named.conf.local를 저장하고 종료하십시오.

다음 명령을 실행하여 확인을 구성 파일의 유효성:

  • sudo named-checkconf

한 번는 체크아웃 시작 BIND:

  • sudo systemctl start named

용 바인딩 부팅 시작하려면:

sudo systemctl enable named

이제 당신은 기본 및 보조 DNS 서버를 위해 개인 네트워크 이름에 IP 주소를 확인합니다. 이제 개인 DNS 서버를 사용하도록 서버를 구성해야합니다.

구성 DNS 클라이언트

하기 전에 모든 서버에서”신뢰할 수 있는”ACL DNS 서버를 쿼리할 수 있습해야 합니다 그들의 각각 구성 사용 ns1 및 ns2 이름으로. 이 프로세스는 OS 에 따라 다르지만 대부분의 Linux 배포판의 경우 이름 서버를/etc/resolv.conf파일에 추가하는 것과 관련이 있습니다.

CentOS 클라이언트

CentOS,RedHat 및 Fedora Linux Vps 에서 간단히resolv.conf파일을 편집하십시오:

  • sudo vi /etc/resolv.conf

다음에 다음 줄을 추가 상단의 파일(개인 도메인으로 대체,그리고 ns1 및 ns2 개인 IP 주소가):

/etc/resolv.이제 저장 및 종료하십시오. 이제 클라이언트가 DNS 서버를 사용하도록 구성되어 있습니다.

Ubuntu Clients

Ubuntu 및 Debian Linux VPS 에서는 부팅시resolv.confhead파일을 편집할 수 있습니다:

  • sudo vi /etc/resolvconf/resolv.conf.d/head

에 다음 줄을 추가 이 파일에(개인 도메인으로 대체,그리고 ns1 및 ns2 개인 IP 주소가):

/etc/resolvconf/resolv.콘프.d/헤드
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address

지금 실행하는resolvconfresolv.conf파일:

  • sudo resolvconf -u

이제 클라이언트를 사용하도록 구성된 당신의 DNS 서버가 있습니다.

테스트 클라이언트

nslookup—”bind-utils”패키지에 포함됨—클라이언트가 네임 서버를 쿼리 할 수 있는지 테스트합니다. 구성한 모든 클라이언트에서 이 작업을 수행할 수 있어야 하며”신뢰할 수 있는”ACL 에 있어야 합니다.

앞으로 조회

예를 들어,우리는 수행할 수 있으로 검색하의 IP 주소를 검색 host1.nyc3.example.com 실행하여 다음과 같은 명령:

  • nslookup host1

쿼리하”호스트 1″확대”host1.nyc3.example.com 기 때문에search옵션을 설정하는 귀하의 프라이빗 하위 도메인 DNS 쿼리가 시에는 하위 도메인을보고하기 전에 호스트에 대한 곳이다. 의 출력을 위 명령은 다음과 같습니다:

Output:
Server: 10.128.10.11Address: 10.128.10.11#53Name: host1.nyc3.example.comAddress: 10.128.100.101

역 조회

을 테스트하는 역 조회,쿼리에는 DNS 서버와 호스트 1 개의 IP 주소:

  • nslookup 10.128.100.101

출력이 표시되어야 합니다 그 다음과 같습니다:

Output:
Server: 10.128.10.11Address: 10.128.10.11#5311.10.128.10.in-addr.arpa name = host1.nyc3.example.com.

경우 모든 이름의 IP 주소를 해결하는 올바른 값을 의미하는 영역을 파일이 제대로 구성됩니다. 예기치 않은 값이 나타나면 주 DNS 서버의 영역 파일을 검토해야합니다(예: db.nyc3.example.comdb.10.128).

축하합니다! 내부 DNS 서버가 이제 제대로 설정되었습니다! 이제 우리는 당신의 영역 기록을 유지하는 것을 다룰 것입니다.

을 유지하 DNS Records

이제 작동하는 내부 DNS,당신을 유지하기 위해 필요 당신의 DNS 기록을 그래서 그들은 정확하게 반영하는 서버 환경이다.

DNS 에 호스트 추가

환경에 호스트를 추가 할 때마다(동일한 데이터 센터에서)DNS 에 추가하고 싶을 것입니다. 다음은 수행해야 할 단계 목록입니다:

차 네임 서버

  • 기존 파일 추가”A”기록을 위한 새로운 호스트의 값을 증가”직렬”
  • 역대 파일 추가”공개”기록을 위한 새로운 호스트 증가하는 값이”직렬”
  • 를 추가하는 새로운 호스트의 개인 IP 주소는”신뢰할 수 있는”ACL(named.conf.options)

한 다음 다시 로드 바인드:

  • sudo systemctl reload named

차 네임 서버

  • 를 추가하는 새로운 호스트의 개인 IP 주소는”신뢰할 수 있는”ACL(named.conf.options)

한 다음 다시 로드 바인딩:

  • sudo systemctl reload named

DNS 를 사용하도록 새 호스트 구성

  • resolv 구성.conf 파일을 사용하여 당신의 DNS 서버
  • 사용하여 테스트를nslookup

제거하는 호스트에서 DNS

제거할 경우 사용자 환경에서 호스트나 그 밖의 DNS,다만 제거하는 모든 것들이 추가되었을 때 당신은 추가 서버에 DNS(예:역 단계의 위).

결론

이제 IP 주소가 아닌 이름으로 서버의 개인 네트워크 인터페이스를 참조 할 수 있습니다. 이 서비스와 응용 프로그램의 구성을 더 쉽기 때문에 당신은 더 이상을 기억하는 사설 IP 주소,그리고 파일을 쉽게 읽고 이해할 수 있습니다. 또한,이제 변경할 수 있습니다 당신의 구성하는 새로운 서버를 한 곳에서 당신의 기본 DNS 서버의 편집의 다양한 분산 설정파일을 완화 유지 보수입니다.

일단 당신이 당신의 내부 DNS 설정,구성 파일을 사용하는 개인 Fqdn 을 지정하는 네트워크 연결,그것은 중요 당신의 DNS 서버가 제대로 유지됩니다. 둘 다 사용할 수 없게되면,귀하의 서비스와 응용 프로그램에 의존하는 응용 프로그램이 제대로 작동하지 않게됩니다. 이 적어도 하나의 보조 서버와 DNS 를 설정하고,그들 모두의 작업 백업을 유지하는 것이 좋습니다 이유입니다.

Related Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다