linux上的dns如何实现动态更新?

linux上的dns如何实现动态更新?,第1张

BIND 动态更新

在很多大的网络中为了简化维护量,都使用了DHCP来动态分配IP地址。这样就要求DNS也能够动态的添加和删除记录。BIND 8和9就支持DNS动态更新机制。

主DNS和辅DNS在处理收到的动态更新记录是有区别的,辅DNS在收到更新消息的时候,由于它不是该区的主DNS,它就会将这个更新消息转发给它的主DNS,这称作“更新转发”。而主DNS当然就简单地做更新而已。

如何来创建动态更新消息呢?第一种是用软件编程方式,采用ns_update()解析器例程来创建。第二种则是用命令行程序nsupdate命令手工创建。这里主要讲一下第二种,命令格式如下:

prereq yxrrset domain name type

prereq nxrrset domain name type

prereq yxdomain domain name

prereq nxdomain domain name

update delete domain name [type] [rdata]

update add domain name ttl [class] type rdata

看起来似乎挺复杂,其实很容易。prereq 表示预先必须符合的条件,yxrrset表示存在记录,nxrrset表示不存在记录,而yxdomain则表示存在域名了。例如:

# nsupdate

>prereq nxdomain www.xmgd.com.

>update add www.xmgd.com. 600 A 210.52.83.228

>

这个例子告诉服务器只有在域名不存在时才对域名 www.xmgd.com 添加一个地址。注意最后一个空行表示nsupdate发送这个更新消息。

# nsupdate

>prereq yxrrset xmgd.com. MX

>update delete xmgd.com. MX

>update add xmgd.com. 600 MX 10 mail.xmgd.com.

>update add xmgd.com. 600 MX 50 pop.xmgd.com.

>

这个例子告诉服务器检查服务器是否有xmgd.com.的MX记录,如果有的话就删除原有的MX记录,重新添加两个。

如何来限制动态更新呢?我们可以使用allow-update参数来限制动态更新,如:

zone “xmgd.com” {

type master

file "zone.xmgd.com"

allow-update { x.x.x.x}// IP 地址

}

不过,要注意的是如果我们允许从辅DNS向主DNS进行地址更新,那么任何人只要向辅DNS发送更新消息,经过转发更新也能进行原本不能进行的动态更新,如何防止这一点呢?可以在辅DNS上使用allow-update-forwarding参数来做转发更新的限制,如:

zone “xmgd.com” {

type slave

file "zone.xmgd.com"

allow-update-forwarding { x.x.x.x}// IP 地址

}

网卡DNS设置

用windos系统大家都知道,本地连接里面有一个DNS设置。 那么这个选项对应Linux系统的话就是在网卡配置文件,通过编辑vi /etc/sysconfig/network-scripts 网卡下面的ifcfg-eth0 配置文件添加DNS服务器地址

查看DNS服务器地址网卡配置,输入 ifconfig -a 可以查看所有设备配置

图形界面DNS设置

如下图,在终端输入 setup命令即可调出图形界面设置(配置信息会写入/etc/resolv.conf文件里面)

DNS服务器地址配置

在Linux下面,有一个默认的DNS服务器地址配置文件的设置,存放在 /etc/resolv.conf

设置方法很简单,通过编辑 vi /etc/resolv.conf 设置首选DNS和次要DNS。如下图,排在前面的就是首选DNS,后面一行就是次要的DNS服务器DNS

hosts主机表文件

跟Windows系统一样,Linux系统也有主机表文件。同样可以通过设置主机表地址进行特定主机的解析,优先DNS服务器地址。

配置文件,在/etc/hosts

总结:

Linux下设置DNS的位置主要是,

1网卡设置配置文件里面DNS服务器地址设置,2.系统默认DNS服务器地址设置。3,hosts文件指定

生效顺序是:

1 hosts文件 ---- 2 网卡配置文件DNS服务地址 ---3 /etc/resolv.conf

这个和DNS有点关系而已

这个是关于端口的虚拟主机

1。在DNS上添加xxx.net和yyy.net,再添加2条记录

如 在xxx.net里的记录文件里

正向解析

www IN A 192.168.1.1

反向解析

1 IN PTR www

2。在/ETC/HTTPD/CONF/HTTP.CONF

里添加

listen 192.168.1.1:80 <--本地真实的

listen 192.168.1.1:81 <--虚拟的

3。本地真实的怎么配置你应该会了,现在是虚拟出来的

vi /etc/httpd/conf.d/vhost.conf <--文件名,随便

NameVirtualHost 192.168.1.1:81 <--要把虚拟主机运行到哪个IP

<VirtualHost 192.168.1.1:81> <--定义一个虚拟主机

ServerName www.yyy.net <--定义域名

DocumentRoot /var/yyy<--定义站点主目录

<VirtualHost>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7452355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存