DNS配置

今天在公司中,告知要搭建一台DNS给研发做测试环境用,一开费了很大的劲,后来发现没有这么麻烦。下面先给出正向解析DNS的过程,后面会逐渐给出反向解析与DNS主从的配置。

操作系统使用的是Centos7.3,Selinux权限开启,防火墙开启。下面给出配置过程。

1.配置DNS正向解析

安装的软件是bind bind-chroot,这些事DNS服务器必须的,另外安装了bind-utils。这是为了使用nslook命令。进程名字是named。这里是将www.abc.com解析成 192.168.122.1。

# yum -y install bind bind-chroot bind-utils

  # systemctl start named

  # systemctl enable named

  配置主配置文件 /etc/named.conf

  # cat /etc/named.conf

  options {

    listen-on port 53 { any; };              //改为any,谁能监听这个主机

// 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     { any; };              //改为any,允许哪些主机访问

   zone "abc.com" IN {               //在后面添加这个字段,就是你要解析的域名

        type master;                 //主域名

        file "abc.zone";         

};

 去/var/named目录下编辑abc.zone文件

# cp -p named.localhost abc.zone

# cat abc.zone

$TTL 1D

@    IN SOA  @ rname.invalid. (    //不用改,并且下面的@和这里的@一致

                 0   ; serial

                 1D  ; refresh

                 1H  ; retry

                 1W  ; expire

                 3H )    ; minimum

     IN    NS    @

@    IN     A    192.168.189.129

www  IN    A    192.168.122.1

# systemctl restart named

 在本机上使用nslookup命令测试

[root@192 named]# nslookup

> server 192.168.189.129

Default server: 192.168.189.129

Address: 192.168.189.129#53

> www.abc.com

Server:      192.168.189.129

Address: 192.168.189.129#53

 

Name:    www.abc.com

Address: 192.168.122.1

解析成功,之后再其他服务器上测试,不成功。在关闭DNS本机防火墙后,成功。所以,在防火墙上要放开对53端口的访问。放开后,这台DNS服务器就可以对外访问了。并且注意,如果在编辑完/etc/named.conf文件后添加了zone文件后,要去/var/named目录下吧文件创建出来,权限也要正确。否则启动服务是会报错。

在换完之后,要更改规则。因为自己目前还不会写规则,所以是用了另一台DNS机器上的防火墙规则,之后重启 了iptables服务。这里用的规则是/etc/sysconfig目录下的iptables文件。要注意的是,这个文件一开始并没有。是在安装了iptables-services后才有的。之后,重启iptables,DNS没有问题。关于防火墙的话,去参考另一篇文档 “工作中的问题(已解决)”里面的将firewalld换成iptables部分,里面有相关的规则。

因为之前工作中,都是关闭了防火墙的,所以并没有研究过防火墙。前两天搭建了一台dns,告知要开启防火墙,所以要在打开防火墙的基础上开放53端口。今天打算设置的时候,发现centos中firewalld与iptables只能存在一个。所以,我需要把firewalld换成iptables。是通过下面的命令换的。

# systemctl stop firewalld

  # systemctl disable firewalld

  # systemctl mask firewalld

  # yum -y install iptables-services

# systemctl start iptables

  # systemctl enable iptables

在换完之后,要更改规则。因为自己目前还不会写规则,所以是用了另一台DNS机器上的防火墙规则,之后重启 了iptables服务。这里用的规则是/etc/sysconfig目录下的iptables文件。要注意的是,这个文件一开始并没有。是在安装了iptables-services后才有的。之后,重启iptables,DNS没有问题。

# systemctl restart iptables

下面是iptables文件的配置内容。

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

2.配置反向解析DNS

DNS反向解析,与正向解析差不多。需要在/etc/named.conf文件中添加相应的zone文件字段,之后去/var/named/目录下添加相应的zone文件即可。

# cat /etc/named.conf

zone "189.168.192.in-addr.arpa" IN {

        type master;

        file "189.168.192.zone";

};

# cat /var/named/189.168.192.zone

$TTL 1D

@    IN SOA  dns.efg.com. rname.invalid. (

                 0   ; serial

                 1D  ; refresh

                 1H  ; retry

                 1W  ; expire

                 3H )    ; minimum

     IN  NS dns.efg.com.

192  IN  PTR    dns.efg.com.

10   IN   PTR    www.efg.com.

 上面的dns.efg.com是随便写的,下=下面注意要用PTR字段。之后重启服务即可。

# systemctl restart named

使用dig命令测试,没有问题。

# dig -x 192.168.189.10 @192.168.189.129

 

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7_3.1 <<>> -x 192.168.189.10 @192.168.189.129

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30323

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;10.189.168.192.in-addr.arpa.    IN  PTR

 

;; ANSWER SECTION:

10.189.168.192.in-addr.arpa. 86400 IN    PTR www.efg.com.

 

;; AUTHORITY SECTION:

189.168.192.in-addr.arpa. 86400  IN  NS  dns.efg.com.

 

;; Query time: 2 msec

;; SERVER: 192.168.189.129#53(192.168.189.129)

;; WHEN: Mon Jul 31 11:52:37 CST 2017

;; MSG SIZE  rcvd: 99

配置DNS主从

192.168.189.129为主,192.168.189.130为从

修改主机的配置文件 /etc/named.conf

# cat /etc/named.conf      //只给出部分参数

zone "abc.com" IN {

        type master;

        file "abc.zone";

        allow-transfer {192.168.189.130;};  // 定义丛集

        allow-update {none;};

};

# cat /var/named/abc.zone

$TTL 1D

@    IN SOA  @ rname.invalid. (

                 201784  ; serial  //这一项很重要,每次同步的根据,对比的ID

                 1D  ; refresh

                 1H  ; retry

                 1W  ; expire

                 3H )    ; minimum

     IN    NS    @

@    IN     A    192.168.189.129

www  IN    A    192.168.122.1

之后去从主机下修改配置文件

# cat /var/named/abc.zone

zone "abc.com" IN {

        type slave;

        file "slaves/abc.zone";

        masters {192.168.189.129;};   //定义主机

        allow-update {none;};

};

之后先后重启主机,从机上的 named服务。如果在/var/named/slaves目录下看到abc.zone文件,主从成功。

不过,我一开始并没有看到。当时的机器环境是从机的防火墙,Selinux都关闭了,主机的都开着。之后我把主机的防火墙停掉,就OK了。

配置方向解析主从也一样,下面仅给出配置文件的关键部分。

主机配置文件

# cat /etc/named.conf

zone "189.168.192.in-addr.arpa" IN {

        type master;

        file "189.168.192.zone";

        allow-transfer {192.168.189.130;};

        allow-update {none;};

 

};

# cat /var/named/189.168.192.zone

$TTL 1D

@    IN SOA  dns.efg.com. rname.invalid. (

                 201784  ; serial

                 1D  ; refresh

                 1H  ; retry

                 1W  ; expire

                 3H )    ; minimum

     IN  NS dns.efg.com.

192  IN  PTR    dns.efg.com.

10   IN  PTR    www.efg.com.

从机配置文件

# cat /etc/named.conf

zone "189.168.192.in-addr.arpa" IN {

        type slave;

        file "slaves/189.168.192.zone";

        masters {192.168.189.129;};

        allow-update {none;};

 

};

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值