GNU/Linux >> Linux の 問題 >  >> Linux

Redhat7Linuxサーバーで名前付きDNSサービスをセットアップする方法

このクイック設定では、Berkeley Internet Name Domain(DNS)サービスをnamedに設定します。 。まず、私たちの環境と提案されたシナリオについて簡単に説明しましょう。ドメインlinuxconfig.orgの単一ゾーンファイルをホストするようにDNSサーバーを設定します。 DNSサーバーは、このドメインのマスター機関として機能し、完全修飾ドメイン(FQDN)linuxconfig.orgを解決します。 およびwww.linuxconfig.org IPアドレスに1.1.1.1

さらに、named デーモンは、ループバックIPアドレス127.0.0.1とローカルネットワークインターフェイス10.1.1.100の2つのローカルIPアドレスをリッスンします。最後に、DNSサーバーは任意の外部IPアドレスからのクエリを許可します。

DNSサーバーのインストール

基本的なシナリオについて説明したので、まずDNSサーバーのインストールから始めましょう。 RHEL7にDNSサーバーをインストールするには、yumを使用します 以下のコマンド:

# yum install bind
...
RHEL_7_Disc/productid                         | 1.6 kB     00:00     
  Verifying  : 32:bind-9.9.4-14.el7.x86_64                       1/2 
  Verifying  : 32:bind-libs-9.9.4-14.el7.x86_64                  2/2 

Installed:
  bind.x86_64 32:9.9.4-14.el7                                        

Dependency Installed:
  bind-libs.x86_64 32:9.9.4-14.el7                                   

Complete!

DNSのインストールが完了したら、namedを作成するための簡単な構成を行います。 デーモンはループバックとローカルネットワークインターフェイスアドレスをリッスンします:

[root@rhel7 ~] # ip addr show | grep inet
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    inet 10.1.1.110/8 brd 10.255.255.255 scope global enp0s3
    inet6 fe80::a00:27ff:fe15:38b7/64 scope link
>



上記のコマンド出力から、IPv4とIPv6の両方のIPアドレスを確認できます。 namedを作成しましょう 両方をリッスンするデーモン。メインの名前付き構成ファイル/etc/named.confを開きます 行を変更します:

listen-on port 53 { 127.0.0.1; };
TO:
listen-on port 53 { 127.0.0.1; 10.1.1.110; };

この時点で、namedを開始できます デーモン:

[root@rhel7 ~]# service named start
Redirecting to /bin/systemctl start  named.service
という名前のサービス

上記のservice コマンドがハングする場合は、ホスト名が正しく設定されていることと、それを解決できることを確認してください。

[root@rhel7 ~]# ping -c 1 `hostname`
ping: unknown host rhel7

これを修正する最も簡単な方法は、/etc/hostsを編集することです。 次のようなファイルにファイルします:

[root@rhel7 ~]# vi /etc/hosts
127.0.0.1   rhel7 localhost localhost.localdomain localhost4 localhost4.localdomain4
10.1.1.110  rhel7
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@rhel7 ~]# ping -c 1 `hostname`
PING rhel7 (127.0.0.1) 56(84) bytes of data.
64 bytes from rhel7 (127.0.0.1): icmp_seq=1 ttl=64 time=0.080 ms

--- rhel7 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.080/0.080/0.080/0.000 ms

この時点で、問題なくDNSサーバーを起動できるはずです。 named デーモンは、netstatを使用してポート53のチェックを開始しました net-toolsの一部であるコマンド パッケージ:

[root@rhel7 ~]# netstat -ant | grep -w 53

<中央>
この時点で、少なくとも2つのソケットでリッスンするようにDNSサーバーを構成する必要があります。

10.1.1.110:53
127.0.0.1:53

ファイアウォール設定

今こそファイアウォールを開いて、外部ソースからのDNSクエリを許可するときです。 TCPとUDPの両方のプロトコルがあることを確認してください:

[root@rhel7 ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent
success
[root@rhel7 ~]# firewall-cmd --zone=public --add-port=53/udp --permanent
success
[root@rhel7 ~]# firewall-cmd --reload
success

他の外部ホストからポート53にアクセスできることをテストします。最も簡単な方法は、nmapを使用することです。 コマンド:

[lrendek@localhost ~]$ nmap -p 53 10.1.1.110

Starting Nmap 6.45 ( http://nmap.org ) at 2014-11-08 16:40 AEDT
Nmap scan report for rhel7.local (10.1.1.110)
Host is up (0.00040s latency).
PORT   STATE SERVICE
53/tcp open  domain

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

また、UDPプロトコルを使用してDNSポート53にアクセスできるかどうかを確認します。これにはroot権限が必要です:

# nmap -sU -p 53 10.1.1.110

Starting Nmap 6.45 ( http://nmap.org ) at 2014-11-08 17:15 AEDT
Nmap scan report for rhel7.local (10.1.1.110)
Host is up (0.00044s latency).
PORT   STATE SERVICE
53/udp open  domain
MAC Address: 08:00:27:15:38:B7 (Cadmus Computer Systems)

Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds

ゾーンファイルの構成

すべて良い。次に、linuxconfig.orgドメインのゾーンファイルを定義します。まず、すべてのマスターゾーンファイルをホストするディレクトリを作成します。

[root@rhel7 ~]# mkdir -p /etc/bind/zones/master/

次に、次の内容で実際のゾーンファイルを作成しましょう:
ゾーンファイルを作成します:

[root@rhel7 ~]# vi /etc/bind/zones/master/db.linuxconfig.org
;
; BIND data file for linuxconfig.org
;
$TTL    3h
@       IN      SOA       linuxconfig.org admin.linuxconfig.org. (
                          1        ; Serial
                          3h       ; Refresh after 3 hours
                          1h       ; Retry after 1 hour
                          1w       ; Expire after 1 week
                          1h )     ; Negative caching TTL of 1 day
;

@       IN      NS      ns1.rhel7.local.
@       IN      NS      ns2.rhel7.local.

linuxconfig.org.    		IN      A       1.1.1.1
www 				IN      A       1.1.1.1

上記のゾーンファイルを環境に合わせて変更し、MXレコードを追加し、NameServerレコードns1.rhel7.local. and ns2.rhel7.local. たとえば、新しいDNSサーバーを解決できるFQDNに変更します。 ns1.mydomain.com. and ns2.mydomain.com. 。準備ができたら、新しいゾーンファイルを名前付き構成ファイル/etc/named.rfc1912.zonesに含めます。 :

zone "linuxconfig.org" {
       type master;
       file "/etc/bind/zones/master/db.linuxconfig.org";
};

DNSサーバーを再起動します:

[root@rhel7 ~]# service named restart
Redirecting to /bin/systemctl restart  named.service
という名前のサービス

DNSサーバー構成

エラーがなく、namedの場合 デーモンが正しく起動し、メインの名前付き構成ファイル/etc/named.confをもう一度開きます 行を変更します:

FROM:
allow-query     { localhost; };
TO:
allow-query     { any; };

上記により、外部ソースからDNSサーバーにクエリを実行できます。 namedを再起動します デーモン:

[root@rhel7 ~]# service named restart
Redirecting to /bin/systemctl restart  named.service
という名前のサービス

最後の構成手順は、RHEL7Linuxサーバーを再起動した後にDNSサーバーが起動することを確認することです。

[root@rhel7 ~]# systemctl enable named
ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'

RHEL7DNSサーバーのテスト

この段階で、DNSサーバーにドメインlinuxconfig.orgを解決するように依頼する準備ができているはずです。いくつかの外部ホストから、digを使用して、DNSサーバーにドメインlinuxconfig.orgを照会してみてください。 コマンド:

[lrendek@localhost ~]$ dig @10.1.1.110 www.linuxconfig.org

<中央>
すべてが期待どおりに機能しています。
上記の構成は、RHEL7LinuxサーバーでDNSサーバーの基本的な構成を開始するのに役立ちました。


Linux
  1. Linux でリバース SSH トンネルをセットアップする方法

  2. Linux OS サービス「名前付き」

  3. Linux サーバーの再起動を最小限に抑える方法

  1. RHEL7LinuxでのアンバウンドキャッシュのみのDNSサーバーのセットアップ

  2. RHEL 8 / CentOS8LinuxにDNSサーバーをインストールする方法

  3. Linux サーバーを Windows DNS サーバーに登録する方法

  1. Ubuntu18.04でMySecureShellSFTPサーバーをセットアップする方法

  2. LinuxでDNSサーバーの速度をベンチマークまたは確認するにはどうすればよいですか?

  3. LinuxサーバーにcPanelをインストールしてセットアップする方法