分享
 
 
 

建立DNS域名服务器

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

在 “ TCP/IP” 的 网 路 世 界 里 , 每 部 电 脑 的 身 分 都 是 由 4 个

数 字 所 组 成 的 “ IP Address” 来 辨 识 ( 例 如 168.95.192.1 ) , 这 些

数 字 号 码 就 像 是 我 们 的 身 分 证 号 码 一 样 , 某 些 部 份 数 字 分

别 代 表 不 同 的 意 义 。 当 我 们 在 使 用 网 际 网 路 资 源 时 , 如 果

直 接 使 用 “ IP Address” 来 进 行 连 线 , 那 是 最 直 接 不 过 了 ! 但

是 , 全 部 数 字 化 的 位 址 在 使 用 上 真 的 有 些 不 够 友 善 , 光 是

记 一 堆 数 字 就 够 头 疼 的 了 !

网 路 位 址 vs. 主 机 名 称

还 好 , 提 供 “ TCP/IP” 网 路 服 务 的 作 业 系 统 都 提 供 系 统

管 理 者 可 以 建 立 一 个 名 叫 “ HOSTS” 的 档 案 ( 例 如 Linux/UNIX中

的 /etc/hosts) , 在 这 个 系 统 档 案 档 案 里 , 系 统 管 理 者 可 以 将

已 知 的 网 路 机 器 分 别 赋 予 一 个 「 主 机 名 称 」 并 且 相 对 映 该

机 器 的 “ IP Address” 。 如 此 一 来 , 在 进 行 网 路 连 线 时 , 使 用

者 就 不 必 一 定 要 直 接 指 定 “ IP Address” 来 连 线 , 因 为 系 统 可

以 提 供 应 用 程 式 透 过 “ HOSTS” 中 所 提 供 的 「 主 机 名 称 与 位 址

对 照 资 料 」 取 得 该 「 主 机 名 称 」 的 「 网 路 位 址 」 。

这 样 子 , 使 用 网 路 程 式 时 是 方 便 多 了 , 但 是 , 国 际 网

路 的 机 器 成 千 上 万 , 如 果 只 是 利 用 “ HOSTS” 的 方 式 来 处 理

主 机 名 称 」 与 「 网 路 位 址 」 的 对 映 工 作 , 那 实 在 是 件 很 没

效 率 又 几 乎 不 可 能 的 事 。 所 以 , 如 果 网 路 使 用 的 领 域 只 是

单 纯 的 内 部 网 路 , 因 为 机 器 数 目 不 多 的 情 形 , 那 麽 使 用

HOSTS” 就 可 以 应 付 网 路 连 线 上 的 需 求 了 。

为 了 因 应 大 型 网 路 上 「 主 机 名 称 」 与 「 网 路 位 址 」 对

映 的 需 求 , 就 有 所 谓 建 立 「 名 称 伺 服 器 」 来 负 责 以 「 主 机

名 称 」 查 询 「 网 路 位 址 」 的 工 作 , 依 据 建 立 的 架 构 方 式 大

致 有 两 种 , “ Domain Name System” ( 简 称 : DNS) 、 “ NFS Network

Information Service” ( 简 称 : NIS) 。 我 们 都 可 以 在 Linux系 统 中

架 设 这 两 种 服 务 程 式 。

“ NIS” 较 早 是 由 Sun所 提 出 的 解 决 方 案 , 运 用 “ RPC” 的

功 能 来 提 供 解 决 「 主 机 名 称 与 位 址 」 的 查 询 , “ NIS” 的 伺

服 程 式 大 都 是 以 “ yp” 起 头 的 程 式 档 案 ( ypbind、

ypinit....) 。 笔 者 并 不 准 备 在 这 里 说 明 “ NIS” 伺 服 器 的 建 立

方 式 。 而 是 将 焦 点 摆 在 「 建 立 DNS名 称 伺 服 器 」 的 话 题 上 。

DNS服 务 型 态 的 种 类

时 下 在 国 际 网 路 上 所 存 在 的 「 名 称 伺 服 器 」 一 般 都 是

属 於 DNS伺 服 器 , 因 此 笔 者 才 会 将 焦 点 放 在 “ DNS” 的 建 立

上 。 由 於 “ DNS” 已 经 有 个 相 当 标 准 的 规 定 , 因 此 虽 然 不 同

平 台 上 作 业 系 统 可 能 有 相 当 的 差 异 , 但 是 建 立 “ DNS Server”

的 方 式 可 能 都 非 常 类 似 。 而 对 於 使 用 “ DNS” 的 方 式 也 是 大

同 小 异 。 关 於 使 用 或 架 设 “ DNS” 的 部 份 , 可 以 大 致 归 为 下

面 几 类 :

● 使 用 远 端 名 称 伺 服 器 :

如 果 自 己 主 机 上 并 没 有 架 设 “ DNS” , 可 以 设 定 一 台 已

知 的 「 名 称 伺 服 器 」 作 为 本 主 机 网 路 连 线 时 的 名 称 资 讯 的

提 供 者 。 在 Linux 系 统 中 , 我 们 可 以 藉 由 “ /etc/resolv.conf” 这

个 系 统 参 数 档 案 来 指 定 本 主 机 的 「 远 端 名 称 伺 服 器 」 。 例

如 :

simon:~# cat /etc/resolv.conf

#

#电 信 局 HINET的 名 称 伺 服 器 为 168.95.192.1

#下 面 就 设 定 该 主 机 为 本 主 机 的 「 名 称 伺 服 器 」

#

#

nameserver 168.95.192.1

#

#

一 般 使 用 者 环 境 大 都 是 属 於 这 一 类 的 使 用 型 态 。

● 所 谓 “ Cache-Only ” 的 名 称 伺 服 器 :

一 个 「 名 称 伺 服 器 」 也 不 可 能 拥 有 国 际 网 路 上 所 有 的

主 机 资 讯 , 因 此 它 提 供 一 个 转 送 方 式 , 将 自 己 「 名 称 伺 服

器 」 无 法 处 理 的 「 查 询 要 求 」 转 送 至 上 一 层 的 「 名 称 伺 服

器 」 查 询 , 然 後 将 所 得 到 的 查 询 结 果 , 传 送 给 提 出 查 询 要

求 的 主 机 。

而 “ Cache-Only” 的 “ DNS” 就 是 该 伺 服 器 的 主 机 资 讯 里 除

了 自 己 之 外 就 没 有 了 , 它 将 所 有 的 查 询 要 求 都 转 送 至 其 他

伺 服 器 去 查 询 。

● “ Primary” 名 称 伺 服 器 :

一 个 完 整 功 能 的 「 名 称 伺 服 器 」 , 管 理 一 个 或 数 个

Domain” 的 机 器 资 讯 。 而 这 些 主 机 相 关 的 资 料 都 依 照 格 式 储

存 於 伺 服 器 的 档 案 目 录 中 , 然 後 会 在 伺 服 器 启 动 时 将 这 些

资 料 读 入 系 统 。

● “ Secondary” 名 称 伺 服 器 :

基 本 上 它 也 是 一 个 完 整 功 能 的 「 名 称 伺 服 器 」 , 只 是

所 不 同 的 是 , 它 的 主 机 资 料 并 非 完 全 储 存 於 伺 服 器 所 在 的

档 案 目 录 , 而 由 某 个 “ Primary DNS” 来 提 供 。

在 本 次 的 主 题 里 , 我 们 会 就 以 建 立 “ Cache-Only” 以 及

Primary” 的 名 称 伺 服 器 做 个 范 例 说 明 。

使 用 BIND-4.9.6建 立 DNS Server

在 Linux系 统 里 , 我 们 使 用 “ BIND” ( Berkeley Internet Name

Domain Name Server) 来 建 立 我 们 的 「 名 称 伺 服 器 」 。

BIND” 这 个 软 体 每 个 Linux安 装 套 件 都 会 有 , 所 以 你 只 要

确 定 在 安 装 时 把 “ BIND” 软 体 安 装 至 Linux系 统 中 , 那 麽 就 已

经 具 备 建 立 “ DNS Server” 的 软 体 环 境 了 。 不 过 在 架 设 “ DNS”

之 前 , 笔 者 建 议 读 者 最 好 能 够 对 於 网 路 主 机 名 称 的 命 名 原

则 先 有 些 概 念 ( 不 妨 参 考 前 几 期 HOPE_NET月 刊 上 的 网 路 专 题 、

或 是 坊 间 网 路 相 关 的 书 籍 , 我 就 不 在 此 详 述 ) 。 接 下 来 我

们 以 一 个 假 设 环 境 来 配 合 说 明 架 设 「 DNS名 称 伺 服 器 」 的 步

骤 。 假 设 环 境 的 一 些 情 形 如 下 :

领 域 名 称 ( Domain) : simon.net

伺 服 器 主 机 名 称 ( Host) : simon

伺 服 器 网 路 位 址 ( IP) : 192.9.100.1

根 名 称 伺 服 器 ( Root DNS) : hinet.net ( 168.95.192.1)

||||||● 建 立 “ /etc/named.boot” 启 动 设 定 档

“ BIND” 伺 服 程 式 在 启 动 时 首 先 会 读 取 “ /etc/named.boot”

这 个 控 制 档 , 因 此 首 先 就 来 进 行 “ named.boot” 的 设 定 工 作 。

(A)“ directory” 是 用 来 指 定 「 主 机 相 关 资 讯 」 资 料 档 案 的 所

在 目 录 。

(B)“ named.boot” 一 般 常 用 到 的 资 料 格 式 为 「 格 式 、 领 域 、 来

源 主 机 或 档 案 、 备 份 档 案 名 称 」 , 除 了 设 定 “ Secondary DNS”

时 较 会 用 到 备 份 档 案 这 个 栏 位 外 , 其 馀 大 都 只 用 到 前 叁 个

栏 位 。 关 於 档 案 名 称 部 份 并 没 有 限 制 , 除 了 “ named.boot” 不

可 变 更 之 外 , 其 他 的 主 机 资 料 档 案 可 以 自 行 指 定 名 称 。 (图

一)

(C)“ cache” 表 示 在 < root.cache> 这 个 档 案 设 定 着 本 伺 服 器 的

上 层 网 路 名 称 伺 服 器 。

“ primary” 则 分 别 设 定 每 个 指 定 「 领 域 」 的 主 机 的 资 料

档 案 。

(D)在 「 领 域 」 这 个 栏 位 中 「 .」 代 表 “ OTHER” , 在 本 例 子

中 , 如 果 查 询 的 主 机 所 在 领 域 并 未 特 别 定 义 时 , 则 使 用

cache」 的 设 定 转 至 上 层 名 称 伺 服 器 查 询 。 而 对 於 我 们 自 己

管 理 的 「 领 域 」 则 可 以 使 用 “ primary” 、 “ secondary” 来 定 义

各 别 「 领 域 」 主 机 资 料 纪 录 所 在 。

< simon.net> 是 一 般 主 机 名 称 的 形 式 , 有 些 时 候 使 用 者

会 以 “ IP Address” 来 查 询 主 机 资 讯 , 对 此 需 求 , 也 可 以 参 照

< 100.9.192.INADDR.ARPA> 的 格 式 来 定 义 < 192.9.100.x> 的 主 机 资

讯 。

● 建 立 “ /etc/named.hosts” 主 机 资 料

在 本 例 中 “ named.hosts” 被 指 定 为 储 存 < simon.net> 这 个 网

路 上 主 机 资 料 , 因 此 我 们 就 必 须 将 本 网 路 上 的 主 机 资 料 全

部 建 立 在 这 个 资 料 档 案 中 。

(A)“ SOA” 这 个 栏 位 在 每 个 「 领 域 」 资 料 档 中 只 能 有 一 个 。

(B)指 定 < postmaster@simon.simon.net > 是 本 名 称 伺 服 器 的 联 络 人

邮 件 信 箱 。

(C)< simon IN A 192.9.100.1> 表 示 “ simon.simon.net” 这 台 主 机 的

位 址 」 是 < 192.9.100.1> , 接 下 来 的 另 一 行 并 未 指 定 哪 台 主

机 名 称 则 表 示 该 设 定 仍 是 针 对 < simon> 这 台 主 机 。 由 於 可 设

定 的 资 料 项 目 不 少 , 我 们 在 此 挑 选 常 见 的 项 目 在 此 简 要 说

明 。

< A> --指 定 网 路 位 址

< CNAME> --设 定 主 机 的 别 名 , 例 如 < simon.simon.net> 的 别 名 是

<gopher.simon.net>

< HINFO> --可 以 使 用 一 段 文 字 描 述 主 机 环 境 。

< MX> --用 来 设 定 E-Mail传 递 交 换 的 优 先 路 径 , 例 如 范 例 中 的

< simon5> 的 设 定 , < simon5.simon.net> 的 信 件 都 先 往

simon5.simon.net > 这 台 主 机 传 送 , 如 果 无 法 与 该 主 机 连 线 时

那 就 会 往 < simon.simon.net> 传 送 。

< NS> --用 来 指 定 子 网 路 的 名 称 伺 服 器 所 在 。

< PTR> --与 < A> 有 点 相 对 的 功 能 , 它 可 以 指 定 某 个 “ IP” 是

指 向 某 个 主 机 名 称 , 这 样 就 可 以 以 “ IP” 来 查 询 主 机 的 其 他

资 讯 。

● 建 立 “ /etc/named.rev”

前 面 “ named.hosts” 是 当 网 路 的 使 用 者 以 “ xxx.simon.net”

的 方 式 查 询 主 机 资 讯 时 所 参 考 的 资 料 档 , 而 这 个

“ named.rev” 功 能 则 是 提 供 使 用 者 以 「 192.9.100.x」 查 询 主 机

资 讯 时 参 考 。

;--------------------------

;/etc/root.cache

;--------------------------

. 99999999 IN NS HINET.NET

. HINET.NET 99999999 A 168.95.192.1

;------------------------- End of File

● 建 立 “ /etc/root.cache” 启 动 设 定 档

完 成 前 面 本 地 网 路 的 主 机 资 料 的 建 立 工 作 後 , 再 来 就

是 设 定 本 伺 服 器 的 「 根 伺 服 器 」 ( Root Name Server) 。 下 列 应

该 是 最 简 单 的 设 定 内 容 了 , 读 者 不 妨 参 照 此 设 定 。

● 启 动 “ BIND” 伺 服 程 式

完 成 这 些 主 机 资 讯 的 建 立 工 作 後 , 最 重 要 的 工 作 就 是

启 动 “ BIND” 的 伺 服 程 式 < Named> , 你 可 以 直 接 以 系 统 使 用

者 的 身 分 执 行 此 程 式 , 在 执 行 後 , 建 议 您 最 好 执 行 < Ps> 指

令 检 查 一 下 < Named> 是 否 成 功 执 行 。 如 果 执 行 < Ps> 有 见 到

< Named> 那 表 示 主 要 的 控 制 档 内 容 无 误 。

然 後 , 你 最 好 将 启 动 「 名 称 伺 服 程 式 」 的 工 作 加 入

Linux系 统 启 动 程 序 中 。 以 “ Slackware Linux” 为 例 , 请 修 改

/etc/rc.d/rc.inet2” 这 个 档 案 中 关 於 < Named> 的 设 定 , 如 下 的

内 容 。

#/etc/rc.d/rc.inet2

. . . . . # Start the NAMED/BIND name server.

if [ -f ${NET}/named ]; then

echo -n “ named”

${NET}/named

fi

. . . . . .

. . . . . . .

这 样 子 , 在 下 次 启 动 系 统 时 就 会 自 动 执 行 “ BIND” 伺 服

程 式 , 而 您 的 Linux也 就 具 有 “ DNS Server” 的 功 能 了 。

测 试 查 询 「 名 称 伺 服 器 」 的 运 作

为 了 确 定 「 名 称 伺 服 器 」 的 运 作 正 常 , 因 此 在 此 提 供

一 些 测 试 的 方 式 供 做 参 考 。

●使 用 < Ping >

直 接 使 用 < Ping主 机 名 称 > 的 方 式 来 测 试 是 否 可 以 成

功 , 这 是 最 简 单 的 方 式 , 而 在 测 试 过 程 除 了 与 自 己 网 路 上

主 机 连 线 之 外 , 最 好 也 要 对 外 连 线 , 以 便 测 试 < Cache> 的 设

定 是 否 正 确 。 使 用 < FTP> < Telnet> 等 网 路 程 式 进 行 连 线 也

可 以 达 到 同 样 的 目 的 。

● 使 用 < Nslookup>

使 用 < Ping> 可 能 只 参 考 到 主 机 的 “ IP” 位 址 而 已 , 而

如 要 查 询 主 机 资 讯 , 那 就 得 透 过 < Nslookup> 这 个 程 式 来 进

行 。 < Nsl -ookup> 会 与 系 统 指 定 的 「 名 称 伺 服 器 」 连 线 并 根

据 使 用 者 提 出 的 查 询 条 件 由 「 名 称 伺 服 器 」 取 得 查 询 结

果 。 以 下 是 一 些 使 用 例 子 。

重 新 读 取 「 主 机 资 料 」

因 为 伺 服 程 式 是 在 启 动 时 就 将 读 取 「 主 机 资 料 」 , 因

此 即 使 你 在 执 行 阶 段 更 改 了 主 机 资 料 的 内 容 , 仍 然 不 会 生

效 。 必 须 重 新 启 动 < Named> 才 会 使 你 更 新 过 的 资 料 生 效 。 如

果 遇 上 此 情 形 , 你 可 以 用 下 列 之 一 种 来 处 理 :

< kill -9 named的 PID> 先 杀 伺 服 程 式 , 再 重 新 执 行 乙 次 。

< kill -HUP named的 PID> 让 伺 服 程 式 进 行 重 置 的 行 为 。

执 行 〈 named.restart〉 让 重 新 伺 服 程 式 执 行 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有