このクイック設定では、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サーバーの基本的な構成を開始するのに役立ちました。