📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == DNSサーバ(BIND)は、suse.comというドメイン名からIPアドレスを返したり、IPアドレスからドメイン名を返すサーバである。<br> <br> 内部向けDNSサーバは、LANにあるサーバまたはクライアントPCにアクセスする時、IPアドレスではなくsuse.com等のドメイン名を入力してアクセスできるようにするDNSサーバである。<br> 外部向けDNSサーバは、WANにあるサ…」 |
|||
| (同じ利用者による、間の15版が非表示) | |||
| 11行目: | 11行目: | ||
<u>固定IPアドレスの場合は独自ドメイン取得済であること。</u><br> | <u>固定IPアドレスの場合は独自ドメイン取得済であること。</u><br> | ||
<u>外部向けDNSサーバは固定IPアドレス環境の場合のみ。</u><br> | <u>外部向けDNSサーバは固定IPアドレス環境の場合のみ。</u><br> | ||
<br><br> | |||
== DNSのレコード == | |||
<center> | |||
{| class="wikitable" | style="background-color:#fefefe;" | |||
|- | |||
! style="background-color:#66CCFF;" | レコードタイプ | |||
! style="background-color:#66CCFF;" | 説明 | |||
! style="background-color:#66CCFF;" | DNS定義ファイル等での定義例 | |||
|- | |||
| Aレコード || A(Address)レコードは、IPv4でホスト名とIPアドレスの関連付けを定義するレコードである。 || <code><ドメイン名> IN NS dns.sub.example.com.</code> | |||
|- | |||
| AAAAレコード || AAAAレコードは、IPv6でホスト名とIPアドレスの関連付けを定義するレコードである。 || - | |||
|- | |||
| CNAMEレコード || CNAMEレコードは、正規ホスト名に対する別名を定義するレコードである。<br>特定のホスト名のDNSレコードについて、別のホスト名のレコードを参照させる時に利用する。 || <code>www IN CNAME backup1.example.com.</code> | |||
|- | |||
| MXレコード || MXレコードは、対象ドメイン宛のメールの配送先(メールサーバ)のホスト名を定義するレコードである。 || <code><ドメイン名> IN MX 10 mail.example.com.</code> | |||
|- | |||
| NSレコード || NSレコードとは、ゾーン情報を管理するネームサーバのサーバ名を定義するレコードである。 || <code><ドメイン名> IN NS dns.sub.example.com.</code> | |||
|- | |||
| TXT(SPF)レコード || TXTレコードは、ホスト名に関連付けるテキスト情報(文字列)を定義するレコードである。<br>送信ドメイン認証の認証情報等を記述する。 || <code>www IN TXT "Please Dont Touch Me"</code> | |||
|} | |||
</center> | |||
<br><br> | <br><br> | ||
| 22行目: | 45行目: | ||
<br><br> | <br><br> | ||
== BINDの設定 == | == BINDの設定 : 内部向けDNSの場合 == | ||
==== 内部向けDNSサーバ全体の設定 ==== | |||
BINDの設定ファイルを編集する。<br> | BINDの設定ファイルを編集する。<br> | ||
sudo vi /etc/named.conf | sudo vi /etc/named.conf | ||
<br> | <br> | ||
options { | options { | ||
...略 | |||
# 内部向けDNSサーバの管理外の問合せ先 | |||
#forwarders { 192.0.2.1; 192.0.2.2; }; | |||
forwarders { 192.168.1.1; }; | |||
...略 | |||
# 全てListenする場合 (未設定でもよい) | |||
#listen-on port 53 { 127.0.0.1; }; | |||
listen-on port 53 { any; }; | |||
# IPv6を使用しない場合 | |||
#listen-on-v6 { any; }; | |||
listen-on-v6 { none; }; | |||
...略 | |||
# 問い合わせを許可する範囲を指定 | |||
# 以下の例では、LAN(192.168.1.*)からのみ問い合わせを許可している | |||
#allow-query { 127.0.0.1; }; | |||
allow-query { 127.0.0.1; 192.168.1.0/24; }; | |||
...略 | |||
}; | |||
...略 | |||
# コメントアウトする | |||
#include "/etc/named.conf.include"; | |||
...略 | |||
# 内部向けDNSサーバのゾーンの設定 (追加) | |||
# 192.168.1.* の正引き | |||
zone "suse.com" { | |||
type master; | |||
file "suse.db"; | |||
}; | }; | ||
# 192.168.1.* の逆引き | |||
zone "1.168.192.in-addr.arpa" { | |||
type master; | |||
file "1.168.192.in-addr.arpa.db"; | |||
}; | }; | ||
<br> | |||
==== 内部向け正引きゾーンデータベースの作成 (ドメイン名からIPアドレス) ==== | |||
この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにする必要がある。<br> | |||
<br> | |||
内部向けDNSサーバの正引きゾーンデータベースを作成する。<br> | |||
以下の例に記述しているXXやYY等のIPアドレスを、該当するクライアントPCのIPアドレスに変更すること。<br> | |||
sudo vi /var/lib/named/suse.db | |||
<br> | |||
# /var/lib/named/suse.dbファイル | |||
$TTL 86400 | |||
; SOAレコード(権威DNSサーバが担当しているゾーン(管理する範囲)に関する情報) | |||
@ IN SOA ns.suse.com. root.suse.com. ( | |||
2022041001 ; シリアル番号 例. 作成年月日 + 01(連番)を記述する | |||
28800 ; 更新チェックの間隔 | |||
14400 ; リトライ間隔 | |||
3600000 ; 問い合わせを諦める間隔 | |||
86400 ; ネガティブキャッシュの有効期限 | |||
) | |||
; NSレコード(管理の委託先のDNSサーバ名) | |||
; 記述方法 : <対象のドメイン名> IN NS <対象のドメイン名を管理しているDNSサーバ名> | |||
; メールサーバを指定する場合は、MXレコードを記述する | |||
@ IN NS ns.suse.com. | |||
; Aレコード(ドメイン名に対応するIPアドレス) | |||
ns IN A 192.168.1.XX ; 内部向けDNSサーバのIPアドレス | |||
pc1 IN A 192.168.1.YY ; クライアントPC 1 | |||
pc2 IN A 192.168.1.ZZ ; クライアントPC 2 | |||
pc3 IN A 192.168.1.AA ; クライアントPC 3 | |||
; CNAMEレコード(ドメイン名に別名を付ける) | |||
; 記述方法 : <別名> IN CNAME <元のドメイン名> | |||
subpc1 IN CNAME pc1 | |||
; DNSレコードは他にも、AAAAレコード、PTRレコード、HINFOレコード、WKSレコード、TXTレコード等がある | |||
<br> | |||
==== 内部向け逆引きゾーンデータベースの作成 (IPアドレスからドメイン名) ==== | |||
この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにする必要がある。<br> | |||
<br> | |||
内部向けDNSサーバの逆引きゾーンデータベースを作成する。<br> | |||
以下の例に記述しているXXやYY等のIPアドレスを、該当するクライアントPCのIPアドレスに変更すること。<br> | |||
sudo vi /var/lib/named/1.168.192.in-addr.arpa.db | |||
<br> | |||
# /var/lib/named/1.168.192.in-addr.arpa.dbファイル | |||
$TTL 86400 ; | |||
@ IN SOA ns.suse.com. root.suse.com. ( | |||
2022041001 ; Serial 例. 作成年月日 + 01(連番)を記述する | |||
3H ; Refresh | |||
1H ; Retry | |||
1W ; Expire | |||
1D ) ; Minimum | |||
IN NS ns.suse.com. ; | |||
IN PTR suse.com. ; | |||
IN A 255.255.255.0 ; | |||
XX IN PTR ns.suse.com. ; 内部向けDNSサーバのIPアドレス | |||
YY IN PTR pc1.suse.com. ; クライアントPC 1 | |||
ZZ IN PTR pc2.suse.com. ; クライアントPC 2 | |||
AA IN PTR pc3.suse.com. ; クライアントPC 3 | |||
<br> | |||
設定ファイルが正常に記述されているかどうかを確認する。<br> | |||
sudo named-checkconf | |||
<br> | <br> | ||
==== 内部向けDNSサーバの起動 ==== | |||
sudo | 内部向けDNSサーバを起動する。<br> | ||
併せて、ファイアーウォールのポート開放も行う。<br> | |||
sudo systemctl start named.service | |||
sudo firewall-cmd --permanent --add-service=dns | |||
sudo firewall-cmd --reload | |||
<br> | <br> | ||
==== 内部向けDNSサーバの停止 ==== | |||
内部向けDNSサーバを停止する。<br> | |||
併せて、ファイアーウォールのポートも閉じる。<br> | |||
sudo systemctl stop named.service | |||
sudo firewall-cmd --permanent --remove-service=dns | |||
sudo firewall-cmd --reload | |||
<br> | |||
==== クライアントPCの設定 ==== | |||
まず、ドメイン検索の設定を行う。<br> | |||
* KDEを使用している場合 | |||
*# [KDEシステム設定]を起動して、[接続]を選択する。 | |||
*# [接続]画面左の接続名を選択して、[接続]画面右の[IPv4]タブ - [DNSサーバ:]項目に内部向けDNSサーバのIPアドレスを追加する。 | |||
*# 同様に、[接続]画面右の[IPv4]タブ - [検索ドメイン:]項目に内部向けDNSサーバのドメイン名を入力する。<br>例えば、DNSサーバ名が<code>ns.suse.com</code>の場合、<code>suse.com</code>と入力する。 | |||
*: <br> | |||
* リゾルバファイルを編集する場合 | |||
*: /etc/resolv.confファイルにおいて、内部向けDNSサーバのドメイン名を入力する。 | |||
*: 例えば、DNSサーバ名が<code>ns.suse.com</code>の場合、<code>suse.com</code>と入力する。 | |||
*: <code>sudo vi /etc/resolv.conf</code> | |||
*: <br> | |||
*: <code>domain suse.com</code> | |||
*: または | |||
*: <code>search suse.com</code> | |||
<br> | <br> | ||
次に、クライアントPCのネットワークを再起動する。<br> | |||
* <code>systemctl</code>コマンドを使用する場合 | |||
*: <code>sudo systemctl restart NetworkManager</code> | |||
* <code>nmcli</code>コマンドを使用する場合 | |||
*: NetworkManagerの全てのインターフェイスを停止した後、それらを起動する。 | |||
*: <code>sudo nmcli networking off && sudo nmcli networking on</code> | |||
*: <br> | |||
* Linuxを再起動する場合 | |||
*: <code>sudo shutdown -r now</code> | |||
<br> | <br> | ||
# | |||
==== ドメイン名の正引きおよび逆引きの確認 ==== | |||
内部向けDNSサーバと各クライアントPCの正引きおよび逆引きができるかどうかを確認する。<br> | |||
nslookup ns.suse.com # 内部向けDNSサーバの正引き | |||
nslookup pc1.suse.com # クライアントPC 1の正引き | |||
nslookup pc2.suse.com # クライアントPC 2の正引き | |||
nslookup pc3.suse.com # クライアントPC 3の正引き | |||
nslookup 192.168.1.XX # 内部向けDNSサーバの逆引き | |||
nslookup 192.168.1.YY # クライアントPC 1の逆引き | |||
nslookup 192.168.1.ZZ # クライアントPC 2の逆引き | |||
nslookup 192.168.1.AA # クライアントPC 3の逆引き | |||
# | # 再帰問い合わせが無効の場合(recursion項目がnoの場合) | ||
dig @<該当PCのIPアドレス> <該当PCのドメイン名> | |||
例1. dig @192.168.10.5 ns.suse.net | |||
例2. dig @192.168.10.6 pc01.suse.net | |||
<br><br> | <br><br> | ||
== ルートゾーンの更新と自動更新設定 == | == BINDの設定 : 外部向けDNSの場合 == | ||
==== ルートゾーンの更新と自動更新設定 ==== | |||
ルートゾーンは、世界に13台しかないトップレベルドメインを管理するDNSサーバのIPアドレスを管理しているファイルである。<br> | ルートゾーンは、世界に13台しかないトップレベルドメインを管理するDNSサーバのIPアドレスを管理しているファイルである。<br> | ||
<br> | |||
dig . ns @198.41.0.4 +bufsize=1024 > /var/named/chroot/var/named/named.ca | まず、ルートゾーン(named.ca)を更新する。<br> | ||
dig . ns @198.41.0.4 +bufsize=1024 > /var/lib/named/chroot/var/named/named.ca | |||
<br> | <br> | ||
また、各月で、ルートゾーンが最新かどうか確認し、更新されていればルートゾーンの更新およびBINDの再起動を自動的に行うようにするため、<br> | また、各月で、ルートゾーンが最新かどうか確認し、更新されていればルートゾーンの更新およびBINDの再起動を自動的に行うようにするため、<br> | ||
| 204行目: | 286行目: | ||
ルートゾーンの更新スクリプトを毎月自動実行されるディレクトリに移動する。<br> | ルートゾーンの更新スクリプトを毎月自動実行されるディレクトリに移動する。<br> | ||
sudo mv named.root_update /etc/cron.monthly/ | sudo mv named.root_update /etc/cron.monthly/ | ||
<br> | <br> | ||
==== 外部向け正引きゾーンデータベースの作成 (ドメイン名からIPアドレス) ==== | |||
この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにする必要がある。<br> | |||
== | |||
<br> | <br> | ||
外部向けDNSサーバの正引きゾーンデータベースを作成する。<br> | |||
sudo vi /var/lib/named/suse.com.db.wan | |||
sudo vi /var/named/ | |||
<br> | <br> | ||
$TTL 86400 | $TTL 86400 | ||
@ IN SOA ns1. | @ IN SOA ns1.suse.com. root.suse.com.( | ||
2020010101 ; Serial | 2020010101 ; Serial | ||
7200 ; Refresh | 7200 ; Refresh | ||
| 249行目: | 300行目: | ||
2419200 ; Expire | 2419200 ; Expire | ||
86400 ) ; Minimum | 86400 ) ; Minimum | ||
IN NS ns1. | IN NS ns1.suse.com. ; ネームサーバ名 | ||
IN MX 10 | IN MX 10 suse.com. ; MXホスト名(メールサーバを構築する場合のみ) | ||
ns1 IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(ns1. | ns1 IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(ns1.suse.com用) | ||
@ IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定( | @ IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(suse.com用) | ||
www IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(www. | www IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(www.suse.com用) | ||
ftp IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(ftp. | ftp IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(ftp.suse.com用) | ||
mail IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(mail. | mail IN A XXX.XXX.XXX.XXX ; サーバのグローバルIPアドレスを指定(mail.suse.com用) | ||
suse.com. IN TXT "v=spf1 ip4:XXX.XXX.XXX.XXX ~all" ;サーバのグローバルIPアドレスを指定(メールサーバを構築する場合のみ) | |||
<br> | |||
==== 外部向け逆引きゾーンデータベースの作成(IPアドレスからドメイン名) ==== | |||
== 外部向け逆引きゾーンデータベースの作成(IPアドレスからドメイン名)<br> | <u>この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにして、プロバイダから逆引き権限を委譲されている必要がある。</u><br> | ||
<br> | |||
外部向け逆引きゾーンデータベースを作成する。<br> | 外部向け逆引きゾーンデータベースを作成する。<br> | ||
sudo vi /var/named/ | sudo vi /var/lib/named/xxx.xxx.xxx.xxx.in-addr.arpa.db.wan | ||
<br> | <br> | ||
$TTL 86400 | $TTL 86400 | ||
@ IN SOA ns1. | @ IN SOA ns1.suse.com. root.suse.com.( | ||
2020010101 ; Serial | 2020010101 ; Serial | ||
7200 ; Refresh | 7200 ; Refresh | ||
| 270行目: | 322行目: | ||
2419200 ; Expire | 2419200 ; Expire | ||
86400 ) ; Minimum | 86400 ) ; Minimum | ||
IN NS ns1. | IN NS ns1.suse.com. | ||
xxx IN PTR | xxx IN PTR suse.com. ; サーバIPアドレス最下位部(xxx.xxx.xxx.xxx)とドメイン名を指定 | ||
<br> | |||
<u>※注意</u><br> | |||
<u>ゾーン情報の変更時は、Serial行を年月日と通番2桁(yyyymmddxx)のようにして、必ず、変更前よりも大きな値に変更すること。</u><br> | |||
<u>例えば、変更前のSerialが2020010101なら、変更後のSerialは2020010102にする。</u><br> | |||
<u>これにより、後述するセカンダリ側へのゾーン情報の変更が正しく行われるようになる。</u><br> | |||
<br> | <br> | ||
==== 外部向けDNSサーバの起動 ==== | |||
外部向けDNSサーバを起動する。<br> | |||
併せて、ファイアーウォールのポート開放も行う。<br> | |||
sudo systemctl start named-chroot | sudo systemctl start named-chroot | ||
sudo firewall-cmd --add-service=dns --parmanent | sudo firewall-cmd --add-service=dns --parmanent | ||
sudo firewall-cmd --reload | sudo firewall-cmd --reload | ||
<br> | <br> | ||
< | ==== 外部向けDNSサーバの停止 ==== | ||
外部向けDNSサーバを停止する。<br> | |||
併せて、ファイアーウォールのポートも閉じる。<br> | |||
</ | sudo systemctl stop named-chroot | ||
sudo firewall-cmd --parmanent --remove-service=dns | |||
sudo firewall-cmd --reload | |||
<br> | |||
==== ルータのポート開放 ==== | |||
ルータ側の設定で、TCP53番ポートおよびUDP53番ポートへのアクセスを外部向けDNSサーバに転送するように設定する。<br> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>ルータのポート開放の設定は、各ルータのマニュアルを参照すること。</u><br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:SUSE]] | [[カテゴリ:SUSE]][[カテゴリ:Web]] | ||