ホームページ >運用・保守 >Linuxの運用と保守 >Linux 上で高可用性 DNS クラスターを構成する方法

Linux 上で高可用性 DNS クラスターを構成する方法

WBOY
WBOYオリジナル
2023-07-09 11:40:481522ブラウズ

Linux で高可用性 DNS クラスターを構成する方法

はじめに:
インターネットの急速な発展に伴い、DNS (ドメイン ネーム システム) は重要なネットワーク インフラストラクチャの 1 つとして役割を果たします。ドメイン名の主要な役割を IP アドレスに変換します。トラフィックの多いネットワーク環境では、DNS サーバーの高可用性が重要になります。この記事では、Linux システム上で高可用性 DNS クラスターを構成する方法について説明し、いくつかのコード例を示します。

  1. DNS サーバーのインストール:
    まず、Linux システムに DNS サーバーをインストールする必要があります。この記事では、一般的に使用される BIND (Berkeley Internet Name Domain) サーバーを構成例として取り上げます。次のコマンドを実行して BIND をインストールします:
sudo apt-get update
sudo apt-get install bind9
  1. プライマリ DNS サーバーを構成します:
    次に、プライマリ DNS サーバー上で構成する必要があります。 BIND のメイン構成ファイル /etc/bind/named.conf.local を開き、次の内容を追加します。
zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";
    allow-transfer { IP_ADDRESS_OF_SECONDARY_DNS_SERVER; };
};

example.com を に置き換えることに注意してください。独自のドメイン名を入力し、IP_ADDRESS_OF_SECONDARY_DNS_SERVER をセカンダリ DNS サーバーの IP アドレスに置き換えます。

次に、ドメイン名解決ファイル /etc/bind/db.example.com を作成し、次の内容を追加します。

;
; BIND data file for example.com
;
$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                  3        ; Serial
             604800         ; Refresh
              86400         ; Retry
            2419200         ; Expire
             604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.example.com.
@       IN      A       IP_ADDRESS_OF_PRIMARY_DNS_SERVER
ns1     IN      A       IP_ADDRESS_OF_PRIMARY_DNS_SERVER
www     IN      CNAME   example.com.

必ず を追加してください。 example.com を独自のドメイン名に置き換え、IP_ADDRESS_OF_PRIMARY_DNS_SERVER をプライマリ DNS サーバーの IP アドレスに置き換えます。

  1. セカンダリ DNS サーバーの構成:
    次に、セカンダリ DNS サーバーを構成する必要があります。 BIND のメイン設定ファイル /etc/bind/named.conf.local を開き、次の内容を追加します:
zone "example.com" {
    type slave;
    file "/etc/bind/db.example.com";
    masters { IP_ADDRESS_OF_PRIMARY_DNS_SERVER; };
};

同様に、example.com を置き換えます #独自のドメイン名と IP_ADDRESS_OF_PRIMARY_DNS_SERVER をプライマリ DNS サーバーの IP アドレスに置き換えます。

  1. DNS サーバーを起動します:
    構成が完了したら、DNS サーバーを起動し、システムの起動時に自動的に起動するようにする必要があります。次のコマンドを実行して、プライマリ DNS とセカンダリ DNS をそれぞれ開始します:
sudo systemctl start bind9
sudo systemctl enable bind9
  1. 高可用性の構成:
    高可用性 DNS サービスを実現するには、ロード バランシングとフェールオーバーを使用できます。テクノロジー。ここでは、Keepalived と HAProxy を使用してロード バランシングとフェイルオーバーを実現します。

まず、Keepalived と HAProxy をインストールします。

sudo apt-get install keepalived
sudo apt-get install haproxy

次に、プライマリ DNS サーバーとセカンダリ DNS サーバーでそれぞれを構成します。

メイン DNS サーバーで、Keepalived 構成ファイル /etc/keepalived/keepalived.conf を編集し、次の内容を追加します:

global_defs {
    router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100

    virtual_ipaddress {
        IP_ADDRESS_OF_DNS_CLUSTER
    }
}

Change IP_ADDRESS_OF_DNS_CLUSTER 負荷分散に使用される仮想 IP アドレスに置き換えます。

セカンダリ DNS サーバーで、Keepalived 構成ファイル /etc/keepalived/keepalived.conf を編集し、次の内容を追加します。

global_defs {
    router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99

    virtual_ipaddress {
        IP_ADDRESS_OF_DNS_CLUSTER
    }
}

同様に、 を変更します。 IP_ADDRESS_OF_DNS_CLUSTER 負荷分散に使用される仮想 IP アドレスに置き換えられます。

最後に、プライマリ DNS サーバーとセカンダリ DNS サーバーでそれぞれ HAProxy 構成ファイル /etc/haproxy/haproxy.cfg を編集します。次の例を参照してください:

frontend dns_cluster
    bind IP_ADDRESS_OF_DNS_CLUSTER:53
    mode tcp
    default_backend dns_servers

backend dns_servers
    mode tcp
    balance roundrobin
    server primary_dns IP_ADDRESS_OF_PRIMARY_DNS_SERVER:53 check
    server secondary_dns IP_ADDRESS_OF_SECONDARY_DNS_SERVER:53 check

必ず IP_ADDRESS_OF_DNS_CLUSTER をロード バランシングに使用される仮想 IP アドレスに置き換え、IP_ADDRESS_OF_PRIMARY_DNS_SERVERIP_ADDRESS_OF_SECONDARY_DNS_SERVER をプライマリおよびセカンダリ DNS サーバーの IP アドレスに置き換えます。

  1. 起動とテスト:
    構成の完了後、Keepalived サービスと HAProxy サービスを開始し、DNS サービスの可用性を確認します。プライマリ DNS サーバーとセカンダリ DNS サーバーで次のコマンドを実行してサービスを開始します。
sudo systemctl start keepalived
sudo systemctl start haproxy

次に、ドメイン名解決ツール (dig など) を使用して、 DNS サービスは正常に動作しています。たとえば、次のコマンドを実行します。

dig example.com @IP_ADDRESS_OF_DNS_CLUSTER

IP_ADDRESS_OF_DNS_CLUSTER を、ロード バランシングに使用される仮想 IP アドレスに必ず置き換えてください。

結論:
この記事の概要とコード例を通じて、Linux システム上で高可用性 DNS クラスターを構成する方法を学習しました。ロード バランシングとフェイルオーバー テクノロジを通じて、DNS サーバーの可用性とパフォーマンスを向上させ、ネットワーク サービスの安定性を確保できます。高可用性 DNS クラスターの構成が成功することを祈っています。

以上がLinux 上で高可用性 DNS クラスターを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。