linux做DNS服务器

合集下载

Linux1 DNS服务器 构建主域名服务器

Linux1 DNS服务器  构建主域名服务器

Linux1 DNS服务器构建主域名服务器主域名服务器通常架设在Internet环境中,主要目的是为客户端提供本域内计算机名域IP地址的解析。

本节将通过实例的形式学习主域名服务器的搭建与配置。

在本节实例中,基本的网络环境如下:●主域名服务器位于Internet中,IP地址为“192.168.0.8”。

●所负责的DNS域为“”。

●为“”域内的计算机提供泛域名解析,对应的IP地址为“192.168.0.9”。

●网站服务器“”,IP地址为“192.168.0.10”。

●邮件服务器“”,IP地址为“192.168.0.11”。

●主域名服务器“”,IP地址为“192.168.0.8”。

●从域名服务器“”,IP地址为“192.168.0.16”。

实验环境如图6-54所示。

图6-54 构建主域名服务器1.确定本机的计算名、IP地址将主服务器的IP地址设为“192.168.0.5”,计算机名称为“”,通过修改“/etc/sysconfig/network”文件的实现,如图6-55所示。

图6-55 设置计算机名为了提高域名的解析速度,建议将两个DNS服务器的地址映射直接写入到“/etc/hosts”文件中,同时在“/etc/resolv.conf”文件中指定DNS服务器的地址,如图6-56所示。

图6-56 设置hosts和resolv.conf文件2.建立主配置文件named.conf主域名服务器不仅提供对“”域内计算机的地址解析,还需要提供解析Internet上计算机及的功能,所以根域也是必须配置的,如图6-57所示。

图6-57 配置named.conf 文件3.建立区域数据库文件根据“named.conf”文件中的zone设置,分别建立正向区域、反向区域和根区域的数据库文件。

建立正向区域数据库文件在该文件中设置域名、SOA记录、NS记录和A记录,如图6-58所示。

图6-58 正向区域数据库文件建立反向区域数据库文件在反向区域数据库文件中,同样需要域名,SOA记录,同时还需要配置PTR 指针记录,如图6-59所示。

Linux下搭建DNS服务器和配置文件(named.conf)祥解

Linux下搭建DNS服务器和配置文件(named.conf)祥解

Linux下搭建DNS服务器和配置文件(named.conf)祥解配置之前先了解一下bind DNS服务器软件:BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件。

它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准。

为了构架DNS服务器来解析域名或ip地址,我们得安装BIND和caching-nameserver。

为了TCP和UDP53数据包能通过,我们也有必要配置路由器。

安装 BIND 软件包1、安装# yum -y install bind caching-nameserver2、配置下面的例子是以公网IP(172.16.0.80/29),局域网IP (192.168.0.0/24),域名()作说明。

在配置你自己的服务器时,请使用你自己的IP和域名。

# vim /etc/named.confoptions {directory "/var/named";# query rangeallow-query { localhost; 192.168.0.0/24; };# transfer rangeallow-transfer { localhost; 192.168.0.0/24; };# recursion rangeallow-recursion { localhost; 192.168.0.0/24; };};controls {inet 127.0.0.1 allow { localhost; } keys { rndckey; };};# here is the section for internal informationsvimew "internal" {match-clients {localhost;192.168.0.0/24;};zone "." IN {type hint;file "named.ca";};# set zones for internalzone "" IN {type master;file "n";allow-update { none; };};# set zones for internalzone "0.168.192.in-addr.arpa" IN { type master;file "0.168.192.db";allow-update { none; };};zone "localdomain" IN {type master;file "localdomain.zone";allow-update { none; };};zone "localhost" IN {type master;file "localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa" IN { type master;file "named.local";allow-update { none; };};zone "255.in-addr.arpa" IN { type master;file "named.broadcast";allow-update { none; };};zone "0.in-addr.arpa" IN { type master;file "named.zero";allow-update { none; };};};vimew "external" {match-clients {any;};zone "." IN {type hint;file "named.ca";};# set zones for externalzone "" IN {type master;file ".wan";allow-update { none; };};# set zones for external *notezone "80.0.16.172.in-addr.arpa" IN {type master;file "80.0.16.172.db";allow-update { none; };};};include "/etc/rndc.key";# *note : For How to write for reverse resolvimng, Write network address reversely like below.the case for 192.168.0.0/24network address? 192.168.0.0range of network? 192.168.0.0 - 192.168.0.255how to write? 0.168.192.in-addr.arpacase of 172.16.0.80/29network address? 172.16.0.80range of network? 172.16.0.80 - 172.16.0.87how to write? 80.0.16.172.in-addr.arp设置Zones创建zone文件以便服务器能解析域名IP。

linux dns 原理

linux dns 原理

linux dns 原理
LinuxDNS原理是指在Linux操作系统中实现DNS (DomainNameSystem)服务的基本原理。

DNS是一种将域名转换为IP 地址的系统,它允许我们使用易于记忆的域名来访问互联网上的服务器,而不是使用难以记忆的 IP 地址。

在 Linux 中,我们可以使用各种 DNS 服务器软件来提供 DNS 服务,例如 BIND、dnsmasq 等。

这些软件的基本原理是通过将域名映射到相应的 IP 地址,使得客户端能够访问所需的服务器。

DNS 服务的实现过程包括以下几个步骤:
1. 客户端向本地 DNS 服务器发送 DNS 查询请求,请求解析某个域名的 IP 地址。

2. 本地 DNS 服务器查询缓存中是否已经存在该域名的解析结果,如果存在则直接返回。

3. 如果缓存中没有该域名的解析结果,则本地 DNS 服务器向顶级 DNS 服务器发送查询请求,顶级 DNS 服务器返回该域名的权威DNS 服务器的 IP 地址。

4. 本地 DNS 服务器向权威 DNS 服务器发送查询请求,权威DNS 服务器返回该域名的 IP 地址。

5. 本地 DNS 服务器将该域名的解析结果存储到缓存中,并将解析结果返回给客户端。

通过了解 Linux DNS 原理,我们可以更好地理解 DNS 服务的实现过程,从而更好地配置和管理 DNS 服务器。

Linux下DNS配置方案

Linux下DNS配置方案

Linux下DNS服务器的配置1,安装DNS服务器安装DNS服务器Red Hat Linux 9 自带有版本号为9.2.1的BIND(即目前使用最广泛的域名服务器软件)。

在Red Hat Linux 9的第1张安装光盘中提供了与BIND服务相关的两个rpm包,bind-9.2.1-16.i386.rpm和bind-utils-9.2.1-16.i386.rpm。

另外一个相关的软件包caching-nameserver-7.2-7.noarch.rpm在第2张安装盘上。

1. 检查系统是否已安装了BIND软件包方法:rpm -q bind图1-1 检查BIND软件包是否已安装通过输出bind-9.2.1-16,说明当前系统已经安装了该软件包。

此外,还可检查BIND的样本配置文件(/etc/named.conf)和根域文件(/var/named/named.ca)是否存在,来判断BIND软件包的安装与否。

2. 安装BIND软件包如果BIND软件包并未安装,则用下述命令进行安装。

(注意,执行下述命令时要先将目录切换到rpm包所在的目录下)rpm -ivh bind-9.2.1-16.i386.rpmrpm -ivh bind-utils-9.2.1-16.i386.rpmrpm -ivh caching-nameserver-7.2-7.noarch.rpm图1-2 切换到BIND软件包所在的目录图1-3 安装BIND软件包BIND软件包安装后,还将创建名为named的用户和用户组,并自动设置相关目录的权属关系。

named守护进程默认使用named用户身份运行。

可以在passwd和group文件中查看named用户和用户组。

也可以看到DNS工作目录/var/named和/var/run/named目录的所有者和权限。

图1-4 查看named用户和用户组1.2.2配置DNS服务器BIND的配置文件包括:主配置文件/etc/named.conf,根域文件/var/named/named.ca,正向解析文件/var/named/localhost.zone,反向解析文件/var/named/named.loca,用于管理BIND守护进程的rndc程序的配置文件/etc/rndc.conf,用户自定义正向区域文件和用户自定义反向区域文件。

Linux系统怎么查看和修改DNS配置

Linux系统怎么查看和修改DNS配置

Linux系统怎么查看和修改DNS配置如果没有设置DNS服务器的话,那么系统就不能正常上网了。

,那么Linux系统怎么查看和修改DNS配置呢?下面店铺就为大家带来了Linux系统查看和修改DNS配置的方法。

Linux系统查看和修改DNS配置方法查看服务器的DNS信息:1:查看/etc/resolv.con文件[root@localhost ~]# cat /etc/resolv.confnameserver 192.168.xxx.xxx#search localdomain[root@localhost ~]#2:使用nslookup命令查看DNS信息[root@localhost ~]# nslookup 127.0.0.1 | grep ServerServer: 192.168.xxx.xxx[root@localhost ~]#3:使用dig命令来查看DNS信息[root@localhost ~]# dig; 《《》》 DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 《《》》;; global options: printcmd;; Got answer:;; -》》HEADER《《- opcode: QUERY, status: NOERROR,id: 36888;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY:0, ADDITIONAL: 3;; QUESTION SECTION:;。

IN NS;; ANSWER SECTION:。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

86163 IN NS .。

linux中nameserver参数作用 -回复

linux中nameserver参数作用 -回复

linux中nameserver参数作用-回复在Linux操作系统中,nameserver参数是指定域名解析服务器(DNS 服务器)的配置选项。

DNS服务器在互联网中扮演着关键的角色,它们负责将用户输入的域名翻译成对应的IP地址,以便能够正确地建立连接和访问相应的网站或网络服务。

通过调整nameserver参数,我们可以配置系统使用特定的DNS服务器来解析域名。

本文将逐步解释nameserver参数的作用和如何进行配置。

首先,让我们了解一下DNS的工作原理。

当用户在浏览器中输入一个域名时,操作系统会尝试将其解析为IP地址。

为了完成这个解析过程,操作系统需要向DNS服务器发起查询。

这个查询请求会在本地配置的DNS服务器列表中依次进行,直到找到能够提供正确解析的DNS服务器。

在Linux中,我们可以通过/etc/resolv.conf文件来配置系统的DNS 服务器。

该文件包含了一系列的配置选项,其中之一就是nameserver。

nameserver参数用于指定DNS服务器的IP地址。

可以指定多个DNS 服务器地址,每行一个。

当系统发起域名解析请求时,它将按顺序尝试这些DNS服务器,直到找到能提供正确解析的DNS服务器为止。

接下来,我们来看看如何配置nameserver参数。

首先,打开终端并切换到超级用户模式,运行以下命令:bashsudo nano /etc/resolv.conf这将打开一个文本编辑器,在其中我们可以修改resolv.conf文件的内容。

找到类似以下的行:bashnameserver DNS_IP_Address在此行中,将DNS_IP_Address替换为所需的DNS服务器的实际IP 地址。

可以添加多个nameserver行以提供备用的DNS服务器地址。

例如:bashnameserver 8.8.8.8nameserver 8.8.4.4这将配置系统使用Google公共DNS服务器作为DNS解析服务器。

LINUX系统的服务器的DNS相关配置

LINUX系统的服务器的DNS相关配置

运行环境redhat 9.0 ,IP地址172.18.121.35,实现的域名为1.安装DNS所要的软件包.查看是否安装bind软件,在终端中输入代码如下:[root@localhost root]# rpm -qa|grep bindredhat-config-bind-1.9.0-13bind-9.2.1-16bind-utils-9.2.1-16ypbind-1.11-4若出现以上的文字则表示安装成功,若没有出现以上东西插入正确的光盘,进行安装.或者通过下载源代码进行安装。

2.设定好IP地址与DNS在终端中输入netconfig,回车,在第一行中输入IP,172.18.121.35.第二行输入子网掩码255.255.255.0第三行输入网关地址:172.18.121.1,最后一行输入DNS 172.18.121.35.再确定.再在终端中输入下面的命令代码如下:[root@localhost root]#service network reload[root@localhost root]#service network restart通过ifconfig查看IP信息3.配置DNS配置DNS正向搜索,配置文件如下:代码如下:[root@localhost root]#cp /var/named/localhost.zone /var/named/代码如下:[root@localhost root]# vi /var/named/$TTL 86400$ORIGIN .@ 1D IN SOA . . (42 ; serial (d. adams)3H ; refresh15M ; retry1W ; expiry1D ) ; minimum1D IN NS @1D IN MX 5 .www 1D IN A 172.18.121.35mail 1D IN A 172.18.121.35ftp 1D IN A 172.18.121.35pop3 IN CNAME .smtp IN CNAME .保存退出,先按ESC ,再:wq.配置DNS正向搜索,配置文件如下:代码如下:[root@localhost root]#cp /var/named/named.local /var/named/172.18.121.rev代码如下:[root@localhost root]# vi /var/named/172.18.121.rev$TTL 86400@ IN SOA . . (1997022700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN NS .< p;35 IN PTR .35 IN PTR .35 IN PTR .配置本机DNS的一个主文件,安装好后它有一个模板,修改它,修改的部分是粗线表示代码如下:[root@localhost root]# vi /etc/named.conf// generated by named-bootconf.ploptions {directory /var/named;/** If there is a firewall between you and nameservers you want* to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked* questions using port 53, but BIND 8.1 uses an unprivileged * port by default.*/// query-source address * port 53;};//// a caching only nameserver config//controls {inet 127.0.0.1 allow { localhost; } keys { rndckey; };};zone . IN {type hint;file named.ca;};zone localhost IN {type master;file localhost.zone;allow-update { none; };};zone 0.0.127.in-addr.arpa IN {type master;file named.local;allow-update { none; };};zone IN{type master;file ;};zone 121.18.172.in-addr.arpaIN{type master;file 172.18.121.rev;};include /etc/rndc.key;/etc/named.conf [已转换] 45L, 894C配置本机的域名转换程序的顺序代码如下:[root@localhost root]# vi /etc/host.conf order bind,hostsmulti offtrim [root@localhost root]# vi /etc/resolv.confnameserver 218.196.42.2namedsever 218.196.42.2domain search option nochecknames rotate4.启动named服务.代码如下:[root@localhost root]#service named start5.检查配置是否成功代码如下:[root@localhost root]# nslookupNote: nslookup is deprecated and may be removed from future releases. Consider using the `dig' or `host' programs instead. Run nslookup with the `-sil[ent]' option to prevent this message from appearing.; Server: 172.18.121.35Address: 172.18.121.35#53Name: Address: 172.18.121.35; 172.18.121.35Server: 172.18.121.3535.121.18.172.in-addr.arpa name = .35.121.18.172.in-addr.arpa name = .35.121.18.172.in-addr.arpa name = .;ctrl +D退出若出现上面的情况的文字表示已经配置成功.6.其实在配置的过程中,查看自己是否配置正确可以通过named –g 进行查看你的配置文件到底错在那个地方,再进行修改PS:DNS相关配置文件说明. /etc/host.conf当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。

linux服务器域名解析到指定ip的方法

linux服务器域名解析到指定ip的方法

linux服务器域名解析到指定ip的方法在Linux服务器上,您可以使用DNS服务器和相关工具将域名解
析到指定的IP地址。

以下是一种常见的方法:
一、准备工作
1. 确保您的Linux服务器已经安装了DNS服务器软件,如BIND
(Berkeley Internet Name Domain)。

2. 确保服务器上已正确配置了DNS区域文件(zone file),其
中包含了域名和对应的IP地址信息。

二、配置DNS服务器
1. 打开DNS区域文件进行编辑,可以使用任何文本编辑器,如
vi、nano等。

2. 添加您想要解析的域名记录,包括主记录(A记录)和反向
DNS(PTR)记录。

指定要解析的域名和指定的IP地址。

3. 保存并退出编辑器,并重新启动DNS服务器以使更改生效。

三、设置域名解析
1. 在您的域名注册商处,获取或更新域名解析设置。

通常,您需
要将域名的主机记录(A记录)指向您的Linux服务器的IP地址。

2. 确保您的Linux服务器能够被外部访问,可以通过防火墙配置
或虚拟专用网络(VPN)来保证连接性。

四、测试域名解析
1. 在本地或外部网络中,尝试访问您的域名,确保能够解析到指
定的IP地址。

2. 检查服务器日志,以确认是否有任何与域名解析相关的错误或
警告信息。

总之,通过以上步骤,您可以在Linux服务器上将域名解析到指定的IP地址。

请注意,这只是一个基本的方法,具体步骤可能因您的环境和需求而有所不同。

此外,确保您对Linux服务器和DNS服务器的配置有足够的了解,以避免潜在的安全风险。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DNS
DNS服务器类型:主域名服务器,从域名服务器,缓存服务器(不是权威域名服务器,提供缓存域名结果),转发器(中继)
1、安装bind(软件包)
Yum install –y bind
Yum list all | grep bind #看有哪些bind软件包,安装了哪些
2、规划
/etc/named.conf #bind主配置文件
/var/named #数据库文件存放位置
Named.ca #全球根服务器信息
Localhost.zone #正向解析文件,将localhost解析成127.0.0.1
Named.local #反向解析文件,将127.0.0.1解析成localhost /etc/init.d/named #启动脚本,可以service启动
Rndc #远程控制工具,监听端口953
2、配置文件
a)Named.conf
Directory 定义数据库文件存放路径
Zone 高速bind正向解析,反向解析所在的区域
Key 用rndc管理bind的秘钥
注意{}前后的空格
b)Localhost.zone
$TTL 因为TTL数值一样,所以将TTL拿出来做全局变量
第一行必须定义SOA
Localhost . .为根目录,localhost为域名
Localhost. 可以用@代替,admin.localhost.定义邮箱,@有特殊含义所以用.代替
()中第一行为序列号10位,1H从域名服务器多久探测一下主域名服务器
10M 如果探测不到主域名服务器多久再探测一次,
7D 7天找不到从域名服务器自杀失效,
1D 否定回答时间,一天内回应一次其他DNS服务器请求本域名服务器所管
理的服务器域名
第二行开始无顺序要求,定义本DNS所管理的域内的权威服务器
第三行实现本机域名与IP的转换
c)Named.local
Named.local 与localhost.zone只有A那行不同,可以cp过来修改
最后一行实现ip转换为域名,主机地址需要反着写,127.0.0.1只保留主机地
址1
3、linux中进程以用户的身份运行,所以需要修改配置文件的组名,
chown :named /etc/named.conf
chown :named /var/named/* -R
4、rndc
rndc-confgen >/etc/rndc.conf #生成rndc.conf配置文件
我们可以看到#开头第二行,需要将下面#开头的行放到named.conf中
Tail /etc/rndc.conf |head -9 | sed ‘s/^#//g’ >> /etc/named.conf
Service named configtest 可以检查文件的语法错误
因为你在named.conf中定义了localhost.zone named.local两个配置文件,这里会同时对这两个配置文件检查,检查没有问题后就可以启动named了
Service named start
5、测试下
dig –t A localhost.
ANSWER SECTION:这行是对请求的回应Dig –x 127.0.0.1 看127.0.0.1的主机名
6、实例:
Named.conf
.zone
b.192.168.152.zone
7、主从
Scp named.conf /var/named/* 到从服务器,删除192.168.152.zone, .zone 主:
Named.conf
从:
关闭防火墙,selinux 重启named,slaves中会同步出两个文件Generating /etc/rndc.key rndc-confgen -r /dev/urandom -a
8、相关命令named.conf
allow-transfer {};区域传送,只允许{}中的IP,dig –t axfr @IP,
allow-query {}; 允许哪些查询,与acl一起用放在区域zone中allow-query {aquery};
acl aquery {
192.168.0.1;
192.168.0.2;
};
acl声明在options上边。

一个列表可以包含另一个列表,any,none,localhost,localnets allow-recursion 递归查询,dig +recurs –t A @192.168.152.132,直接使用132递归查询,132出去查询返回结果allow-recursion { none; };拒绝给任何人递归
9、智能DNS
View实现不同IP访问得到的解析不同,zone放在view中
Match-clients定义哪个IP得到什么解析,recursion no 不允许递归
10、子域授权
父服务器中,正向解析区域文件中,
. IN NS .
. IN A 192.168.152.137
主:
子:
转发域在子域中声明父域位置
转发··
Forward 转发器first|only first先递归再迭代,only只递归不迭代Options中声明forward first;forwarders { 192.168.152.140;};
10、打开日志功能
Options中定义querylog yes;打开日志查询功能
Channel,cataqory—>系统内置
记录日志的格式:file→日志名字,syslog→日志级别
在/var/log/named中创建两个文件query_log,xfer_log。

相关文档
最新文档