当前位置: 首页>>技术问答>>正文


如何使用主机名完成BIND9 DNS服务器配置?

,

问题描述

我需要一个完整的step-by-step指南来介绍如何生成这样的服务器配置。

任何人都可以help-me吗?

最佳解决方案

在ubuntu服务器12中完成DNS服务器。

首先将服务器的IP地址从DHCP更改为STATIC,以便使用以下命令

sudo nano /etc/network/interfaces

并添加:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers

重新启动网络守护进程

sudo /etc/init.d/networking restart

在Linux Ubuntu中配置DNS服务器之前,您必须先创建域名,然后才能继续。首先,您将检查您的hostname命令

sudo nano /etc/hostname

 nefitari       

(这是我的Ubuntu服务器主机名你的可能会有所不同。你可以根据需要改变它)

现在在主机名之后,您必须为您的服务器创建域名。比如servername.domain.com更好的做法是,每当你配置服务器供家庭使用时,不要使用.com但.hom或.net或任何你喜欢的。给出以下命令

  sudo nano /etc/hosts

如果它没有它添加:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

在我的文件中127.0.0.1是针对localhost的,我已经更改了第二个IP地址127.0.1.1,我的服务器IP是192.168.1.5现在我输入我的域名,首先是我的主机名nefitari然后是我的域名autun.hom然后是别名nefitari。您可以选择自己的,hostname.abc.net或hostname.home.lan等,但请记住更改为此文件需要重新启动服务器然后登录。必须重启

现在安装BIND9

 sudo apt-get install bind9

安装后,只需逐步配置以下文件

  • Named.conf.options

  • Named.conf.local

  • 在/etc/resolv.conf

现在配置文件named.conf.options此文件用于DNS IP这意味着您的服务器必须连接到外部的某些DNS。当您从ISP购买域名时,他们通常会为您提供自己的DNS IP。您可以使用谷歌左右的开放DNS IP。在我的情况下,我使用自己的ISP DNS IP。

 sudo nano /etc/bind/named.conf.options
 forwarders {
 # Give here your ISP DNS IP’s
192.168.1.1;    # gateway or router   
182.176.39.23;
182.176.18.13;
68.87.76.178;
  };

***保存文件并使用控制x退出***按y并覆盖该文件

现在编辑named.conf.local文件这是我们定义前向区域和反向区域的文件。这意味着当我们输入域名时,它会将其转换为IP地址,当我们输入IP地址时,它只会将其转换为名称。

sudo nano /etc/bind/named.conf.local

将会呈现:

# Our forward zone
zone "autun.hom" {
 type master;
 file "/etc/bind/zones/db.autun.hom";
 };

# Our reverse Zone 
# Server IP 192.168.1.5 
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/zones/db.192";
 };

***保存文件并使用控制x退出***按y并覆盖该文件

现在我们将在zones文件夹中创建这两个数据库文件db.autun.hom和db.192

首先在/etc /bind /中创建目录区域

  sudo mkdir /etc/bind/zones

在制作文件之前,请告诉我我有不同的设备

设备IP

  • 服务器本身192.168.1.5

  • 网关192.168.1.1

  • Win7pc 192.168.1.50

现在在zones目录中,我们将首先创建两个文件db.autun.hom。我只是将已经存在于/etc /bind文件夹中的db.local复制到zone文件夹,方法是将其名称更改为db.autun.hom。我将这些IP放在我的db.autun.hom文件中。开始吧

sudo cp /etc/bind/db.local  /etc/bind/zones/db.autun.hom

现在使用以下命令编辑文件

sudo nano /etc/bind/zones/db.autun.hom

 ;
 ; BIND data file for local loopback interface
 ;
 $TTL    604800
 @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
  ;
autun.hom.      IN  NS  nefitari.autun.hom.
autun.hom.      IN  A   192.168.1.5
   ;@               IN  A   127.0.0.1
   ;@               IN  AAAA    ::1
nefitari            IN  A   192.168.1.5
gateway         IN  A   192.168.1.1
win7pc          IN  A   192.168.1.50
www     IN  CNAME   autun.hom.

保存并退出

  • Webuser.autun.hom。是将访问名称服务器的电子邮件。您可以编写任何名称而不是webuser,如admin,root或host master等。

  • Autun.hom。是我的NS意味着名称服务器

  • Autun.hom.changing到IP 192.168.1.5

  • @ IN A 127.0.0.1和AAAA :: 1可以注释掉你不应该需要它因为db.local已经存在于/etc /bind中它只是该文件的副本。所以不需要你可以删除它

  • 将Nefitari更改为IP 192.168.1.5

  • IP 192.168.1.1的网关

  • Win7pc您可以将您的Windows PC或Linux客户端命名为任何名称,但请记住该客户端的IP必须正确插入文件中。在我的情况下,我给了Windows PC 192.168.1.50的IP

  • 最后,我使用CNAME表示规范名称它只是nefitari的别名。意味着您可以通过输入www.autun.hom而不是nefitari.autun.hom来访问您的服务器。您可以省略或评论它。这取决于你。

现在创建反向查找区域文件

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

现在使用以下命令编辑文件

sudo nano /etc/bind/zones/db.192

   ;
   ; BIND reverse data file for local loopback interface
   ;
   $TTL    604800
   @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
   ;
        IN  NS  nefitari.
1   IN  PTR gateway.autun.hom.
5   IN  PTR nefitari.autun.hom.
50  IN  PTR win7pc.autun.hom.

保存并退出

现在,当您完成区域文件后,您必须通过输入以下命令检查前面区域文件是否正常工作

named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial   2
Ok

现在检查反向区域文件

named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial   2
Ok 

如果你的named-checkzone的输出与上面的相同,那么它工作正常,否则你在文件中犯了一些错误。

现在编辑resolv.conf文件

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

在resolv.conf文件中输入以下行并保存

重新启动绑定

sudo /etc/init.d/bind9 restart

绑定开始后,检查日志文件中的设置

tail -f /var/log/syslog

它必须在日志中没有任何错误

检查前进区域

host –l autun.hom

输出应该是这样的

 autun.hom name server nefitari.autun.hom.
 autun.hom has address 192.168.1.5
 gateway.autun.hom has address 192.168.1.1
 nefitari.autun.hom has address 192.168.1.5
 win7pc.autun.hom has address 192.168.1.50

现在使用NSLOOKUP

nslookup autun.hom

OUTPUT

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

使用DIG

 dig gateway.autun.hom

 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 ;; QUESTION SECTION:
 ;gateway.autun.hom         IN  A

 ;; ANSWER SECTION:
 gateway.autun.hom      604800  IN  A   192.168.1.1

 ;; AUTHORITY SECTION:
 Autun.hom.     604800  IN      NS  nefitari.autun.hom. 

 ;; ADDITIONAL SECTION:
 Nefitari.autun.hom.    604800  IN      A   192.168.1.5

 ;; Query time: 12 msec
 ;; SERVER: 192.168.1.5#53(192.168.1.5)
 ;; WHEN: Thu Aug 8 01:56:25 2013
 ;; MSG SIZE  rcvd: 90

输出应与上面类似,检查状态:NOERROR表示它正在解析检查ANSWER SECTION:gateway.autun.hom被解析为192.168.1.1

检查反向区域

 host 192.168.1.1

产量

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

如果它给你一个如下错误

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

这意味着您在反向区域中的/etc/bind/named.conf.local文件中出现了一些错误如果您的服务器IP是192.168.1.5,则您的反向区域看起来像这样

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

有时人们在颠倒ip时犯了错误(仅举例)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

使用NSLOOKUP

nslookup 192.168.1.1

Server: 192.168.1.5
Address: 192.168.1.5#53

1.1.168.192.in-addr.arpa    name=gateway.autun.hom

如果您得到NXDOMAIN或SERVFAIL错误,则表示您的某个区域文件无法正常工作

现在你可以ping ubuntu.com或者第一次挖ubuntu.com来解析你的名字ubuntu.com但是当你第二次运行它时需要花费1,2或3秒通常形成1到10毫米秒是正常的,这意味着您的DNS正常工作

配置客户端

窗边

  • 开放的网络连接

  • 选择更改适配器设置

  • 选择属性

  • 选择互联网协议版本IPv4

在这里给出IP地址(在我的情况下,它是192.168.1.50你还记得win7pc)

  • IP地址192.168.1.50

  • 子网掩码255.255.255.0

  • 默认网关192.168.1.1

  • 主DNS 192.168.1.5(我的新BIND DNS服务器ip)

  • 在同一窗口中选择Advance

  • 选择DNS选项卡

  • 在此处的文本框中键入此连接的DNS后缀:autun.hom

  • 点击确定

  • 退出时单击验证设置

  • 点击确定

并且你完成它打开CMD

ping gateway

它必须给你一些回复

同样

ping 192.168.1.1 or 5

它必须给你一些回复

测试您的服务器到外面的世界

现在你可以ping ubuntu.com或者第一次挖掘ubuntu.com来解析你的名字ubuntu.com,但是当你第二次运行它时,它需要1到10毫秒的时间,正常时间和这意味着您的DNS正常工作配置客户端

窗边

打开网络连接选择更改适配器设置选择属性选择Internet协议版本IPv4

在这里给出IP地址(在我的情况下,它是192.168.1.50你还记得win7pc)

IP地址192.168.1.50

子网掩码255.255.255.0

默认网关192.168.1.1

主DNS 192.168.1.5(我的新BIND DNS服务器ip)

选择高级(在同一窗口中)

选择DNS选项卡

在此处的文本框中键入此连接的DNS后缀:autun.hom

点击确定

退出时单击验证设置

点击确定

并且你完成它打开CMD

码:

 ping gateway

它必须给你一些回复

同样

码:

 ping 192.168.1.1 or 5

它必须给你一些回复,你可以使用NSLOOKUP代码:

 nslookup gateway

LINUX客户端

码:

 sudo nano /etc/network/interfaces

键入以下行

码:

 auto eth0
 iface eth0 inet dhcp

现在重启Network Deamons

码:

 sudo /etc/init.d/networking restart

强制客户端更新IP命令

码:

 sudo dhclient -r

现在获得新的IP:

码:

 sudo dhclient

如果您在网络上运行DHCP服务器,请在dhcpd.conf文件中输入域名和名称服务器;例如,我有DNS服务器名为nefitari.autun.hom,IP地址是192.168.1.5,如下

码:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

source

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1406.html,未经允许,请勿转载。