📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の9版が非表示)
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>


75行目: 98行目:
<br>
<br>
==== 内部向け正引きゾーンデータベースの作成 (ドメイン名からIPアドレス) ====
==== 内部向け正引きゾーンデータベースの作成 (ドメイン名からIPアドレス) ====
この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにする必要がある。<br>
<br>
内部向けDNSサーバの正引きゾーンデータベースを作成する。<br>
内部向けDNSサーバの正引きゾーンデータベースを作成する。<br>
以下の例に記述しているXXやYY等のIPアドレスを、該当するクライアントPCのIPアドレスに変更すること。<br>
以下の例に記述しているXXやYY等のIPアドレスを、該当するクライアントPCのIPアドレスに変更すること。<br>
83行目: 108行目:
  $TTL 86400
  $TTL 86400
   
   
; SOAレコード(権威DNSサーバが担当しているゾーン(管理する範囲)に関する情報)
  @      IN SOA ns.suse.com.    root.suse.com. (
  @      IN SOA ns.suse.com.    root.suse.com. (
                                       2022041001 ; Serial  例. 作成年月日 + 01(連番)を記述する
                                       2022041001 ; シリアル番号 例. 作成年月日 + 01(連番)を記述する
                                       28800      ; Refresh
                                       28800      ; 更新チェックの間隔
                                       14400      ; Retry
                                       14400      ; リトライ間隔
                                       3600000    ; Expire
                                       3600000    ; 問い合わせを諦める間隔
                                       86400      ; Minimum TTL
                                       86400      ; ネガティブキャッシュの有効期限
  )
  )
   
   
  @      IN NS ns.suse.com. ;
; NSレコード(管理の委託先のDNSサーバ名)
; 記述方法 : <対象のドメイン名> IN NS <対象のドメイン名を管理しているDNSサーバ名>
; メールサーバを指定する場合は、MXレコードを記述する
  @      IN NS ns.suse.com.
; Aレコード(ドメイン名に対応するIPアドレス)
  ns    IN A 192.168.1.XX  ; 内部向けDNSサーバのIPアドレス
  ns    IN A 192.168.1.XX  ; 内部向けDNSサーバのIPアドレス
  pc1    IN A 192.168.1.YY  ; クライアントPC 1
  pc1    IN A 192.168.1.YY  ; クライアントPC 1
  pc2    IN A 192.168.1.ZZ  ; クライアントPC 2
  pc2    IN A 192.168.1.ZZ  ; クライアントPC 2
  pc3    IN A 192.168.1.AA  ; クライアントPC 3
  pc3    IN A 192.168.1.AA  ; クライアントPC 3
; CNAMEレコード(ドメイン名に別名を付ける)
; 記述方法 : <別名> IN CNAME <元のドメイン名>
subpc1 IN CNAME pc1
; DNSレコードは他にも、AAAAレコード、PTRレコード、HINFOレコード、WKSレコード、TXTレコード等がある
<br>
<br>
==== 内部向け逆引きゾーンデータベースの作成 (IPアドレスからドメイン名) ====
==== 内部向け逆引きゾーンデータベースの作成 (IPアドレスからドメイン名) ====
この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにする必要がある。<br>
<br>
内部向けDNSサーバの逆引きゾーンデータベースを作成する。<br>
内部向けDNSサーバの逆引きゾーンデータベースを作成する。<br>
以下の例に記述しているXXやYY等のIPアドレスを、該当するクライアントPCのIPアドレスに変更すること。<br>
以下の例に記述しているXXやYY等のIPアドレスを、該当するクライアントPCのIPアドレスに変更すること。<br>
134行目: 174行目:
<br>
<br>
==== 内部向けDNSサーバの停止 ====
==== 内部向けDNSサーバの停止 ====
内部向けDNSサーバを起動する。<br>
内部向けDNSサーバを停止する。<br>
併せて、ファイアーウォールのポートも閉じる。<br>
併せて、ファイアーウォールのポートも閉じる。<br>
  sudo systemctl stop named.service
  sudo systemctl stop named.service
140行目: 180行目:
  sudo firewall-cmd --permanent --remove-service=dns
  sudo firewall-cmd --permanent --remove-service=dns
  sudo firewall-cmd --reload
  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>
次に、クライアント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>
==== ドメイン名の正引きおよび逆引きの確認 ====
内部向け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>


== 外部向けDNSサーバの設定 ==
== BINDの設定 : 外部向けDNSの場合 ==
==== ルートゾーンの更新と自動更新設定 ====
==== ルートゾーンの更新と自動更新設定 ====
ルートゾーンは、世界に13台しかないトップレベルドメインを管理するDNSサーバのIPアドレスを管理しているファイルである。<br>
ルートゾーンは、世界に13台しかないトップレベルドメインを管理するDNSサーバのIPアドレスを管理しているファイルである。<br>
ルートゾーン(named.ca)を更新する。<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>
202行目: 287行目:
  sudo mv named.root_update /etc/cron.monthly/
  sudo mv named.root_update /etc/cron.monthly/
<br>
<br>
 
==== 外部向け正引きゾーンデータベースの作成 (ドメイン名からIPアドレス) ====
== 外部向け正引きゾーンデータベースの作成(ドメイン名からIPアドレス)<br>(固定IPアドレスの場合のみ) ==
この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにする必要がある。<br>
外部向け正引きゾーンデータベースを作成する。<br>
<br>
  sudo vi /var/named/centos.com.db.wan
外部向けDNSサーバの正引きゾーンデータベースを作成する。<br>
  sudo vi /var/lib/named/suse.com.db.wan
<br>
<br>
  $TTL    86400
  $TTL    86400
  @      IN      SOA    ns1.centos.com.  root.centos.com.(
  @      IN      SOA    ns1.suse.com.  root.suse.com.(
                                       2020010101 ; Serial
                                       2020010101 ; Serial
                                       7200      ; Refresh
                                       7200      ; Refresh
214行目: 300行目:
                                       2419200    ; Expire
                                       2419200    ; Expire
                                       86400 )    ; Minimum
                                       86400 )    ; Minimum
         IN      NS    ns1.centos.com. ; ネームサーバ名
         IN      NS    ns1.suse.com.   ; ネームサーバ名
         IN      MX 10 centos.com.     ; MXホスト名(メールサーバを構築する場合のみ)
         IN      MX 10 suse.com.       ; MXホスト名(メールサーバを構築する場合のみ)
  ns1    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(ns1.centos.com用)
  ns1    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(ns1.suse.com用)
  @      IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(centos.com用)
  @      IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(suse.com用)
  www    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(www.centos.com用)
  www    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(www.suse.com用)
  ftp    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(ftp.centos.com用)
  ftp    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(ftp.suse.com用)
  mail    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(mail.centos.com用)
  mail    IN      A    XXX.XXX.XXX.XXX  ; サーバのグローバルIPアドレスを指定(mail.suse.com用)
  centos.com. IN TXT "v=spf1 ip4:XXX.XXX.XXX.XXX ~all"  ;サーバのグローバルIPアドレスを指定(メールサーバを構築する場合のみ)
  suse.com. IN TXT "v=spf1 ip4:XXX.XXX.XXX.XXX ~all"  ;サーバのグローバルIPアドレスを指定(メールサーバを構築する場合のみ)
<br><br>
<br>
 
==== 外部向け逆引きゾーンデータベースの作成(IPアドレスからドメイン名) ====
== 外部向け逆引きゾーンデータベースの作成(IPアドレスからドメイン名)<br>(固定IPアドレスでプロバイダから逆引き権限を委譲されている場合のみ) ==
<u>この設定を有効にするには、外部向けDNSサーバを静的IPアドレスにして、プロバイダから逆引き権限を委譲されている必要がある。</u><br>
<br>
外部向け逆引きゾーンデータベースを作成する。<br>
外部向け逆引きゾーンデータベースを作成する。<br>
  sudo vi /var/named/SUBxxx.xxx.xxx.xxx.in-addr.arpa.db.wan
  sudo vi /var/lib/named/xxx.xxx.xxx.xxx.in-addr.arpa.db.wan
<br>
<br>
  $TTL    86400
  $TTL    86400
  @      IN      SOA    ns1.centos.com.  root.centos.com.(
  @      IN      SOA    ns1.suse.com.  root.suse.com.(
                                       2020010101 ; Serial
                                       2020010101 ; Serial
                                       7200      ; Refresh
                                       7200      ; Refresh
235行目: 322行目:
                                       2419200    ; Expire
                                       2419200    ; Expire
                                       86400 )    ; Minimum
                                       86400 )    ; Minimum
         IN NS    ns1.centos.com.
         IN NS    ns1.suse.com.
  xxx    IN PTR  centos.com. ;サーバIPアドレス最下位部(xxx.xxx.xxx.xxx)とドメイン名を指定
  xxx    IN PTR  suse.com.     ; サーバIPアドレス最下位部(xxx.xxx.xxx.xxx)とドメイン名を指定
<br>
<br>
<span style="color:#C00000">
<u>※注意</u><br>
'''※注意'''<br>
<u>ゾーン情報の変更時は、Serial行を年月日と通番2桁(yyyymmddxx)のようにして、必ず、変更前よりも大きな値に変更すること。</u><br>
'''ゾーン情報の変更時は、Serial行を年月日と通番2桁(yyyymmddxx)のようにして、必ず、変更前よりも大きな値に変更すること。'''<br>
<u>例えば、変更前のSerialが2020010101なら、変更後のSerialは2020010102にする。</u><br>
'''例えば、変更前のSerialが2020010101なら、変更後のSerialは2020010102にする。'''<br>
<u>これにより、後述するセカンダリ側へのゾーン情報の変更が正しく行われるようになる。</u><br>
'''これにより、後述するセカンダリ側へのゾーン情報の変更が正しく行われるようになる。'''<br>
<br>
</span>
==== 外部向けDNSサーバの起動 ====
<br><br>
外部向けDNSサーバを起動する。<br>
 
併せて、ファイアーウォールのポート開放も行う。<br>
== BINDの起動 ==
  sudo systemctl start named-chroot
  sudo systemctl start named-chroot
  sudo systemctl enable named-chroot
   
<br><br>
 
== ファイヤーウォールのポート開放 ==
CentOSのファイヤーウォールのポートを開放する。(TCP53番ポートとUDP53番ポート)<br>
  sudo firewall-cmd --add-service=dns --parmanent
  sudo firewall-cmd --add-service=dns --parmanent
  sudo firewall-cmd --reload
  sudo firewall-cmd --reload
<br><br>
== ルータのポート開放 ==
ルータ側の設定で、TCP53番ポートとUDP53番ポートへのアクセスをDNSサーバ(CentOS)に転送するように設定する。<br>
<br>
<br>
<span style="color:#C00000">
==== 外部向けDNSサーバの停止 ====
'''※注意'''<br>
外部向けDNSサーバを停止する。<br>
'''ルータのポート開放の設定は、各ルータのマニュアルを参照すること。'''<br>
併せて、ファイアーウォールのポートも閉じる。<br>
</span>
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]]