サーバー設定 · 3 min read · Oct 09, 2025
2台のサーバーでXenを実行する完璧な負荷分散および高可用性のWebクラスター - ページ3
8. DNSサーバー (web1, web2)
8.1 DNSサーバーのインストール
実行:
apt-get install bind9
セキュリティ上の理由から、BINDをchroot環境で実行したいため、以下の手順を実行します:
/etc/init.d/bind9 stop
ファイル/etc/default/bind9を編集して、デーモンが特権のないユーザーbindとして、/var/lib/namedにchrootされるようにします。行を修正します: OPTIONS=”-u bind”をOPTIONS=”-u bind -t /var/lib/named”に変更します:
vi /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes/var/libの下に必要なディレクトリを作成します:
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
次に、/etcから/var/lib/named/etcに設定ディレクトリを移動します:
mv /etc/bind /var/lib/named/etc
古い場所から新しい設定ディレクトリへのシンボリックリンクを作成します(将来bindが更新されたときの問題を避けるため):
ln -s /var/lib/named/etc/bind /etc/bind
nullデバイスとrandomデバイスを作成し、ディレクトリの権限を修正します:
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
重要なメッセージをシステムログに記録できるようにするために、/etc/default/syslogdを修正する必要があります。行を修正します: SYSLOGD=””をSYSLOGD=”-a /var/lib/named/dev/log”に変更します:
vi /etc/default/syslogd
#
# Top configuration file for syslogd
#
#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#
#
# For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"ロギングデーモンを再起動します:
/etc/init.d/sysklogd restart
BINDを起動し、/var/log/syslogでエラーを確認します:
/etc/init.d/bind9 start
8.2 bindの設定
2つのドメイン、example.com(ネームサーバー)とyoursite.comのためにbindを設定します。
BINDのメイン設定ファイルはnamed.confですが、named.conf.localはすでにnamed.confに含まれており、カスタマイズされた設定のためにあります。したがって、named.conf.localを編集し、ゾーンを追加します。ここでは、camed tm.localゾーンと192.168.1.0の逆ゾーンを追加しました:
vi /etc/bind/named.conf.local
#EXAMPLE.COM
zone "example.com" {
type master;
file "/etc/bind/zones/example.com.db";
};
#YOURSITE.COM
zone "yoursite.com" {
type master;
file "/etc/bind/zones/yoursite.com.db";
};
# これは逆DNSのゾーン定義です。逆の表記でネットワークアドレスを置き換えます - 例えば、私のネットワークアドレスは192.168.1.Xです
zone "1.168.192.in-addr.arpa." {
type master;
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
};注: ISPがサブネットマップを委任している場合(例えば、ip 192.168.1.100から192.168.1.112まで)、逆ゾーンについてはこれを読んでください(顧客/ユーザーゾーンファイルを参照):
http://www.zytrax.com/books/dns/ch9/reverse.html
8.3 ゾーンの設定
mkdir /etc/bind/zones
vi /etc/bind/zones/example.com.db
そして、次のようにします:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2008060902 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
604800 ; expire, seconds
86400 ) ; minimum, seconds
;
NS ns1.example.com. ; ネームサーバー1のInetアドレス
NS ns2.example.com. ; ネームサーバー2のInetアドレス
;
MX 10 example.com.
example.com. A 192.168.1.106
www A 192.168.1.106
ns1 A 192.168.1.106
ns2 A 192.168.1.106
dom01 A 192.168.1.100
dom02 A 192.168.1.101
lb1 A 192.168.1.102
lb2 A 192.168.1.103
web1 A 192.168.1.104
web2 A 192.168.1.105
example.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"次に、yoursite.comのゾーンを作成します:
vi /etc/bind/zones/yoursite.com.db
次のようにします:
$TTL 86400
@ IN SOA ns1.example.com. admin.yoursite.com. (
2008060902 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
604800 ; expire, seconds
86400 ) ; minimum, seconds
;
NS ns1.example.com. ; ネームサーバー1のInetアドレス
NS ns2.example.com. ; ネームサーバー2のInetアドレス
;
MX 10 yoursite.com.
yoursite.com. A 192.168.1.107
www A 192.168.1.107
yoursite.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"次に、逆ゾーンに進みます。
vi /etc/bind/zones/rev.1.168.192.in-addr.arpa
$TTL 86400
@ IN SOA ns1.example.com. hostmaster.example.com. (
2008060901 ; serial, todays date + todays serial #
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns1.example.com.
NS ns2.example.com.
100 PTR dom01.example.com.
101 PTR dom02.example.com.
102 PTR lb1.example.com.
103 PTR lb2.example.com.
104 PTR web1.example.com.
105 PTR web2.example.com.
106 PTR example.com.
107 PTR yoursite.com.サーバーを設定して、外部IPを解決できるようにISPサーバーにリクエストを転送します。
vi /etc/bind/named.conf.options
フォワーダーセクションのコメントを外して次のようにします:
[...]
forwarders {
# Replace the address below with the address of your ISP DNS server
123.123.123.123;
};
[...] 8.4 サーバーをDNSとして使用するように設定
vi /etc/resolv.conf
search example.com
nameserver localhostbindを再起動する必要があります:
/etc/init.d/bind9 restart
8.5 DNSサーバーのテスト
まず、dnsutilsパッケージに含まれているdigをインストールします:
apt-get install dnsutils
次に、DNSサーバーが正しい回答を返すかどうかを確認します:
web1で
dig yoursite.com @192.168.1.105
web2で
dig yoursite.com @192.168.1.104
両方で次のような出力が表示されるはずです:
; DiG 9.4.2-P1 yoursite.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4547
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;yoursite.com. IN A
;; ANSWER SECTION:
yoursite.com. 86400 IN A 192.168.1.107
;; AUTHORITY SECTION:
yoursite.com. 15090 IN NS ns2.example.com.
yoursite.com. 15090 IN NS ns1.example.com.
;; ADDITIONAL SECTION:
ns2.example.com. 162439 IN A 192.168.1.106
ns1.example.com. 162439 IN A 192.168.1.106
;; Query time: 27 msec
;; WHEN: Sun Sep 21 19:07:17 2008
;; MSG SIZE rcvd: 124次に、逆引きをテストします:
web1で
dig -x 192.168.1.107 @192.168.1.105
web2で
dig -x 192.168.1.107 @192.168.1.104
出力は次のようになります:
; DiG 9.4.2-P1 -x 192.168.1.107
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22614
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;107.1.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
;107.1.168.192.in-addr.arpa. 86400 IN PTR yoursite.com.
;; AUTHORITY SECTION:
;1.168.192.in-addr.arpa. 86400 IN NS ns2.example.com.
;1.168.192.in-addr.arpa. 86400 IN NS ns1.example.com.
;; ADDITIONAL SECTION:
ns1.example.com. 162147 IN A 192.168.1.106
ns2.example.com. 162147 IN A 192.168.1.106
;; Query time: 88 msec
;; WHEN: Sun Sep 21 19:12:09 2008
;; MSG SIZE rcvd: 172digの使用方法についての詳細:
http://www.madboa.com/geek/dig/
9. Proftpd (web1, web2)
9.1 Proftpdのインストール
Proftpdをインストールするには、次のコマンドを実行します:
apt-get install proftpd ucf
質問が表示されます:
Run proftpd: <– standalone
9.2 Proftpdの設定
vi /etc/proftpd/proftpd.conf
セキュリティ上の理由から、/etc/proftpd/proftpd.confに次の行を追加します:
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."次に、Proftpdを再起動します:
/etc/init.d/proftpd restart
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。