RHEL 9/Rocky 9/Alma 9 で BIND DNS リゾルバを設定するための包括的なガイド
RHEL 9 ディストリビューションで BIND を使用して安全かつ最適化された DNS リゾルバーを設定する方法を教えてください。

RHEL 9/Rocky 9/Alma 9 で BIND DNS リゾルバを設定するための包括的なガイド

このガイドは、RHEL 9、Rocky Linux 9、または Alma Linux 9 で BIND を使用して安全で最適化された DNS リゾルバーを設定するのに役立ちます。実用的なヒント、セキュリティ、キャッシュの最適化について学習し、レイテンシを削減できます。.
0 株式
0
0
0
0

RHEL 9/Rocky 9/Alma 9 に安全なローカル リゾルバーを設定しますか?

このガイドでは、 リゾルバ(ローカルリゾルバ) に基づく バインド に基づく分布について RHEL 9 のように ロッキー Linux 9 そして アルマ・リナックス9 検討中です。目標は、社内ネットワーク、クラウドサーバー、ワークロードクラスターで使用できる、安全で監視可能かつ最適化されたリゾルバーを提供することです。これは、レイテンシの削減とDNS解決の安定性向上を求めるウェブマスター、DevOps、トレーダー、ゲーマー、AIチームにとって最適なソリューションです。.

前提条件と初期インストール

前提条件

  • サーバ RHEL 9/ロッキー Linux 9/アルマ・リナックス9 root または sudo アクセスを使用します。.
  • ルートヒント/フォワーダーを更新およびダウンロードするにはインターネット アクセスが必要です。.
  • パッケージ バインド そして バインドユーティリティ.

初期インストール

BIND を更新およびインストールするには、次のコマンドを使用します。

sudo dnf update -y
sudo dnf install -y bind bind-utils
sudo systemctl enable --now named
sudo systemctl status named

ベースファイルのチェックと構成の検証

重要なファイルとパス:

  • /etc/named.conf — メイン設定
  • /var/named — デフォルトのゾーンディレクトリ
  • /etc/rndc.key (rndc-confgen -a 後)
  • /var/named/data — ログとキャッシュダンプ

構成をすばやく確認するには、次のツールを使用します。

sudo named-checkconf
sudo named-checkzone example.com /var/named/example.com.zone

キャッシュリゾルバの推奨構成(基本)

/etc/named.conf セクション オプション 以下のように編集してください。これは、クエリ制約とフォワーダーを備えたローカルリゾルバーの動作例です。

options {
    directory "/var/named";
    listen-on port 53 { 127.0.0.1; 10.10.10.5; };
    listen-on-v6 { none; };
    allow-query { localhost; localnets; 10.10.10.0/24; };
    recursion yes;
    forwarders { 1.1.1.1; 8.8.8.8; };
    dnssec-validation auto;
    managed-keys-directory "/var/named/dynamic";
    minimal-responses yes;
    max-cache-ttl 86400;
    max-ncache-ttl 3600;
    rate-limit {
        responses-per-second 10;
        window 5;
    };
    auth-nxdomain no;
};

実用的なヒント:

  • フォワーダー 会社の Anycast リゾルバまたは Cloudflare/Google に割り当てることができます。レイテンシを削減するには、最も近い場所を使用することをお勧めします。.
  • 最小限の応答 また、適切な TTL によりトラフィックが削減され、パフォーマンスが向上します。.

RNDCキー生成とリモート管理

RNDCを使用してBINDを安全に管理します。まずキーを生成し、サービスを再起動します。

sudo rndc-confgen -a
sudo systemctl restart named
sudo rndc status

ファイアウォールとSELinux

firewalldでポートを開く

sudo firewall-cmd --permanent --add-port=53/udp
sudo firewall-cmd --permanent --add-port=53/tcp
sudo firewall-cmd --reload

SELinux設定

SELinux を使用している場合は、次のコマンドを使用してコンテキストと権限を設定します。

sudo restorecon -Rv /var/named
sudo setsebool -P named_write_master_zones on
sudo semanage port -a -t dns_port_t -p tcp 53
sudo semanage port -a -t dns_port_t -p udp 53

さらなるセキュリティ:制限、監視、不正使用の防止

不正複製の禁止(ゾーン転送)

権限ゾーンにおける不正なAXFRのアクセスを防ぐには、TSIGキーを使用します。次の例は、キーの定義と転送許可の制限を示しています。

key "xfr-key" {
    algorithm hmac-sha256;
    secret "BASE64-SECRET";
};
zone "example.com" IN {
    type master;
    file "example.com.zone";
    allow-transfer { key "xfr-key"; };
};

DDoSおよびレート制限ソリューション

  • から レート制限 オプションで使用します。.
  • の使用 RPZ(レスポンスポリシーゾーン) 悪意のあるドメインをブロックします。.
  • ネットワーク レベルでは、Anti-DDoS および Anycast/BGP ソリューションを活用して悪意のあるトラフィックを分散します。.

DNSSECと検証

活性化することで dnssec検証自動リゾルバはDNSSEC署名をチェックし、悪意のある応答を拒否します。managed-keysが存在することを確認してください。

sudo ls /var/named/dynamic

監視、ログ記録、トラブルシューティング

ログと回転

BIND はデフォルトでログに記録します。 /var/named/data/ ファイルを管理するには ログローテート ログを syslog/journal に使用またはリダイレクトします。.

機能コマンド

dig @10.10.10.5 example.com +stats
dig @10.10.10.5 google.com +short
sudo rndc flush
sudo named-checkconf
sudo named-checkzone example.com /var/named/example.com.zone
sudo systemctl status named
sudo journalctl -u named -f

高度なシナリオ: ビュー、スプリットホライズン、分散サーバー

スプリットホライズンのビュー

社内と社外のクライアントに異なる対応をするために ビュー 使用例:

acl "internal" { 10.10.10.0/24; localhost; };
view "internal" {
    match-clients { "internal"; };
    recursion yes;
    zone "example.com" {
        type master;
        file "zones/db.example.internal";
    };
};
view "external" {
    match-clients { any; };
    recursion no;
    zone "example.com" {
        type master;
        file "zones/db.example.public";
    };
};

地理的分散とエニーキャスト

低レイテンシが求められるサービス(トレーダー、ゲーマーなど)の場合、リゾルバを複数の場所に分散させ、Anycast/BGPを利用することで最良の結果が得られます。このソリューションを提供している企業は、 世界85か所 また、分散リゾルバ、DDoS 保護、BGP 接続を展開するための Anycast および CDN インフラストラクチャも用意されています。.

さまざまなアプリケーションのための実用的なヒント

ウェブサイトおよびWordPress管理者向け

  • クラウド サーバー上の内部リゾルバ キャッシュを使用して、DNS ルックアップを削減します。.
  • 設定 最小限の応答 TTL を合理化してページの読み込み速度を向上させます。.
  • レイテンシを削減し、可用性を高めるには、CDN と DNS を組み合わせることをお勧めします。.

DevOpsおよびAI/レンダリングクラスター向け

  • 各ノードでローカル リゾルバを実行するか、大容量の中央リゾルバを実行して、レジストリとリソースへのアクセスを高速化します。.
  • CI/CD ジョブとパッケージのダウンロードで DNS キャッシュを使用します。.
  • 大規模な環境では、スプリット ホライズンを使用して内部サービスと外部サービスを分離します。.

トレーダーとゲーマー向け

  • リゾルバを地理的に最も近い場所に配置する 85か所 ping を減らすことをお勧めします。.
  • エニーキャスト リゾルバと Anti-DDoS サーバーを使用して、安定性を高め、攻撃から保護します。.

完全な概要構成例(簡単な例)

重要な部分 /etc/named.conf:

options {
    directory "/var/named";
    listen-on port 53 { 127.0.0.1; 10.10.10.5; };
    allow-query { localhost; localnets; 10.10.10.0/24; };
    recursion yes;
    forwarders { 1.1.1.1; 8.8.8.8; };
    dnssec-validation auto;
    minimal-responses yes;
    rate-limit { responses-per-second 10; window 5; };
};

最終的なヒントとベストプラクティス

  • いつも 再起動する前に、named-checkconf と named-checkzone を実行してください。.
  • サブネットに制限されたアクセスを指定します。リゾルバをすべてのユーザーに公開したままにしないでください。.
  • ゾーン転送にはTSIGキーを使用し、 rndc-confgen -a 安全な管理に使用します。.
  • ログを監視し、トラフィックの増加やエラーに対するアラートしきい値を定義します。.
  • 一般向けにサービスを提供する場合は、Anti-DDoS インフラストラクチャと地理的分散を活用します。.

このサービスをプロバイダーのクラウド インフラストラクチャに実装する理由は何ですか?

利点:

  • 異なる地理的な場所にリゾルバを展開して、ping を減らし、応答を高速化します。.
  • Anti-DDoS とネットワーク ファイアウォールによる高度な保護。.
  • CDN および分散ネットワークとの統合により、可用性が向上し、レイテンシが短縮されます。.
  • マネージドプラン(マネージド DNS)と、GitLab、データベース、AI インフラストラクチャをホストする機能。.

よくある質問

あなたも気に入るかもしれない