- bind9 DNSサーバーの設定
- postfix メール配送の設定
ここからは、インストールしたままで設定がまだの機能を順次設定していきます。
まずは DNS 機能の設定から、セットアップ中のラズパイ内に DNS 機能を設定し、家の中に置かれたローカル機器を名前からアクセスできるように試みます。これには既に稼働しているサーバーの設定をコピーして、誤りがないか確認しながら必要なら内容の見直しを行います。
# ls -l /etc/bind 合計 64 -rw-r--r-- 1 root bind 964 11月 13 23:53 2400:yyy:zz:df00::.rev -rw-r--r-- 1 root root 3923 8月 28 16:36 bind.keys -rw-r--r-- 1 root root 237 8月 28 16:36 db.0 -rw-r--r-- 1 root bind 787 11月 14 00:09 db.xx.168.192 -rw-r--r-- 1 root root 271 8月 28 16:36 db.127 -rw-r--r-- 1 root root 237 8月 28 16:36 db.255 -rw-r--r-- 1 root root 353 8月 28 16:36 db.empty -rw-r--r-- 1 root root 270 8月 28 16:36 db.local -rw-r--r-- 1 root root 3171 8月 28 16:36 db.root -rw-r--r-- 1 root bind 2155 11月 14 00:02 db.sunao-mita.pgw.jp -rw-r--r-- 1 root bind 463 8月 28 16:36 named.conf -rw-r--r-- 1 root bind 490 8月 28 16:36 named.conf.default-zones -rw-r--r-- 1 root bind 481 11月 13 23:29 named.conf.local -rw-r--r-- 1 root bind 1074 11月 13 23:41 named.conf.options -rw-r----- 1 bind bind 77 11月 13 21:55 rndc.key -rw-r--r-- 1 root root 1317 8月 28 16:36 zones.rfc1918
ローカル機器を設定した IPアドレスの対応ファイル db.sunao-mita.pgw.jp と逆引き用のファイル 2400:yyy:zz:df00::.rev と db.xx.168.192 内容の概略を次に示します。内容は xyzn の文字で適当に置き換えているため実物とは異なります。こんなイメージとして載せています。
# cat /etc/bind/db.sunao-mita.pgw.jp ;; sunao-mita.pgw.jp $TTL 86400 @ IN SOA sunao-mita.pgw.jp. root.sunao-mita.pgw.jp. ( 2017111301 ;Serial 3600 ;Refresh 900 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS dns.sunao-mita.pgw.jp. IN NS dns2.sunao-mita.pgw.jp. IN NS gate.sunao-mita.pgw.jp. IN MX 10 mail.sunao-mita.pgw.jp. IN A 192.168.xx.22 IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn dns2 IN A 192.168.xx.21 dns IN A 192.168.xx.22 net-disk IN A 192.168.xx.23 gate IN A 192.168.xx.1 DebianPogo IN A 192.168.xx.22 DebianPogo IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn mail IN A 192.168.xx.22 mail IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn PogoV6 IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn dns2 IN AAAA 2400:yyy:zz:df00:ff57:63d2:5835:nn dns IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn www IN A 192.168.xx.22 www IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn RadioV6 IN AAAA 2400:yyy:zz:df00:ba27:ebff:feac:nn rpi1-com2 IN A 192.168.xx.21 rpi1-com2 IN AAAA 2400:yyy:zz:df00:ff57:63d2:5835:nn ls IN CNAME net-disk share IN CNAME rpi1-com2 # cat /etc/bind/2400:yyy:zz:df00::.rev $TTL 86400 @ IN SOA sunao-mita.pgw.jp. root.sunao-mita.pgw.jp. ( 2017111301 ; serial 3600 ; refresh 1hr 900 ; retry 15min 604800 ; expire 1w 86400 ; min 24hr ) IN NS dns.sunao-mita.pgw.jp. IN NS dns2.sunao-mita.pgw.jp. n.n.d.9.0.0.e.f.f.f.1.3.5.2.2.0 IN PTR PogoV6.sunao-mita.pgw.jp. n.n.d.9.0.0.e.f.f.f.1.3.5.2.2.0 IN PTR dns.sunao-mita.pgw.jp. n.n.d.9.0.0.e.f.f.f.1.3.5.2.2.0 IN PTR sunao-mita.pgw.jp. n.n.b.d.e.e.e.f.f.f.b.e.7.2.a.b IN PTR raspv6.sunao-mita.pgw.jp. n.n.8.2.5.3.8.5.2.d.3.6.7.5.f.f IN PTR dns2.sunao-mita.pgw.jp. n.n.8.2.c.a.e.f.f.f.b.e.7.2.a.b IN PTR RadioV6.sunao-mita.pgw.jp. n.n.3.2.6.a.d.3.8.f.f.0.0.6.6.b IN PTR Rpi3-com1.sunao-mita.pgw.jp. n.n.8.2.5.3.8.5.2.d.3.6.7.5.f.f IN PTR rpi1-com2.sunao-mita.pgw.jp. # cat /etc/bind/db.xx.168.192 $TTL 86400 xx.168.192.in-addr.arpa. IN SOA sunao-mita.pgw.jp. root.sunao-mita.pgw.jp. ( 2017111301 ;Serial 7200 ;Refresh 3600 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS dns.sunao-mita.pgw.jp. IN NS dns2.sunao-mita.pgw.jp. n0 IN PTR landisk.sunao-mita.pgw.jp. 2n IN PTR net-disk.sunao-mita.pgw.jp. 1 IN PTR gate.sunao-mita.pgw.jp. n1 IN PTR rpi1-com2.sunao-mita.pgw.jp. nn IN PTR radio.sunao-mita.pgw.jp. 2n IN PTR DebianPogo.sunao-mita.pgw.jp. 2n IN PTR sunao-mita.pgw.jp. n4 IN PTR Rpi3-com1.sunao-mita.pgw.jp.
それらの設定を有効にするため、named.conf.local に設定を追加します。
# vi /etc/bind/named.conf.local // // Do any local configuration here // zone "sunao-mita.pgw.jp" { type master; file "/etc/bind/db.sunao-mita.pgw.jp"; }; zone "xx.168.192.in-addr.arpa" { type master; file "/etc/bind/db.xx.168.192"; }; zone "0.0.f.d.z.z.z.z.y.y.y.y.0.0.4.2.ip6.arpa." { type master; file "/etc/bind/2400:yyyy:zzzz:df00::.rev"; }; // Consider adding the 1918 zones here, if they are not used in your // organization include "/etc/bind/zones.rfc1918";
起動して無事に立上がれば、アドレスを引いて期待した結果が返るか確認します。
# service bind9 start
確認には、digコマンドで、自分自身のサーバー @localhost を指定して、外部のサーバー www.nifty.com や内部の sunao-mita.pgw.jp を引いてみたり、逆引きの ipv4 / ipv6 の IPアドレスから引いてみます。
# dig @localhost www.nifty.com ...外部のサーバーを引いてみる ; <<>> DiG 9.10.3-P4-Raspbian <<>> @localhost www.nifty.com ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48086 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.nifty.com. IN A ;; ANSWER SECTION: www.nifty.com. 300 IN A 121.94.174.14 ;; AUTHORITY SECTION: www.nifty.com. 299 IN NS cdns0.nifty.ad.jp. www.nifty.com. 299 IN NS cdns1.nifty.ad.jp. ;; Query time: 1574 msec ;; SERVER: ::1#53(::1) ;; WHEN: Tue Nov 14 10:27:56 JST 2017 ;; MSG SIZE rcvd: 109 # dig @localhost sunao-mita.pgw.jp ...内部のローカルサーバー ; <<>> DiG 9.10.3-P4-Raspbian <<>> @localhost sunao-mita.pgw.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48474 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 6 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;sunao-mita.pgw.jp. IN A ;; ANSWER SECTION: sunao-mita.pgw.jp. 86400 IN A 192.168.xx.22 ;; AUTHORITY SECTION: sunao-mita.pgw.jp. 86400 IN NS dns.sunao-mita.pgw.jp. sunao-mita.pgw.jp. 86400 IN NS gate.sunao-mita.pgw.jp. sunao-mita.pgw.jp. 86400 IN NS dns2.sunao-mita.pgw.jp. ;; ADDITIONAL SECTION: dns.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.22 dns.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn dns2.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.21 dns2.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:5140:df00:ff57:63d2:5835:2889 gate.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.1 ;; Query time: 2 msec ;; SERVER: ::1#53(::1) ;; WHEN: Tue Nov 14 10:28:22 JST 2017 ;; MSG SIZE rcvd: 222 # dig @localhost -x 192.168.xx.21 ...内部サーバーの逆引き ; <<>> DiG 9.10.3-P4-Raspbian <<>> @localhost -x 192.168.11.21 ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35385 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;21.xx.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 21.xx.168.192.in-addr.arpa. 86400 IN PTR rpi1-com2.sunao-mita.pgw.jp. ;; AUTHORITY SECTION: xx.168.192.in-addr.arpa. 86400 IN NS dns.sunao-mita.pgw.jp. xx.168.192.in-addr.arpa. 86400 IN NS dns2.sunao-mita.pgw.jp. ;; ADDITIONAL SECTION: dns.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.22 dns.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn dns2.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.21 dns2.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:ff57:63d2:5835:nn ;; Query time: 2 msec ;; SERVER: ::1#53(::1) ;; WHEN: Tue Nov 14 10:29:13 JST 2017 ;; MSG SIZE rcvd: 221 # dig @localhost -x 2400:yyy:zz:df00:ff57:63d2:5835:nn ...ipv6逆引き ; <<>> DiG 9.10.3-P4-Raspbian <<>> @localhost -x 2400:yyy:zz:df00:ff57:63d2:5835:nn ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57012 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;n.n.8.2.5.3.8.5.2.d.3.6.7.5.f.f.0.0.f.d.z.z.1.5.y.y.y.2.0.0.4.2.ip6.arpa. IN PTR ;; ANSWER SECTION: n.n.8.2.5.3.8.5.2.d.3.6.7.5.f.f.0.0.f.d.z.z.1.5.y.y.y.2.0.0.4.2.ip6.arpa. 86400 IN PTR rpi1-com2.sunao-mita.pgw.jp. n.n.8.2.5.3.8.5.2.d.3.6.7.5.f.f.0.0.f.d.z.z.1.5.y.y.y.2.0.0.4.2.ip6.arpa. 86400 IN PTR dns2.sunao-mita.pgw.jp. ;; AUTHORITY SECTION: n.n.f.d.z.z.1.5.y.y.y.2.0.0.4.2.ip6.arpa. 86400 IN NS dns.sunao-mita.pgw.jp. n.n.f.d.z.z.1.5.y.y.y.2.0.0.4.2.ip6.arpa. 86400 IN NS dns2.sunao-mita.pgw.jp. ;; ADDITIONAL SECTION: dns.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.22 dns.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn dns2.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.21 dns2.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:ff57:63d2:5835:nn ;; Query time: 2 msec ;; SERVER: ::1#53(::1) ;; WHEN: Tue Nov 14 10:29:53 JST 2017 ;; MSG SIZE rcvd: 281 # dig @localhost rpi1-com2.sunao-mita.pgw.jp ...ローカルサーバー ; <<>> DiG 9.10.3-P4-Raspbian <<>> @localhost rpi1-com2.sunao-mita.pgw.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16729 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 6 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;rpi1-com2.sunao-mita.pgw.jp. IN A ;; ANSWER SECTION: rpi1-com2.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.21 ;; AUTHORITY SECTION: sunao-mita.pgw.jp. 86400 IN NS dns.sunao-mita.pgw.jp. sunao-mita.pgw.jp. 86400 IN NS gate.sunao-mita.pgw.jp. sunao-mita.pgw.jp. 86400 IN NS dns2.sunao-mita.pgw.jp. ;; ADDITIONAL SECTION: dns.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.22 dns.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:225:31ff:fe00:nn dns2.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.21 dns2.sunao-mita.pgw.jp. 86400 IN AAAA 2400:yyy:zz:df00:ff57:63d2:5835:nn gate.sunao-mita.pgw.jp. 86400 IN A 192.168.xx.1 ;; Query time: 2 msec ;; SERVER: ::1#53(::1) ;; WHEN: Tue Nov 14 10:50:53 JST 2017 ;; MSG SIZE rcvd: 232
設定の記述方法に関しては全く自信がないので、まぐれというか引けてラッキーといった感じです。検索実行のサーバー指定に @localhost ですが、 ;; SERVER: ::1#53(::1) となっていて ipv6アドレスになっているのですね。一応引けるということで次の設定に移ります。
次は色々なレポートをメール経由で上げてくれる postfix 必須のメール転送エージェント機能です。これも既に動作している設定をコピーして利用しようと思います。
とりあえず nifty にメール転送させるための認証ファイルと main.cf をコピーして内容の見直しが必要です。それと、動作検証には mailコマンドを利用するので mailutils のインストールも必要です。
ほとんど内容をコピーして設定したのですが、テストすると理由がわかりませんが、リレー先の nifty.com に送ったつもりのテストメールが添付されているエラーメールが私の @niftyへ転送されているようです。
From: MAILER-DAEMON@rpi1-com2.sunao-mita.pgw.jp (Mail Delivery System) To: root@rpi1-com2 Subject: Undelivered Mail Returned to Sender Date: Tue, 14 Nov 2017 16:17:17 +0900 (JST) This is the mail system at host rpi1-com2.sunao-mita.pgw.jp. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system <sunao.mita@nifty.com> (expanded from <sunao@rpi1-com2>): host smtp.nifty.com[210.131.2.36] said: 553 5.3.0 <root@rpi1-com2>... Insufficient Address:rpi1-com2 (in reply to MAIL FROM command)
原因がわかりません。しばらくそのまま放置しておくことにします。
ログのレポートを毎日送付する logwatch をとりあえずインストールしておきます。
logwatch のレポートは、1日1回決まった時間に作成されてメールしてきます。こちらは、手動のメール機能の mailコマンドのようにエラーはなく、過去の動作と同じように正常に送られているようです。
From: root@rpi1-com2.sunao-mita.pgw.jp To: root@rpi1-com2.sunao-mita.pgw.jp Subject: Logwatch for rpi1-com2 (Linux) Date: Sat, 18 Nov 2017 06:26:11 +0900 (JST) ################### Logwatch 7.4.3 (12/07/16) #################### Processing Initiated: Sat Nov 18 06:26:10 2017 Date Range Processed: yesterday ( 2017-Nov-17 ) Period is day. Detail Level of Output: 0 Type of Output/Format: mail / text Logfiles for Host: rpi1-com2 ##################################################################
問題が postfix 側の設定なのか、 mialutils.mail の設定なのかはわかりませんが、資料やマニュアルが最新バージョンに近付けば近付くほど英語のものしか無く、私の語学力では太刀打ちできません。 logwatch のレポートは送られているので大勢に影響はないので、しばらくそのままにして見守るしかありません。
追加で今すぐ確認できるのは、 cron で自動実行した場合に結果が転送されるのか、されないのかだろうと思います。単純なコマンドを sunaoユーザーで crontab -e コマンドで時間を指定して追加して実行させてみます。実行させるコマンドは、(pwd; ls -al;) としてみました。
次が受け取ったメールです。何の問題もなくコマンド実行の結果をメールで受け取ることが出来ました。 cron のレポートでも問題なさそうです。
From: root@rpi1-com2.sunao-mita.pgw.jp (Cron Daemon) To: sunao@rpi1-com2.sunao-mita.pgw.jp Subject: Cron <sunao@rpi1-com2> (pwd;ls -al;) Date: Sun, 19 Nov 2017 11:40:01 +0900 (JST) /home/sunao 合計 40 drwxr-xr-x 3 sunao sunao 4096 11月 19 11:34 . drwxr-xr-x 5 root root 4096 11月 11 10:47 .. -rw------- 1 sunao sunao 1324 11月 15 23:10 .bash_history -rw-r--r-- 1 sunao sunao 220 9月 7 23:59 .bash_logout -rw-r--r-- 1 sunao sunao 3523 9月 7 23:59 .bashrc -rw-r--r-- 1 sunao sunao 675 9月 7 23:59 .profile -rw-r--r-- 1 sunao sunao 75 11月 19 11:32 .selected_editor drwx------ 2 sunao sunao 4096 11月 10 21:40 .ssh -rw------- 1 sunao sunao 2429 11月 19 11:34 .viminfo -rw-r--r-- 1 sunao sunao 14 11月 12 21:49 .vimrc
mail コマンドの時には、単にサーバー名が省略で短縮されているので、エラーになっているような気もしますが、対策方法がわかりません。