Linux用のDNSドメイン名解決サービス
目次
ナレーター:日常生活では、人々はドメイン名を使用してサーバーにアクセスすることに慣れていますが、マシンはIPアドレスのみを認識します。ドメイン名とIPアドレスの間には多対1の関係があります。IPアドレスは必ずしも1つだけに対応するとは限りません。ドメイン名、1つのドメイン名のみIPアドレスに対応できます。それらの間の変換はドメイン名解決と呼ばれます。ドメイン名解決は専用のドメイン名解決サーバーによって完了する必要があります。プロセス全体は自動です。
1.DNSシステムの役割
1. DNS定義:ドメインネームシステムの英語の略語です。ドメイン名とIPアドレスを相互にマッピングする分散データベースとして機能し、人々がより便利にインターネットにアクセスできるようにします。
2. DNSサービスはTCPおよびUDPポート53を使用し、TCPポート53はDNSサーバーへの接続に使用され、UDPポート53はDNSの解決に使用されます
3.ドメイン名の各レベルの長さ制限は63文字であり、ドメイン名の全長は253文字を超えることはできません。
4.DNSドメイン名の解決方法
前方解決:ドメイン名に従って対応するIPアドレスを見つけます
逆解決:IPアドレスに基づいて対応するドメイン名を見つけます
5.DNSシステムの分散データ構造
6.ドメイン名の構造:
http://www.sina.com.cn./
http://hostname.second-level domain.top-level domain.root domain /
ツリー構造の最上位はルートドメインと呼ばれ、「。」で示されます。対応するサーバーはルートサーバーと呼ばれます。ドメイン名空間の解決力全体はルートサーバーに属しますが、ルートサーバーは大きな負荷。「委任」レベルが採用されています。一部のトップレベルドメインはルートドメインの下に設定され、その後、異なるトップレベルドメイン解決権限がそれぞれ対応するトップレベルドメインサーバーに委任されます。たとえば、解決comドメインの権限はcomドメインサーバーに委任され、ルートサーバーはcomで終わるドメイン名解決を受信します。リクエストはcomドメインサーバーに転送されます。同じ理由で、トップのプレッシャーを軽減するために-レベルのドメイン、いくつかの第2レベルのドメインが設定されており、第2レベルのドメインも第3レベルのドメインまたはホストを設定しています
ルートドメインはドメインネームスペースの上部にあり、通常は「。」で表されます。
トップレベルドメイン-通常、組織または国のタイプを表します
.net(ネットワークプロバイダー)、. com(企業)、. org(グループ組織)、. edu(教育機関)、. gov(政府部門)、. cn(中国の国家ドメイン名)など
セカンドレベルドメインは、トップレベルドメイン内の特定の組織を示すために使用されます。国のトップレベルドメインの下にあるセカンドレベルドメイン名は、国のネットワーク部門によって管理されます。たとえば、.cnトップレベルドメイン名の下に設定されたセカンドレベルドメイン名:.com.cn、.net.cn、.edu.cn
サブドメイン-セカンドレベルドメインの下に作成されたすべてのレベルのドメインは、まとめてサブドメインと呼ばれます。各組織またはユーザーは、独自のドメイン名の登録を自由に申請できます。
ホスト-ホストはドメインネームスペースの最下位レベルにあり、特定のコンピュータです。たとえば、wwwとmailは特定のコンピュータ名であり、www.sina.com.cn。とmail.sina.com.cnで表すことができます。この表現方法はFQDN(完全修飾ドメイン名)と呼ばれます。ドメイン名
7.DNSサーバーの種類
(1)プライマリドメインネームサーバー:エリアのすべてのドメインネーム情報を維持する責任があり、すべての特定の情報の信頼できる情報ソースであり、データを変更できます。プライマリドメインネームサーバーを構築するときは、を作成する必要があります。担当エリアのアドレスデータファイル。
(2)スレーブドメインネームサーバー:マスタードメインネームサーバーに障害が発生したり、シャットダウンしたり、過負荷になったりした場合、スレーブドメインネームサーバーは、ドメイン名解決サービスを提供するバックアップサービスとして機能します。スレーブドメインネームサーバーによって提供される解決結果は次のとおりです。自分で決定するのではなく、マスタードメインネームサーバーから取得します。セカンダリドメインネームサーバーを構築するときは、サーバーが地域のアドレスデータベースを自動的に同期できるように、マスタードメインネームサーバーの場所を指定する必要があります。
(3)キャッシュドメインネームサーバー:クエリの速度と効率を向上させるためにドメイン名解決結果のキャッシュ機能を提供するだけですが、ドメインネームデータベースはありません。リモートサーバーから各ドメインネームサーバークエリの結果を取得して配置します。通知内のそれキャッシュ内では、将来同じ情報を照会するときに応答するために使用されます。提供されるすべての情報が間接情報であるため、キャッシュドメインネームサーバーは信頼できるサーバーではありません。キャッシュドメインネームサーバーを構築する場合、ルートドメインを設定するか、解決のソースとして別のDNSサーバーを指定する必要があります
(4)転送ドメインネームサーバー:すべての非ローカルドメイン名のローカルクエリを担当します。転送ドメインネームサーバーは、クエリリクエストを受信した後、キャッシュを検索します。見つからない場合は、指定されたドメインにリクエストを転送します。ネームサーバーは順番に、結果を直接見つけますこれまでのところ、そうでなければマッピングできない結果を返します
2.DNSドメイン名解決サーバーを構築する手順
1.DNSフォワード解決
バインドパッケージをインストールします
yum install -y bind
1.フォワード分析を構成します
(1)最初に、変更が必要な構成ファイルのパスを確認します。ここでは、変更が必要な構成ファイルはごくわずかです。
rpm -qc bind ——————バインドソフトウェア構成ファイルのパスを照会します
/etc/named.conf ——————メイン構成ファイル
/etc/named.rfc1912.zones————ゾーン構成ファイル
/var/named/named.loaclhost——————地域データ構成ファイル
(2)メイン構成ファイルを変更します
vim /etc/named.conf
options { listen-on port 53 {192.168.241.3;}; ————ポート53でリッスンします。IPアドレスはサービスを提供するローカルIPを使用し、anyを使用してすべてのlisten-on-v6ポートを表すこともできます。 53 {:: 1;}; — ——— ipv6を使用しない場合は、ディレクトリ「/ var / named」をコメントアウトまたは削除できます; ————地域データファイルのデフォルトの保存場所dump-file “ /var/named/data/cache_dump.db”; ——— —ドメインネームキャッシュデータベースファイルstatistics-fileの場所“ /var/named/data/named_stats.txt”; —ステータス統計ファイルの場所memstatistics-file“ /var/named/data/named_mem_stats.txt”; — —メモリ統計ファイルの場所allow-query {any;}; —このDNS解決サービスの使用が許可されているネットワークセグメント。すべてを表すために使用
……
}
ゾーン "。" IN {——————前方分析 "。"ルートゾーン
タイプヒント; ——————タイプはルートゾーン
ファイル "named.ca";-ゾーンデータファイルnamed.ca 、13のルートドメインサーバーのドメイン名とIPアドレスが記録されます
};include "/etc/named.rfc1912.zones
"; ————ゾーン構成ファイルにすべての構成を含めますinclude "/etc/named.root.key";
(3)ゾーンの構成ファイルを変更し、ポジティブゾーン構成を追加します
vim /etc/named.rfc1912.zones————ファイルにはテンプレートがあり、コピーして貼り付けると変更できます。
ゾーン "KB.com" IN {—————— "KB.com"ゾーン
タイプマスターの前方分析; ————————タイプマスターゾーン
ファイル "KB.com.zone"; ——— — -指定されたエリアデータファイルはKB.com.zoneallow
-update {none;};
};
(4)フォワードゾーンデータファイルを設定します
cd / var /名前付き
cp -p named.localhost KB.con.zone ————ソースファイルのアクセス許可を予約し、所有者の属性をコピーします
vim /var/named/KB.com.zone
$ TTL 1D ——————————————キャッシュされた解決結果の有効時間を設定
@ IN SOA KB.com admin.KB.com。(
0;シリアル
1D;更新
1H;再試行
1W;期限切れ
3H);最小
NS KB.com .——————現在のゾーン
A 192.168.241.3のDNSサーバーの名前を記録します————ホストIPアドレスを記録します
www IN A 192.168.241.3 ————— —レコード転送解決www.KB.com
メールに対応するIP 192.168.241.4
ftp IN CNAME www ———————— CNAMEはエイリアスを使用し、ftpはwwwのエイリアスです。x IN A 192.168.241.88 —————— *入力できない場合は、代わりにxを使用し、パンドメイン名の解決、*は任意のホスト名を表します
# "@"ここに変数があります。現在のDNSゾーンの名前です
#SOAタグは、マスターサーバーとスレーブサーバーの地域データを同期するために使用されます。更新シーケンス番号が同じ場合、更新されません。
# "KB.com。"これは完全修飾ドメイン名(FQDN)であり、その後に省略できない「。」があります
# "admin.KB.com。"は、管理者のメールボックスを意味します。ここで、 "@"は変数なので、代わりに "。"を使用してください。
(5)サービスを開始し、ファイアウォールを閉じます
systemctlstartという名前
systemctl stopfirewalld
setenforce 0
サービスの開始に失敗した場合は、ログファイルを確認してトラブルシューティングを行うことができます
tail -f / var / log / messages
サービスの起動が滞っている場合は、次のコマンドを実行して解決できます
rndc-confger -r / dev / urandom -a
(6)クライアントのドメインネーム解決構成ファイルにDNSサーバーアドレスを追加します
vim /etc/resolv.conf——————変更直後に有効
ネームサーバー192.168.241.3
または
vim / etc / sysconfig / network-scripts / ifcfg-ens33 ——————変更後にネットワークカードを再起動します
DNS1 = 192.168.241.3
systemctlrestartネットワーク
(7)DNS解決をテストする
ホストwww.KB.com
nslookup www.KB.com
nslookup ftp.KB.com
nslookup abc.KB.com
(8)Windowsで解析する場合、Linuxを搭載したVMnetにある必要があることに注意してください。
2.逆分析を構成します
(1)ゾーン構成ファイルを変更し、逆ゾーン構成を追加します
vim /etc/named.rfc1912.zone#ファイルにはテンプレートがあり、コピーして貼り付けると変更できます
zone "241.168.192.in-addr.arpa" IN {#192.168.241セグメントのアドレスを表す、逆解決されたアドレスを上書きできます
タイプマスター;
file "abc.com.zone.local";ゾーンデータファイルをabc.com.zone.localとして指定します
allow-update {なし; };
};
(2)逆引きゾーンデータファイルを設定します
cd / var /名前付き
cp -p named.localhost abc.com.zone.local
vim abc.com.zone.local
PTRは逆ポインタであり、192.168.241.3アドレスの逆分析はwww.abc.comになります。
(3)テストのためにサービスを再起動します
systemctlrestartという名前
ホスト192.168.241.100
nslookup 192.168.241.100
3.マスタースレーブドメインネームサーバーを構築します
1.プライマリドメインネームサーバーのゾーン構成ファイルを変更し、順方向および逆方向のゾーン構成を変更します
vim /etc/named.rfc1912.zone
ゾーン「abc.com」IN {
タイプマスター;#タイプマスターエリア
file "abc.com.zone";
allow-transfer {192.168.241.4;};サーバーからのフォワードゾーンデータのダウンロードを許可し、ここにスレーブサーバーのIPアドレスを追加します
};
ゾーン「241.168.192.in-addr.arpa」IN {
タイプマスター;
ファイル「abc.com.zone.q」;
allow-transfer {192.168.241.4; };
}
2.スレーブドメインネームサーバーのマスター構成ファイルを変更します
yum -y install bind
vim /etc/named.conf
options { listen-on port 53 {any;}; #listen on port 53、IPアドレスはサービスを提供するローカルIPにすることも、anyを使用してすべてを表すこともできます
ディレクトリ「と/ var / named」;
ダンプ・ファイル「/var/named/data/cache_dump.db」;
統計ファイル「/var/named/data/named_stats.txt」;
memstatisticsファイル「は/ var /named/data/named_mem_stats.txt ";
allow-query {any;}; #ローカルDNS解決サービスの使用を許可するネットワークセグメント、またはanyはすべてを表します
3.ドメインネームサーバーからゾーン構成ファイルを変更し、ポジティブゾーン構成とネガティブゾーン構成を追加します
vim /etc/named.rfc1912.zones
zone“ abc.com” IN { type slave; #タイプはゾーンファイル“ slaves / abc.com.zone”からのものです;#ダウンロードされたゾーンデータファイルはslaves /ディレクトリマスターに保存されます{192.168.241.3;}; #マスターを指定しますサーバーのIPアドレス};ゾーン“ 241.168.192.in-addr.arpa” IN { type slave; file“ slaves / abc.com.zone.q.local”; masters {192.168.241.3; }; };
4.マスターとスレーブの両方がサービスを再起動し、エリアデータファイルが正常にダウンロードされたかどうかを確認します
systemctlrestartという名前
ls -l / var / namesed / slaves
5.テスト
ホスト192.168.241.100
nslookup 192.168.241.100
6.メインサーバーのサービスを停止し、メインサーバーの障害をシミュレートします
systemctlstopという名前
ホスト192.168.241.100
nslookup 192.168.241.100
4.個別のDNS解決を構築するようにゲートウェイサーバーを構成します
ローカルネットワークホストがwww.abc.comを192.168.241.100に解決し、外部ホストがwww.abc.comを12.0.0.100に解決するように、ゲートウェイサーバーに個別のDNS解決を設定します。
1.ゲートウェイサーバーのデュアルネットワークカードを構成します
シャットダウン状態の別のネットワークカードを追加し、システムを再起動します
ifconfig ens36 12.0.0.1/24
ifconfig
2.バインドパッケージをインストールします
yum -y install bind
3.メイン構成ファイルを変更します
vim /etc/named.conf
options { listen-on port 53 {any;};#このマシンまたは任意の
directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"
…
allow-query {any;};#すべてのホストに解決を許可する
};
「/etc/named.rfc1912.zones」を含めます。
4.地域構成ファイルを変更します
vim /etc/named.rfc1912.zone
view“ lan” {#defineイントラネットビュー、viewはコンテナ分離を表し
ますmatch-clients {192.168.241.0/24;};
#matchイントラネットネットワークセグメントゾーン“ abc.com” IN {#解決する領域を設定します
type master;
file “ abc.com.zone.lan”; #data configuration file
};
zone“。” IN { #ルートゾーン構成はメイン構成ファイルから切り取ることができ
ます。dd + pタイプヒント; #hintはルートゾーンタイプ
ファイルです"Named.ca";
};};
view“ wan” {#define external network view
match-clients {any;}; #内部ネットワークセグメント以外の任意のアドレスに一致、
ゾーン“ abc.com” IN { type master; file“ abc.com.zone.wan”; }; };
ここで、ビューを有効にすると、すべてのゾーンがビューの下にある必要があるため、システムのデフォルトのセルフチェックで使用されるゾーンもビューの下に配置するか、削除する必要があることに注意してください。
5.地域データ構成ファイルを変更します
cd / var /名前付き
cp -p abc.com.zone abc.com.zone.lan
cp -p abc.com.zone abc.com.zone.wan
6、サービスを開始します
systemctlstartという名前
7、内部および外部ネットワーククライアントテスト
nslookup www.abc.com
イントラネット:
外部ネットワークテストはウィンドウによってシミュレートされます。シミュレーションの前にウィンドウを設定する必要があります