ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
以前のFedora時代にDNS(bind9)の設定を記事に致しましたが、SPFやDomainkeys/DkIMの設定などもあるのでDNS側から見た設定について一度@setoatuの自宅の設定をサンプルにして説明致します。
設定
bind9の設定は/var/named/chroot配下にありますので実際に/etc/named.confや/var/named配下へzoneファイルなどを置いても動作しません。/etc/sysconfig/namedに以下のファイルがありますが、/var/named/chrootをルートディレクトリとしています。
# BIND named process options # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Currently, you can use the following options: # # ROOTDIR="/some/where" -- will run named in a chroot environment. # you must set up the chroot environment # (install the bind-chroot package) before # doing this. # # OPTIONS="whatever" -- These additional options will be passed to named # at startup. Don't add -t here, use ROOTDIR instead. # # ENABLE_ZONE_WRITE=yes -- If SELinux is disabled, then allow named to write # its zone files and create files in its $ROOTDIR/var/named # directory, necessary for DDNS and slave zone transfers. # Slave zones should reside in the $ROOTDIR/var/named/slaves # directory, in which case you would not need to enable zone # writes. If SELinux is enabled, you must use only the # 'named_write_master_zones' variable to enable zone writes. # # ENABLE_SDB=yes -- This enables use of 'named_sdb', which has support # -- for the ldap, pgsql and dir zone database backends # -- compiled in, to be used instead of named. # # DISABLE_NAMED_DBUS=[1y]-- If NetworkManager is enabled in any runlevel, then # the initscript will by default enable named's D-BUS # support with the named -D option. This setting disables # this behavior. # # KEYTAB_FILE="/dir/file" -- Specify named service keytab file (for GSS-TSIG) ROOTDIR=/var/named/chroot
ですので実際のbindの設定ファイルは/var/named/chroot/etc/named.confとなります。
// generated by named-bootconf.pl acl my-network { //DNSの問合せを許可するネットワークアドレス(自宅のLANアドレス)を指定 192.168.0.0/24; }; 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; recursion yes; //DNSキャッシュを持たせる // 自宅とlocalhostのみDNS問合せを許可 allow-query { localhost; my-network; }; // 上記以外の問合せは全て拒否(明示的に指定しておく) allow-transfer { none; }; }; // // a caching only nameserver config // controls { // rndcコマンドは自サーバでのみ実行可能とする inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; include "/etc/rndc.key"; zone "." { type hint; file "named.cache"; //file "/dev/null"; }; zone "kamata-net.com" in { type master; file "kamata-net.zone"; // kamata-net.comドメインに対する問合せはどこのネットワーク(インターネット)からでもOKとする allow-query { any; }; };
rndcコマンドについての記述(34-37行目)については以下をご参照ください。
DNS(bind9)構築 | kamata-net.com
rndcを使用するためには、named.confファイルにcontrolsステートメントが必要。下記のように記述することにより、ローカルホストから rndcが接続できるようになる。(rndckeyは任意の文字列)
named.confは、すべてが読み込めるファイルであるため、 keyステートメントを別のファイルの中に置いて、includeステートメントを使用して参照するほうが良い。...
続いてzoneファイルに移ります。
$TTL 3600 @ IN SOA ns.kamata-net.com. root.ns.kamata-net.com. ( 20140316 ; Serial 10800 ; Refresh 3 hours 1800 ; Retry 30 minutes 43200 ; Expire 12 hours 3600 ) ; Minimum 1 hour ;$origin kamata-net.com. IN A 218.45.184.224 IN NS ns.kamata-net.com. IN MX 10 mail.kamata-net.com. ; SPF公開レコード IN TXT "v=spf1 mx include:spf-01.asahi-net.or.jp -all" ; Domainkeys/DKIM 公開鍵 default._domainkey IN TXT "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDg3AnIBiD9aNjBhyEPojxvHqYNvEaTm8sHNwywBTBjBzHruf94ij8T50zsUs1Pw8gfVbSXIUQ7myVUSDiLFvenc6H3mJSXs+KlXrA2ZzskNNO5VyDO1zYBgs4+aOupuXyFDLfwDNVI3YzwMv9av6X3ixer+395i2/0croIshcAkwIDAQAB" ; ADSP 公開レコード _adsp._domainkey IN TXT "dkim=all" ; ; mail IN A 218.45.184.224 smtp IN A 218.45.184.224 imap IN A 218.45.184.224 ns IN A 218.45.184.224 ns1 IN A 218.45.184.224 ns2 IN A 218.45.184.224 ftp IN A 218.45.184.224 static IN A 218.45.184.224 blog IN A 218.45.184.224 www IN A 218.45.184.224 ; ; Google Analytics用 blog IN TXT "google-site-verification: kAyWyOulCwAZZIBOSqgBZUmPcJ74T3nsEejnU58Ttw8" ; ; localhost IN A 127.0.0.1 loghost IN CNAME localhost
15行目のSPF公開レコードについては、
ISPのメールサーバを使う場合のSPFレコード(asahi-netの場合) | kamata-net.com
mxすなわちmail.kamata-net.comかspf-01.asahi-net.or.jpで指定された202.224.39.192/27か202.224.39.40からしかメールは送りません、と宣言していることと等価となります。 ...
18-21行目については、以下を参照してください。
メールのなりすましをDomainkeys/DKIMで防ぐ(qmailまとめ) | kamata-net.com
Domainkeys/DKIM署名設定 ...
テストする
まずは自サーバよりDNS問合せができるか確認します。
> www.google.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: www.google.com
Address: 74.125.235.114
Name: www.google.com
Address: 74.125.235.115
Name: www.google.com
Address: 74.125.235.116
Name: www.google.com
Address: 74.125.235.112
Name: www.google.com
Address: 74.125.235.113
>
ここまでできたら次はWindows7などのクライアントからDNS問合せをします。
既定のサーバー: UnKnown
Address: 192.168.0.1
> mail.google.com.
サーバー: UnKnown
Address: 192.168.40.106
権限のない回答:
名前: googlemail.l.google.com
Addresses: 2404:6800:4004:803::1015
74.125.235.117
74.125.235.118
Aliases: mail.google.com
>
これで問合せに関しては問題なくなりましたが、セキュリティについても確認しておきます。
以下のサイトにIPアドレスを入力し、Closeと表示されることを確認してください。
Openと表示される場合にはnamed.confの設定に問題があります。allow-transferがnoneになっていない、とかallow-query、my-networkが適切に設定されていない可能性があります。
記事はここまで。
バッタ本ってまだあるんですね。