2016-05-06

How to install BIND on CentOS 7

How  to install BIND on CentOS 7

安裝好 CentOS 7 後,確認一下版本

cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)


初始初始設定 (依需求調整)

變更hotname
hostnamectl set-hostname  BIND1

設定網卡
vi(vim) /etc/sysconfig/network-scripts/ifcfg-eth0(1)

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eth0"
UUID="c6892610-eg40-5423-9398-9e28660d4d82"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="192.168.50.53"(內部IP)   -- 調整符合現況的內部IP或是外部IP
PREFIX="24
"
GATEWAY="192.168.50.254"(內部G/W)
此部DNS如果要對外服務時,記得NAT要對應內部IP。
DNS1="168.95.1.1" -- 外部DNS(中華電信)
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"


用不到的服務關閉

1. 關閉 SMTP
systemctl disable postfix
systemctl stop postfix

2.關閉防火牆 (若不需要,則關閉吧)
systemctl disable firewalld
systemctl stop firewalld

3.關閉 SELINUX(若不需要,則關閉吧)
vim /etc/sysconfig/selinux

SELINUX=disabled

4.關閉IPV6(若不需要,則關閉吧)
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1



開始安裝 BIND

a). yum -y install bind bind-chroot


b). vi(vim) /etc/named.conf (修改這幾個地方)

    allow-query     { any; };
    allow-transfer { none; };
    recursion yes;
    forward only;
        forwarders {
                168.95.1.1;
                139.175.55.244;
                };

    dnssec-enable yes;
    dnssec-validation yes;

ZONE 的設法

Step1  編輯/etc/named.conf
設定 # taiwanno1.com # <-----域名

-- 正解
zone    "taiwanno1.com" IN {
    type master;
    file "/var/named/chroot/etc/named/taiwanno1.com"; (小編的設定檔存放路徑,讀者可以自行決定要放在哪個路徑下)
    allow-update { none; };
};

-- 反解(假設IP為1.2.3.4)
zone    "3.2.1.in-addr.arpa" IN {
    type master;
    file "/var/named/chroot/etc/named/taiwanno1.rev";
    allow-update { none; };
};



SETP2  編輯 taiwanno1.com (正解設定檔 )
vim /var/named/chroot/etc/named/taiwanno1.com

範例如下:
$TTL 1D
@       IN SOA  taiwanno1.com. root.taiwanno1.com. (
                                        160324  ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN      NS      ns.taiwanno1.com.
;
;    
ns        IN      A       1.2.3.4
mail    IN      A       1.2.3.4
www   IN      A       2.3.4.5
ftp       IN      A       2.3.4.5
;
taiwanno1.com.      IN    A  1.2.3.4
;
message        IN    CNAME   mail
files               IN    CNAME   ftp
webmail        IN    CNAME   mail
;
@                 IN    MX 10   mail.taiwanno1.com.

@                 IN    MX 20   message.taiwanno1.com.


編輯 taiwanno1.rev (反解設定檔)
vi /var/named/chroot/etc/named/taiwanno1.rev

範例如下
$TTL 1D
@       IN SOA  taiwanno1.com. root.taiwanno1.com. (
                                        160324  ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

                IN      NS      ns.taiwanno1.com.
;
ns             IN      A       1.2.3.4
taiwanno1.com.    IN      A      1.2.3.4
;    
1.2.3.4              IN      PTR     ns.taiwanno1.com.
1.2.3.4              IN      PTR     taiwanno1.com.
1.2.3.4              IN      PTR     mail.taiwanno1.com.
2.3.4.5              IN      PTR     ftp.taiwanno1.com.
1.2.3.4              IN      PTR     www.taiwanno1.com.


STEP3 將named服務重啟
systemctl enable named-chroot.service
systemctl restart named-chroot.service


netstat -ntlp
 
tcp        0      0 192.168.50.53:53        0.0.0.0:*               LISTEN      3365/named        
tcp        0      0 10.10.10.53:53          0.0.0.0:*               LISTEN      3365/named        
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      3365/named

※ DNS 反解權目前都在ISP身上,也就是說,想將mail主機設反解,那就得向ISP申請反解,ISP收到通知並設定好反解後,還要通過全球各個DNS的同步(台灣預設24hr,全球約3天左右)才有效。除非公司本身掌握了整個class C 的外部網段,ISP才有可能將反解權下放給自己來做。
IPv4 反解設定