LinuxでBind(Berkeley Internet Name Domain)DNSサーバーのセットアップには、いくつかのステップが含まれます。まず、Bindパッケージをインストールする必要があります。正確なコマンドは分布に依存しますが、通常sudo apt-get install bind9
(debian/ubuntu)またはsudo yum install bind
(centos/rhel)のようなものです。インストール後、コア構成ファイルは通常/etc/bind/
にあります。主にnamed.conf.options
とnamed.conf.local
を使用します。
named.conf.options
、リスニングアドレス、フォワーダー(ローカルに回答がない場合はクエリする他のDNSサーバー)、再帰設定などのグローバル設定を制御します(サーバーがクライアントのクエリを再帰的に解決するかどうか)。 named.conf.local
、サーバーが管理するゾーンを定義します。ゾーンは、DNSネームスペースの一部です(例:example.com)。 named.conf.local
内で、実際のDNSレコード(a、aaaa、mx、cnameなど)を含むゾーンファイルの場所を指定します。これらのレコードは、ドメイン名をIPアドレスやその他の情報にマッピングします。
たとえば、 example.com
ゾーンを定義するには、DNSレコードを含むファイル( /etc/bind/db.example.com
など)を作成します。このファイルは、 named.conf.local
で参照されます。これらのファイルを構成した後、BINDサービスを再起動する必要があります(例、 sudo systemctl restart bind9
)。セットアップをテストすることが重要です。 nslookup
やdig
などのツールを使用して、サーバーを照会し、名前が正しく解決されていることを確認します。適切なファイアウォールルールを構成して、DNSトラフィック(通常はUDPポート53およびTCPポート53)がサーバーに到達できるようにすることを忘れないでください。
BIND DNSサーバーの必須構成ファイルは、主に/etc/bind/
ディレクトリにあります。キーファイルとその役割の内訳は次のとおりです。
named.conf.options
:このファイルには、Bindサーバーのグローバルオプションが含まれています。キー設定には次のものがあります。
listen-on port 53 { any; };
:IPアドレスを指定して、サーバーが耳を傾けるポートを指定します。 any
手段すべてのインターフェイス。allow-query { any; };
:どのIPアドレスがサーバーを照会できるかを指定します。 any
、すべてのアドレスからクエリを許可します。これは、通常、生産サーバーにとっては安全ではありません。これを特定のIPアドレスまたはネットワークに制限して、セキュリティを向上させます。forwarders { 8.8.8.8; 8.8.4.4; };
:上流のDNSサーバーを指定して、サーバーがローカルに回答がないかどうかにクエリを転送します。 GoogleのパブリックDNSサーバーを使用することは一般的な慣行です。recursion yes;
またはrecursion no;
:サーバーがクエリを再帰的に解決するかどうかを判断します。サーバーがクライアントにとって再帰的なリゾルバーであることを意図していない限り、通常、再帰は無効にする必要があります。directory "/var/cache/bind";
:Bindがキャッシュを保存するディレクトリを指定します。named.conf.local
:このファイルにはゾーン定義が含まれています。各ゾーンは、ドメイン名、ゾーンのタイプ(マスター、スレーブ、またはフォワード)、およびゾーンファイルの位置を指定して、 zone
ディレクティブを使用して定義されます。例えば:<code>zone "example.com" { type master; file "/etc/bind/db.example.com"; };</code>
/etc/bind/db.example.com
など):これらのファイルには、各ゾーンの実際のDNSレコードが含まれています。この形式は、Bindで定義された特定の構文です。 A、AAAA、MX、NS、CNAMEなどのレコードが含まれています。バインドエラーのトラブルシューティングには、多くの場合、ログと構成ファイルのチェックが含まれます。メインログファイルは通常、 /var/log/syslog
(または分布に応じて同様の場所)にあり、バインドエラーメッセージが含まれます。構成ファイル、許可の問題、またはネットワーク接続の問題の構文エラーに関連するエラーメッセージを探します。
一般的なエラーは次のとおりです。
named.conf.options
およびnamed.conf.local
慎重に確認します。 1つの誤ったセミコロンでさえ、サーバーの起動に失敗する可能性があります。named-checkzone
コマンドを使用してゾーンファイルを検証します。攻撃を防ぎ、データの整合性を維持するには、Bind DNSサーバーを保護することが重要です。ここにいくつかの重要なセキュリティ対策があります:
allow-query
を制限: allow-query { any; }
生産環境で。サーバーを照会するIPアドレスまたはネットワークを厳密に制限します。これらのセキュリティ対策を実装し、ベストプラクティスに従うことにより、Bind DNSサーバーのセキュリティを大幅に強化できます。最新の情報とセキュリティの推奨事項については、公式のBINDドキュメントを参照してください。
以上がLinuxでDNSサーバー(バインド)をセットアップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。