news 2026/6/18 19:32:16

Named服务配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Named服务配置

Named服务配置

搜索Linux DNS,映入眼帘的是鸟哥的文章:http://linux.vbird.org/linux_server/0350dns.php
这篇长达11节的文章,看到Zone文件时就开始晕菜了。
继续寻找下一篇文章,来自于安全中国的:http://www.anqn.com/os/linux/2010-03-30/a09125458.shtml
在战胜了瞌睡虫的同时,DNS服务器终于跑上来了。

以前教授给我的理念就是将域名作为一棵倒挂的树,从根节点开始解析,直至叶子节点。通过下图更明确一下:

从图的描述可以得知,根域是以“点(.)”表示。明了这一点非常重要,因为它的意义会在Zone文件中得到体现。

再加上客户端的请求解析流程图,会让整个流程更加清晰明了:

详细的请求的顺序为:

  1. 客户端Host文件标识
  2. 客户缓存
  3. 服务器区域设定
  4. 服务器缓存
  5. 其它服务器



理念明白后,就开始服务器的配置历程了。
首先,看看已经安装好的bind程序。

Sh代码

  1. $ rpm -q bind
  2. bind-9.7.1-2.P2.fc13.i686
  3. $ rpm -q bind-chroot
  4. bind-chroot-9.7.1-2.P2.fc13.i686



熟悉默认配置/etc/named.conf

Conf代码

// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { // 定义全局变量 listen-on port 53 { 127.0.0.1; }; // ipv4 监听端口 listen-on-v6 port 53 { ::1; }; // ipv6 监听端口 directory "/var/named"; // 制定装载zone区域文件的目录 dump-file "/var/named/data/cache_dump.db"; // cache statistics-file "/var/named/data/named_stats.txt"; // statistics memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; // 允许访问列表 recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; }; // "}"后也得分号结束 logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { // "."代表根区域 type hint; // 根区域的类型就为hint file "named.ca"; // 指定zone文件,默认已经生成 }; include "/etc/named.rfc1912.zones";


注意,在最后一行还include一个conf文件,将本地地址都进行了映射。

我们需要修改option的内容,并且添加新的zone:

Zone代码

option { listen-on port 53 { 127.0.0.1; 192.168.60.14; // 为局域网其它机器提供Named服务,必须监听向本机IP发出的请求 }; ... forwarders { // 添加forwarders,指向其它DNS服务器 202.106.196.115; }; allow-query{ any; }; // 开放访问权限 ... }; zone "groupon.cn" IN { // 解析groupon.cn type master; file "named.groupon.cn"; // 自定义的域名到IP的正向解析配置 }; zone "60.168.192.in-addr.arpa" IN { // 本地内网为192.168.60.x type master; file "named.192.168.60"; // 自定义的IP到域名的反向解析配置 };



至此看来,named.conf的配置并不复杂,不过接下来的zone文件的配置就会改变你的看法。
熟悉默认配置/var/named/named.localhost

Zone代码

; 注意,zone文件的注释是以分号";"开始的。 $TTL 1D ; 生存期, 默认单位为秒,另可设定为[W|D|H|M] ; [zone] IN SOA [主机名] [管理员email] ([五组更新时间参数]) ; @=>zone IN SOA @=>主机名 rname.invalid.=>email ; @代表根域 ; rname.invalid.解析为rname@invalid,第一个"."为"@"的替代,尾部的"."为根域,表明其为绝对URL。 @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ ; 直接输入域名,访问@ A 127.0.0.1 ; 直接输入域名,解析到的IPV4的IP AAAA ::1 ; 直接输入域名,解析到的IPV6的IP



现在开始建立正向解析文件:/var/named/named.groupon.cn

Zone代码

$TTL 1D @ IN SOA @ root.groupon.cn. ( 2010110901 28800 14400 3600000 86400 ) IN NS @ ; 直接输入域名,访问@ IN A 221.123.177.226 ; 直接输入域名(www),解析到的外网IP store IN A 192.168.60.42 ; 输入子域名,解析到的内网IP img IN A 192.168.60.43



建立反向解析文件:/var/named/named.192.168.60

Zone代码

$TTL 1D @ IN SOA 60.168.192.in-addr.arpa. root.groupon.cn. ( 2010110901 28800 14400 3600000 86400 ) @ IN NS www.groupon.cn. 42 IN PTR store.groupon.cn. ; 192.168.60.42 -> store 43 IN PTR img.groupon.cn. ; 192.168.60.43 -> img



配置完毕,检查配置文件的正确性:

Sh代码

  1. # /usr/sbin/named-checkconf -z
  2. zone localhost/IN: loaded serial 0
  3. zone 60.168.192.in-addr.arpa/IN: loaded serial 2010110901
  4. zone groupon.cn/IN: loaded serial 2010110901


看来一切正常, 这时就可以启动named服务器了。

Sh代码

  1. # /sbin/service named start
  2. Starting named: [ OK ]



还要做的就是开通端口,并在客户端设定DNS地址为该服务器地址,强制刷新dns和测试:

Cmd代码

> ipconfig /flushdns Windows IP Configuration Successfully flushed the DNS Resolver Cache. > nslookup *** Can't find server name for address 192.168.60.36: Non-existent domain *** Default servers are not available Default Server: UnKnown Address: 192.168.60.36 > groupon.cn Server: UnKnown Address: 192.168.60.36 Name: groupon.cn Address: 221.123.177.226 > store.groupon.cn Server: UnKnown Address: 192.168.60.36 Name: store.groupon.cn Address: 192.168.60.42 > 192.168.60.42 Server: UnKnown Address: 192.168.60.36 Name: store.groupon.cn Address: 192.168.60.42



大功告成!

参考:
文件:/etc/named.rfc1912.zones

Conf代码

// named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zones recommended by // RFC 1912 section 4.1 : localhost TLDs and address zones // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example named configuration files. // zone "localhost.localdomain" IN { type master; file "named.localhost"; allow-update { none; }; }; zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.empty"; allow-update { none; }; };


文件:/var/named/named.loopback

Zone代码

$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 PTR localhost.


文件:/var/named/named.empty

Zone代码

$TTL 3H @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 19:20:28

Python构建生产级AI服务骨架:5个落地必备模块

1. 项目概述:这不是一个“玩具服务器”,而是一套可落地的AI服务骨架我用 Python 搭建过不下二十个 AI 后端服务,从给设计团队做图生图 API,到给销售部门跑客户邮件自动摘要,再到给工厂产线做缺陷图像分类接口——它们形…

作者头像 李华
网站建设 2026/6/18 19:19:21

Ubuntu系统CUDA安装全攻略:从版本匹配到深度学习环境部署

1. 项目概述:为什么在Ubuntu上安装CUDA是个技术活? 如果你正在Ubuntu上折腾AI、深度学习或者高性能计算,那么“安装CUDA”这个任务大概率是你绕不开的一道坎。这听起来像是一个简单的软件安装,但实际动手后,很多朋友会…

作者头像 李华
网站建设 2026/6/18 19:14:36

VB6 VBFlexGrid控件实现可点击删除链接与行删除功能详解

1. 项目概述与核心需求解析 最近在维护一个老旧的VB6项目时,遇到了一个挺有意思的需求。项目里用到了一个经典的表格控件 VBFlexGrid1 ,用户希望将表格第二列里所有显示为“删除”的单元格,变成可以点击的链接。点击这个“链接”后&#xf…

作者头像 李华
网站建设 2026/6/18 19:08:20

AI绘画版权困局:训练数据、风格侵权与创作者防御体系

1. 这不是技术升级,而是一场创作权的重新分配“Paint, Pixels, and Plagiarism”——这个标题里三个词的并置本身就带着刺。Paint(颜料)代表手作的温度、失误的痕迹、松节油混着亚麻籽油在画布上缓慢氧化的气味;Pixels&#xff08…

作者头像 李华
网站建设 2026/6/18 19:08:00

TensorFlow模型转Core ML实战:保真转换、验证与优化全指南

1. 为什么今天还要认真对待 Core ML 模型转换这件事?CoreML 这个词,现在听上去可能有点“老派”——毕竟 iOS 生态里已经跑起了 VisionKit、Create ML、甚至 Swift for TensorFlow 的影子。但如果你真正在一线做过 iOS 端 AI 功能落地,就会发…

作者头像 李华