回答:
まず、サーバーのIPアドレスをDHCPからSTATICに変更して、次のコマンドを使用します。
sudo nano /etc/network/interfaces
追加します:
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers
ネットワークデーモンを再起動します
sudo /etc/init.d/networking restart
Linux UbuntuでDNSサーバーを構成する前に、まずドメイン名を作成してから先に進みます。まず、これについてホスト名コマンドを確認します
sudo nano /etc/hostname
nefitari
(これは私のUbuntuサーバーのホスト名であり、異なる場合があります。必要に応じて変更できます)
ホスト名の後に、サーバーのドメイン名を作成する必要があります。servername.domain.comと言うと、自宅で使用するようにサーバーを構成するときなどは、.comではなく.homまたは.netなどを使用することをお勧めします。以下のコマンドを与えます
sudo nano /etc/hosts
持っていない場合は追加します:
127.0.0.1 localhost
192.168.1.5 nefitari.autun.hom nefitari
私のファイルでは127.0.0.1はローカルホスト用であり、2番目のIPアドレス127.0.1.1を192.168.1.5であるサーバーIPで変更しました。今度はホスト名nefitariを持つドメイン名を入力し、次にドメイン名autun.hom、エイリアスを入力しますネフィタリ。独自のhostname.abc.netまたはhostname.home.lanなどを選択できますが、このファイルへの変更はサーバーを再起動してログインする必要があることを忘れないでください。再起動が必要です
sudo apt-get install bind9
インストール後、次のファイルを段階的に設定するだけです
次に、named.conf.options ファイルを構成します。このファイルはDNS IPに使用されます。つまり、サーバーは外部のDNSに接続する必要があります。ISPからドメイン名を購入すると、通常、独自のDNS IPが提供されます。GoogleなどのオープンDNS IPを使用できます。私の場合、自分のISP DNS IPを使用しています。
sudo nano /etc/bind/named.conf.options
forwarders {
# Give here your ISP DNS IP’s
192.168.1.1; # gateway or router
182.176.39.23;
182.176.18.13;
68.87.76.178;
};
***ファイルを保存して終了***コントロールxを使用してyを押してファイルを上書きします
次に、named.conf.localというファイルを編集します。 これは、順ゾーンと逆ゾーンを定義するファイルです。つまり、ドメイン名を入力するとIPアドレスに変換され、IPアドレスを入力すると名前に変換されるだけです。
sudo nano /etc/bind/named.conf.local
表示されます:
# Our forward zone
zone "autun.hom" {
type master;
file "/etc/bind/zones/db.autun.hom";
};
# Our reverse Zone
# Server IP 192.168.1.5
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192";
};
***ファイルを保存して終了***コントロールxを使用してyを押してファイルを上書きします
次に、これらの2つのデータベースファイルをdbsautun.homとdb.192をゾーンフォルダーに作成します
最初に/ etc / bind /にディレクトリゾーンを作成します
sudo mkdir /etc/bind/zones
ファイルを作成する前に、さまざまなデバイスがあることを説明します
デバイスIP
ゾーンディレクトリで、最初にdb.autun.homの 2つのファイルを作成します。/ etc / bindフォルダーに既にあるdb.localを、その名前をdb.autun.homに変更して、zonesフォルダーにコピーしています。これらのIPをdb.autun.homファイルに入れます。始めましょう
sudo cp /etc/bind/db.local /etc/bind/zones/db.autun.hom
次に、以下のコマンドを使用してファイルを編集します
sudo nano /etc/bind/zones/db.autun.hom
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
autun.hom. IN NS nefitari.autun.hom.
autun.hom. IN A 192.168.1.5
;@ IN A 127.0.0.1
;@ IN AAAA ::1
nefitari IN A 192.168.1.5
gateway IN A 192.168.1.1
win7pc IN A 192.168.1.50
www IN CNAME autun.hom.
保存して終了
次に、逆引き参照ゾーンファイルを作成します
sudo cp /etc/bind/db.127 /etc/bind/zones/db.192
次に、以下のコマンドを使用してファイルを編集します
sudo nano /etc/bind/zones/db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS nefitari.
1 IN PTR gateway.autun.hom.
5 IN PTR nefitari.autun.hom.
50 IN PTR win7pc.autun.hom.
保存して終了
ゾーンファイルの処理が完了したら、次のコマンドを入力して、ゾーンファイルが正しく機能しているかどうかを確認する必要があります。
named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
次に、逆ゾーンファイルを確認します
named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 2
Ok
named-checkzoneの出力が上記と同じ場合、正常に機能しています。それ以外の場合は、ファイルに何らかの間違いを犯しています。
ファイルresolv.confを編集します
sudo nano /etc/resolv.conf
nameserver 192.168.1.5
domain autun.hom
search autun.hom
次の行をresolv.confファイルに入力して保存します
バインドを再起動します
sudo /etc/init.d/bind9 restart
バインド開始後、ログファイルの設定を確認します
tail -f /var/log/syslog
ログにエラーがあってはなりません
host –l autun.hom
出力は次のようになります
autun.hom name server nefitari.autun.hom.
autun.hom has address 192.168.1.5
gateway.autun.hom has address 192.168.1.1
nefitari.autun.hom has address 192.168.1.5
win7pc.autun.hom has address 192.168.1.50
NSLOOKUPを使用する
nslookup autun.hom
出力
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
DIGを使用
dig gateway.autun.hom
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;gateway.autun.hom IN A
;; ANSWER SECTION:
gateway.autun.hom 604800 IN A 192.168.1.1
;; AUTHORITY SECTION:
Autun.hom. 604800 IN NS nefitari.autun.hom.
;; ADDITIONAL SECTION:
Nefitari.autun.hom. 604800 IN A 192.168.1.5
;; Query time: 12 msec
;; SERVER: 192.168.1.5#53(192.168.1.5)
;; WHEN: Thu Aug 8 01:56:25 2013
;; MSG SIZE rcvd: 90
出力は上記のようになります。ステータスを確認してください:NOERRORはチェックを解決していることを意味しますANSWER SECTION: gateway.autun.homは192.168.1.1に解決されます
host 192.168.1.1
出力
1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom
以下のようなエラーが表示される場合
host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
これは、逆ゾーンの/etc/bind/named.conf.localファイルに何らかの間違いを犯したことを意味します。サーバーIPが192.168.1.5の場合、逆ゾーンは次のようになります。
zone "**1.168.192**.in-addr.arpa" {
correct ip reversing
};
時々、人々はIPを逆にするのを間違えました(ほんの一例)
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
NSLOOKUPを使用する
nslookup 192.168.1.1
Server: 192.168.1.5
Address: 192.168.1.5#53
1.1.168.192.in-addr.arpa name=gateway.autun.hom
エラーのようなNXDOMAINまたはSERVFAILを取得する場合、ゾーンファイルの1つが正しく機能していないことを意味します
これで、ubuntu.comにpingを送信したり、ubuntu.comを最初に掘ったりできますが、ubuntu.comの名前を解決するには数ミリ秒かかりますが、2回目に実行すると、通常1から10ミリ秒で1、2、または3秒かかります秒は正常であり、DNSが適切に機能していることを意味します
窓側
ここにIPアドレスを入力します(私の場合は192.168.1.50ですwin7pcを覚えていますか)。
そして、あなたはそれを開いてCMD
ping gateway
それはあなたにいくつかの返信を与える必要があります
同様に
ping 192.168.1.1 or 5
それはあなたにいくつかの返信を与える必要があります
サーバーを外界に対してテストする
これで、ubuntu.comに初めてpingを送信したり、ubuntu.comを掘ったりすることができます。名前ubuntu.comを解決するには数ミリ秒かかりますが、2回目に実行すると、1〜10ミリ秒という通常の時間になります。 DNSが適切に機能していることを意味しますクライアントの構成
窓側
ネットワーク接続を開く選択アダプタ設定の変更プロパティの選択インターネットプロトコルバージョンIPv4の選択
ここにIPアドレスを入力します(私の場合は192.168.1.50ですwin7pcを覚えていますか)。
IPアドレス 192.168.1.50
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.1.1
プライマリDNS 192.168.1.5(新しいBIND DNSサーバーのIP)
(同じウィンドウで)Advanceを選択します
[ DNS ]タブを選択します
以下のテキストボックスに、この接続のDNSサフィックスに入力します:autun.hom
OKをクリック
終了時に設定の検証をクリックします
OKをクリック
これで完了ですCMD
コード:
ping gateway
それはあなたにいくつかの返信を与える必要があります
同様に
コード:
ping 192.168.1.1 or 5
NSLOOKUP コードを使用できるいくつかの応答を提供する必要があります。
nslookup gateway
Linuxクライアント
コード:
sudo nano /etc/network/interfaces
次の行を入力します
コード:
auto eth0
iface eth0 inet dhcp
ネットワークデーモンを再起動します
コード:
sudo /etc/init.d/networking restart
クライアントがIPコマンドを強制的に更新するには
コード:
sudo dhclient -r
新しいIPを取得します。
コード:
sudo dhclient
ネットワークでDHCPサーバーを実行している場合は、dhcpd.confファイルにドメイン名とネームサーバーを入力します。たとえば、nefitari.autun.homという名前のDNSサーバーがあり、IPアドレスは下のように192.168.1.5です
コード:
option domain-name "nefitari.autun.hom";
option domain-name-server 192.168.1.5;
../run/resolvconf/resolv.conf
。
(network unreachable) resolving './NS/IN': 2001:500:3::42#53
-ipv6を使用して再帰的にクエリを解決しようとするバインドによるものです。編集/etc/default/bind9
して使用OPTIONS="-u bind -4"
すると修正されます。詳細:serverfault.com/questions/77325/unreachable-resolving-domain
db.192
前のファイルに欠落があります。また、FQDNを追加する必要があったため、私の作業行は次のようになりました。resolv.confセクションを無視し、jdthoodのアドバイスに従いました。リンクは、デフォルトのサーバーインストールから既に存在していました。IN NS nefitari.
@
@ IN NS nefitari.autun.hom.
答えは、上記のすばらしい説明への単なる追加です。
トラブルシューティングのヒント
多くの「。」に非常に注意してください それぞれが重要であるため、構成ファイルで。単一の欠落した '。' DNSサーバーの動作を停止できます。明確なエラーメッセージを期待しないでください。
わかりやすいシリアル番号を使用することをお勧めします。セットアップが変更されるたびにシリアル番号をインクリメントすることは非常に重要です。たとえば、新しいエントリが追加されます。増分されない場合、セカンダリDNSは新しい設定の同期に失敗します。推奨される形式はYYYYMMDDss
、ss
「古い」シリアル番号です。インクリメントするときだから、あなたはインクリメントすべきss
1でと現在の日付に日付を設定します。これはセットアップのトラブルシューティングに非常に役立ちました。syslogには、使用したファイルの日付とシリアルが明確に表示されます。
Ubuntu 16.04では、resolv.confの変更は非推奨です。以下のようjdthood彼のコメントに書き込みは、以下の手順でステップを置き換える: -変更は、/ etc / default / BIND9:新しい意志は次のようになります。
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind"
# use this when you have trouble with IPV6
#OPTIONS="-u bind -4"
IPV6の問題については、非パッチのコメントを参照してください。
/etc/resolv.confのシンボリックリンクを/run/resolvconf/resolv.confに入れます
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
オフラインセットアップ
転送セクションはスキップできるため、セットアップはまったく同じで、少し簡単です。それらは存在する必要がないため、を編集する必要はありません/etc/bind/names.con.options
。
クラスBネットワーク
クラスBネットワークでこの作業を行うために必要ないくつかのマイナーな変更があります(コメントがある前に、ローカルネットワークが自宅であっても、クラスCネットワークではなくクラスBになれない理由はありません) 。この例では、ネットワーク番号172.20.xxを使用します(詳細情報google rfc1918の正式な表記は172.20.0.0だと思います)。
最初の回答の説明を使用し、すべてのIP 192.168.xxを172.20.xxに置き換え、サーバーIP 172.20.0.100に使用し、次のようにファイルを変更します。
db.192
なりdb.172
。ファイルnamed.conf.local
は別の逆ゾーンセクションを取得します。
zone "20.172.in-addr.arpe" {
type master;
file "/etc/bind/zones/db.172";
}
逆ゾーンファイルは次のように変更されます。
;
; BIND reverse data file for 172.20.x.x
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2017022102 ; more intuitive serial YYYYMMDDss, here ss=02
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; note: the '@'was missing from in the initial description
@ IN NS nefitari.autun.hom.
100.0 IN PTR nefitari.autun.hom.
121.0 IN PTR client1.autun.hom.
130.0 IN PTR client2.autun.hom.
33.0 IN PTR client3.autun.hom.
残りは同じです。
誰かに役立つことを願っています。