ライン

ポイント:*

ライン

 はじめに

CentOS 6.4

 少しLinuxに慣れておこうと。お馴染みのBind9で確認します。
その前に、どうも勝手が違うので、以下を.bashrcに追加しました

bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'

これでtcshのように履歴を矢印でも利用できます。

 導入

 64bitで導入することにしました。OS部分の導入はここでは割愛です。
今回は使いやすいVMware Playerで導入しました。

# rpm -qa|grep bind
bind-libs-9.8.2-0.17.rc1.el6.x86_64
PackageKit-device-rebind-0.5.8-21.el6.x86_64
rpcbind-0.2.0-11.el6.x86_64
samba-winbind-clients-3.6.9-151.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6.x86_64
samba-winbind-3.6.9-151.el6.x86_64
# yum install bind
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be installed
--> Processing Dependency: bind-libs = 32:9.8.2-0.17.rc1.el6_4.6 for package: 32:bind-9.8.2-0.17.rc1.el6_4.6.x86_64
--> Running transaction check
---> Package bind-libs.x86_64 32:9.8.2-0.17.rc1.el6 will be updated
--> Processing Dependency: bind-libs = 32:9.8.2-0.17.rc1.el6 for package: 32:bind-utils-9.8.2-0.17.rc1.el6.x86_64
---> Package bind-libs.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be an update
--> Running transaction check
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6 will be updated
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch        Version                         Repository    Size
================================================================================
Installing:
 bind            x86_64      32:9.8.2-0.17.rc1.el6_4.6       updates      4.0 M
Updating for dependencies:
 bind-libs       x86_64      32:9.8.2-0.17.rc1.el6_4.6       updates      878 k
 bind-utils      x86_64      32:9.8.2-0.17.rc1.el6_4.6       updates      182 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       2 Package(s)

Total download size: 5.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm            | 4.0 MB     00:12
(2/3): bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm       | 878 kB     00:01
(3/3): bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm      | 182 kB     00:00
--------------------------------------------------------------------------------
Total                                           356 kB/s | 5.0 MB     00:14
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
 Package: centos-release-6-4.el6.centos.10.x86_64 (@base/$releasever)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 32:bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64                   1/5
  Installing : 32:bind-9.8.2-0.17.rc1.el6_4.6.x86_64                        2/5
  Updating   : 32:bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64                  3/5
  Cleanup    : 32:bind-utils-9.8.2-0.17.rc1.el6.x86_64                      4/5
  Cleanup    : 32:bind-libs-9.8.2-0.17.rc1.el6.x86_64                       5/5
  Verifying  : 32:bind-9.8.2-0.17.rc1.el6_4.6.x86_64                        1/5
  Verifying  : 32:bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64                   2/5
  Verifying  : 32:bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64                  3/5
  Verifying  : 32:bind-utils-9.8.2-0.17.rc1.el6.x86_64                      4/5
  Verifying  : 32:bind-libs-9.8.2-0.17.rc1.el6.x86_64                       5/5

Installed:
  bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6

Dependency Updated:
  bind-libs.x86_64 32:9.8.2-0.17.rc1.el6_4.6
  bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.6

Complete!
# rpm -qa|grep bind
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
PackageKit-device-rebind-0.5.8-21.el6.x86_64
rpcbind-0.2.0-11.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64
samba-winbind-clients-3.6.9-151.el6.x86_64
samba-winbind-3.6.9-151.el6.x86_64
bind-9.8.2-0.17.rc1.el6_4.6.x86_64

なんとも、FreeBSDのPackagesを入れるよりも簡単で導入も早い。

# chkconfig --list|grep named
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig --level 35 named on
# /etc/init.d/named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]

FreeBSDでは Bindは初期で導入済なので、この手間はないですけど。
でも、簡単ですね。しかし、なんでLinuxはディストリビューションにより方法がいろいろなんでしょうね。

 設定

 訳あって、chrootの設定にはしていません。
自分のサーバも自分の名前解決を優先にしましょう。
/etc/resolv.convです。

# vi /etc/resolv.conf
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 127.0.0.1
nameserver 192.168.184.2

動作確認です。

# ping yahoo.com
PING yahoo.com (98.138.253.109) 56(84) bytes of data.
64 bytes from ir1.fp.vip.ne1.yahoo.com (98.138.253.109): icmp_seq=1 ttl=128 time=291 ms.

 ちゃんと動きます。
設定ファイルを確認します。/etc/named.confです。

# more named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

 配置されているファイルを確認しておきます。

# cd /var/named/
# ll *
-rw-r-----. 1 root  named 1892 Feb 18  2008 named.ca
-rw-r-----. 1 root  named  152 Dec 15  2009 named.empty
-rw-r-----. 1 root  named  152 Jun 21  2007 named.localhost
-rw-r-----. 1 root  named  168 Dec 15  2009 named.loopback

data:
total 4
-rw-r--r--. 1 named named 2624 Oct 18 21:39 named.run

dynamic:
total 8
-rw-r--r--. 1 named named 1185 Oct 18 21:21 managed-keys.bind
-rw-r--r--. 1 named named  512 Oct 18 21:21 managed-keys.bind.jnl

slaves:
total 0

 さて、ゾーンを加えて動作を確認します。

 マスターサーバの設定

 まず、いつでも戻れるように、修正前のファイルを保存しましょう。

# cp -p /etc/named.conf /etc/named.conf.orig

フォルダを追加しました。

# cd /var/named
# cp -pR data/ inc/
# vi /etc/named.conf
# vi ins/radio.gr.jp.primary
# chown named:named ins/radio.gr.jp.primary

作成したフォルダの下にゾーンを加えます。
ins/radio.gr.jp.primaryにしました。

zone "radio.gr.jp" {
        type master;
        file "data/radio.gr.jp.zone";
        notify yes;
        allow-transfer {
                        210.141.108.248;
                       };
        allow-query { any ; };
};

次に、fileに相当する内容(data/radio.gr.jp.zone)を記述します。

$TTL 86400
@       IN      SOA     mail.radio.gr.jp. postmaster.radio.gr.jp.  (
                                2013000001      ; Serial
                                3600    ; Refresh
                                900     ; Retry
                                604800  ; Expire
                                1800 )  ; Minimum
                IN      NS      dns3.dion.ne.jp.
                IN      NS      sh.ins-net.ne.jp.
                IN      NS      ns.ins-net.ne.jp.
                IN      A       210.230.199.82
                IN      MX      10      mail.radio.gr.jp.
                IN      TXT     "v=spf1 mx:/28 ?all include:gmail.com ~all "
;
mail          IN      A       210.230.199.82
                IN      MX      10 mail.radio.gr.jp.

google      IN      A       210.230.199.82
                IN      MX      1       ASPMX.L.GOOGLE.COM.
                IN      MX      5       ALT1.ASPMX.L.GOOGLE.COM.
                IN      MX      5       ALT2.ASPMX.L.GOOGLE.COM.
                IN      MX      10      ASPMX2.GOOGLEMAIL.COM.
                IN      MX      10      ASPMX3.GOOGLEMAIL.COM.
                IN      MX      10      ASPMX4.GOOGLEMAIL.COM.
                IN      MX      10      ASPMX5.GOOGLEMAIL.COM.

オーナーを変更します。

# chown named:named data/radio.gr.jp.zone

これでちゃんと記述が加えて行けそうです。
デーモンの再起動でエラーもなく正常に動作を開始ました。

 さて、includeするとpermission errorと表示されるようになってしまいました。
最初意味が良くわかっていませんでしたが、SELinuxの影響でした。

 # getenforce

SELinuxのモードを調べておきます。Enforcingだと有効になってしまっているので、無効で設定し直します。

 # setenforce 0

これで再度実施してみて、エラーがでなくなったら、この辛みです。
設定ファイルに更新することにしました。
/etc/selinux/configに、

 SELINUX=disabled

と変更しておきました。

 エラーを減らす

 IPv6などの処理を削除します。
手っ取り早くは以下で対処。

# vi /etc/named.rfc1912.zones
..
/* zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
*/
..

もう少し丁寧に入れたいけど、そのうちに。

 VNC Server

 ちょっと外れた作業だけど、GUIで操作したいので、試す。

# yum install vncserver
 接続するユーザのパスワードを設定しておく。
$ vncpasswd

 次にその設定ファイルの編集。

# vi /etc/sysconfig/vncservers
VNCSERVERS="2:fkimura"
VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -localhost"

 サービスを起動。

# /etc/init.d/vncserver start

 次に、iptablesにポートを通るように設定を入れます。

# vi /etc/sysconfig/iptables
# 2013-10-26
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT

 サービスを入れ直します。

# /etc/init.d/iptables restart

 spice-vdagentのバグでエラー。
ちょっと残念。

# yum -y groupinstall "Japanese Support" 

 日本語化して納得することにしました。

 まとめ

 基本書いた通りに動くのだけれど、やっぱりCeonOSが慣れなくて不思議な感じです。
無線LAN連動もやってみたのですが、NetworkManagerを停止したままで使える方法がわからず、やめてしまいました。
まだまだわたしの経験値不足です。


【改訂履歴】作成:2013/10/18 更新:2013/10/26


【参照ページ】

 
Copyright © 1996,1997-2006,2007- by F.Kimura,