3時間簡単OCNクッキング[2]


DNS設定

http://www.ocn.ad.jp/setup/dns/unix/unix.html (bind4の場合)
http://www.ocn.ad.jp/setup/dns/unix/bind8-j.html(bind8の場合)

設定は上のとおり・・・一番の問題は bindのバージョンを判別するだけ。Vine Linux 1.1CRは bind8でした。

今回は WWW, Mail, DNSすべてを一つの Linuxサーバーで行うために以下のようにします。Linuxサーバーは 192.168.0.10、ホスト名は funです。

;-----------------------------------------------------------------------------
;-- "/etc/named.conf" --
;-----------------------------------------------------------------------------
// generated by named-bootconf.pl

options {
	directory "/var/named";
	/*
	 * If there is a firewall between you and nameservers you want
	 * to talk to, you might need to uncomment the query-source
	 * directive below.  Previous versions of BIND always asked
	 * questions using port 53, but BIND 8.1 uses an unprivileged
	 * port by default.
	 */
	// query-source address * port 53;
};

// 
// a caching only nameserver config
// 
zone "." {
	type hint;
	file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
	type master;
	file "0.0.127.in-addr.arpa";
};

zone "sample1.co.jp" {
	type master;
	file sample1.co.jp";
};

zone "192.BBB.AAA.210.in-addr.arpa" {
	type master;
	file "192.BBB.AAA.210.in-addr.arpa";
};

;-----------------------------------------------------------------------------
;-- "/etc/resolve.conf" --
;-----------------------------------------------------------------------------
search sample1.co.jp
nameserver 210.AAA.BBB.194
nameserver 203.139.160.75

;-----------------------------------------------------------------------------
;-- "/var/named/0.0.127.in-addr.arpa" --
;-----------------------------------------------------------------------------
;
0.0.127.in-addr.arpa.  IN  SOA  fun.sample1.co.jp.  admin.fun.sample1.co.jp.  (
                      20000220   ; Serial
                         10800   ; Refresh after 3 hours
                          3600   ; Retry after 1 hour
                        604800   ; Expire after 1 week
                         86400 ) ; Minimum TTL of 1 DAY;
                       IN   NS  fun.sample1.co.jp.
1                      IN  PTR	localhost.

;-----------------------------------------------------------------------------
;-- "/var/named/194.BBB.AAA.210.in-addr.arpa" --
;-----------------------------------------------------------------------------
;
192.82.162.210.in-addr.arpa.  IN  SOA  fun.sample1.co.jp.  admin.sample1.co.jp.  (
                         20000220   ; Serial
                            10800   ; Refresh after 3 hours
                             3600   ; Retry after 1 hour
                           604800   ; Expire after 1 week
                            86400 ) ; Minimum TTL of 1 DAY
; Authoritative Name Servers
                             IN   NS  fun.sample1.co.jp. 
                             IN   NS  ns-tk013.ocn.ad.jp.
; Hosts
194                          IN  PTR  fun.sample1.co.jp.

;-----------------------------------------------------------------------------
;-- "/var/named/sample1.co.jp" --
;-----------------------------------------------------------------------------
;
sample1.co.jp.              IN  SOA  fun.sample1.co.jp.  admin.fun.sample1.co.jp.  (
	                    20000220   ; Serial
                	       10800   ; Refresh after 3 hours
		                3600   ; Retry after 1 hour
	                      604800   ; Expire after 1 week
		               86400 ) ; Minimum TTL of 1 DAY; Authoritative Name Servers
                           IN   NS  fun.sample1.co.jp.   ; DNS
                           IN   NS  ns-tk013.ocn.ad.jp.	; DNS
; Mail eXchanger
              		   IN   MX  10  fun.sample1.co.jp. ; Mail
       		           IN    A  210.AAA.BBB.194
; Hosts
fun.sample1.co.jp.          IN    A  210.AAA.BBB.194
www.sample1.co.jp.          IN    CNAME fun.sample1.co.jp. ; WWW
mail.sample1.co.jp.         IN    CNAME fun.sample1.co.jp. ; Mail
ns.sample1.co.jp.           IN    CNAME fun.sample1.co.jp. ; DNS
localhost.sample1.co.jp.    IN    A  127.0.0.1

;-----------------------------------------------------------------------------

今回は www, mail, ns(DNS)はすべて同じサーバーで行うため、 /var/named/sample1.co.jpで CNAMEを使い、Linuxサーバー funをすべて割り当てます。


JPNICへの通知

DNSサーバーが動作するようになったら、OCN DNS担当 へメールでお知らせします。その後問題がなければJPNICに申請をします。この申請は OCNでも無料で代行してもらえます。結構わからないことが多く、記載に迷うので OCNに代行してもらう方が間違いを指摘してもらえていいでしょう。同時に登録担当者、技術者連絡担当者の番号を申請、受けることができます。

データベース変更が終わるとJPNICから以下のようにメールがもらえます。

 
From: apply@db.nic.ad.jp
To: tnoma@momo.so-net.ne.jp
Subject: Re: Domain-Info-NXXXXXXX-XXXXX-う(有限会社サンプル1様)

dns-desk@ocn.ad.jp さんからの更新申請により、JPNIC データベースを
以下の通り更新しましたのでお知らせします。

* ドメイン「SAMPLE1.CO.JP」のネームサーバを変更します。

JPNIC が管理するネームサーバへの登録作業は、明早朝に行います。明日の午
後以降にネームサーバへの登録を確認し、正しく登録されていない場合は、
query@dns.nic.ad.jp 宛にお知らせ下されば幸いです。

※ [ホスト情報] ns.sample1.co.jp を新規登録しました。

※ [ドメイン情報] SAMPLE1.CO.JP を以下のように更新しました。
変更前> p. [ネームサーバ]	ns.mukashi.co.jp
変更前> p. [ネームサーバ]	ns2.ttnet.ad.jp
変更前> y. [通知アドレス]	pms@mukahi.co.jp
----
変更後> p. [ネームサーバ]	ns.sample1.co.jp
変更後> p. [ネームサーバ]	ns-tk013.ocn.ad.jp
追  加> s. [使用IPネットワーク]	210.AAA.BBB.192/28
変更後> y. [通知アドレス]	tnoma@momo.so-net.ne.jp

登録内容に変更が生じた場合は、以下のフォームを元に編集・修正し、
apply@db.nic.ad.jp 宛にお送り下さい。

疑問の点は、query@db.nic.ad.jp までお問い合わせ下さい。

----------
JPNIC DataBase Registration Service (apply@db.nic.ad.jp)

------------------------------------------------------------------------

Domain Information: [ドメイン情報]
a. [ドメイン名]			SAMPLE1.CO.JP
e. [そしきめい]			ゆうげんがいしゃ さんぷるわん
f. [組織名]			有限会社 サンプルワン
g. [Organization]		SAMPLE1
h. [郵便番号]			--
i. [住所]			--
j. [Address]			--
k. [組織種別]			有限会社
l. [Organization Type]		Incorporated
q. [登記年月日]			1987/01/01
r. [登記地住所]			--
m. [登録担当者]			AB9999JP
n. [技術連絡担当者]		YZ999JP
p. [ネームサーバ]		ns.sample1.co.jp
p. [ネームサーバ]		ns-tk013.ocn.ad.jp
s. [使用IPネットワーク]		210.AAA.BBB.192/28
y. [通知アドレス]		tnoma@momo.so-net.ne.jp

Host Information: [ホスト情報]
a. [ホスト名]			ns.sample1.co.jp
b. [IPアドレス]			210.AAA.BBB.194
n. [技術連絡担当者]		YZ999JP
y. [通知アドレス]		tnoma@momo.so-net.ne.jp

その後 nslookupして正しいアドレスが引けることを確認します。


メールサーバー設定

http://www.ocn.ad.jp/abuse/981027.html
/usr/src/CF3.7-Wpl2

メール送信は sendmail、受信は popper(pop3)が必要です。

sendmailの設定をするには、CFを使い、sendmail.cfを作ることからはじまります。

以下のファイルは /usr/src/CF3.7-Wpl2/sample1.defです。

# CF file for sample1.co.jp
# original is vine_spamkill.def
# and http://www.ocn.ad.jp/abuse/981027.html
#

# sendmail type
CF_TYPE=R8V8

# sendmail ID
LOCAL_VERSION=1.0

# OS TYPE
OS_TYPE=linux

# MX
MX_SENDMAIL=yes

# hostname
MY_DOMAIN='sample1.co.jp'
MY_NAME='fun'
OFFICIAL_NAME='$w.$m'

# use address
FROM_ADDRESS='$m'
RECIPIENT_GENERIC=yes

# rewrite address
REWRITE_GENERIC_FROM=lower
REWRITE_GENERIC_TO=no	#lower

# DNS compretion
CANON=one

# accept address
ACCEPT_ADDRS='$m'
ACCEPT_LOWER=yes

# append domain
ALWAYS_APPEND_DOMAIN=yes

# reject JUNET
REJECT_JUNET=yes

DIRECT_DELIVER_DOMAIN=all
COPY_ERRORS_TO='postmaster'
#ALIAS_FILE_PATH='/etc/mail/alias'
#HELP_FILE_PATH='/etc/mail/sendmail.hf'

#
# for SPAM restriction 
#
MAIL_RELAY_RESTRICTION=yes

LOCAL_HOST_IPADDR=/etc/mail/LocalIP
LOCAL_HOST_DOMAIN=/etc/mail/LocalDomain
ALLOW_RELAY_TO=/etc/mail/RelayTo


#------------------------------------------------------

# /etc/mail/LocalIP

#------------------------------------------------------

192.168.0



#------------------------------------------------------

# /etc/mail/LocalDomain
#------------------------------------------------------

sample1.co.jp



#------------------------------------------------------

# /etc/mail/RelayTo
#------------------------------------------------------

sample1.co.jp

この設定において、sendmailを使うことができるのは 192.168.0.*のIPのみ、つまり内部ネットワークにつながったLinuxサーバーとクライアントPCのみとなります。ただし、偽IPアドレスを語ってアクセスされるとダメなので、ルーターのフィルタの設定を見直す必要がありますね。

sample1.defは makeして sendmail.cfを作り、/etc/sendmail.cfにコピーします。

# cd /usr/src/CF3.7-Wpl2
# make sendmail.cf
# cp sendmail.cf /etc/sendmail.cf

sendmailはデフォルトでは起動してないので、起動させます。

# /etc/rc.d/init.d/sendmail start

また、電源ONの際(runlevel 3)に自動的に起動するように、設定します。

# cd /etc/rc.d/init.d
# /sbin/chkconfig --level 3 sendmail on

これでクライアントPCで SMTPサーバとして funを指定すればメールを送信することができるようになります。


メール受信設定

http://vinelinux.org/errata.html

メール受信には、popperの設定が必要です。Vine Linux 1.1CRでは、 /etc/inetd.confの設定で in.qpopperが自動的に起動しているはずなのですが、なぜかありませんでした。そこで、popperのパッケージをインストールします。上記のサイトより、qpopper-2.53_pam-2.i386.rpm を入手します。さらに新しいものがあれば、そのほうがいいでしょう。

ダウンロードしたら、以下のようにしてインストールします。

# su
# rpm -ivh qpopper-2.53_pam-2.i386.rpm

インストールするだけで、完了です。クライアントPCから popサーバーとして指定し、メールを受信できればOKです。


セキュリティ

tcp_wrapperというのがあります。これはアクセスするホストを制限することができたり、許可されてないホストからのアクセスを検知してメールで知らせてくれるものです。ルーターのフィルタの設定とあわせて、tcp_wrapperの設定も行えば比較的安全といえるでしょう。一番いいのは、サーバーへのリモートアクセスを一切許可せず、LANからのアクセスのみにすることです。が、それはリモートメンテナンスも不可能となるので現実的ではないですね。


以上、3時間で終わるとは思えない、OCNの簡単設定でした。


もどる