从零开始:Windows与Linux搭建局域网DNS全攻略

简介: 目录 从零开始:Windows与Linux搭建局域网DNS全攻略Windows 操作1. 安装 DNS 服务器2. 配置 DNS 服务器域名映射到多个 IP 的配置实例 3. 配置客户端4. 测

目录

从零开始:Windows与Linux搭建局域网DNS全攻略Windows 操作1. 安装 DNS 服务器2. 配置 DNS 服务器域名映射到多个 IP 的配置实例

3. 配置客户端4. 测试 DNS 解析5. IP 绑定(通过 DHCP)

Linux 操作(以 CentOS 为例)1. 安装 DNS 服务器(BIND)2. 配置 DNS 服务器域名映射到多个 IP 的配置实例

3. 配置客户端4. 测试 DNS 解析5. IP 绑定(通过 DHCP)

总结

从零开始:Windows与Linux搭建局域网DNS全攻略

以下是在 Windows 和 Linux 系统上分别搭建局域网 DNS 服务器并实现 IP 绑定的详细步骤。同时,我会提供一个域名映射到多个 IP 的配置实例,适用于需要负载均衡等场景。操作将分为 Windows 和 Linux 两部分独立说明。

Windows 操作

1. 安装 DNS 服务器

打开“服务器管理器”(Server Manager)。点击“添加角色和功能”(Add Roles and Features)。在角色列表中选择“DNS 服务器”(DNS Server),按照向导完成安装。

2. 配置 DNS 服务器

打开“DNS 管理器”(DNS Manager)。在左侧树状结构中,右键点击“正向查找区域”(Forward Lookup Zones),选择“新建区域”(New Zone)。选择“主要区域”(Primary Zone),点击“下一步”。输入区域名称,例如 local,完成区域创建。在新建的 local 区域下,右键选择“新建主机(A记录)”(New Host (A))。输入主机名和 IP 地址,例如:

主机名:serverIP 地址:192.168.1.100点击“添加主机”完成记录创建。

域名映射到多个 IP 的配置实例

若需将同一域名映射到多个 IP(例如实现简单的负载均衡),重复添加 A 记录:

在同一区域(local)下,继续创建 A 记录:

主机名:server,IP:192.168.1.100主机名:server,IP:192.168.1.101 配置完成后,server.local 将解析到 192.168.1.100 和 192.168.1.101,客户端查询时会轮询返回这些 IP。

3. 配置客户端

打开“网络和共享中心” > “更改适配器设置”。右键网络连接,选择“属性”。双击“Internet 协议版本 4 (TCP/IPv4)”。在“首选 DNS 服务器”中输入 DNS 服务器的 IP,例如 192.168.1.10。

4. 测试 DNS 解析

在客户端命令行运行:

nslookup server.local

应返回配置的 IP 地址,例如 192.168.1.100 和 192.168.1.101。

5. IP 绑定(通过 DHCP)

打开“DHCP 管理器”(DHCP Manager)。在左侧树状结构中,展开服务器,右键“IPv4”,选择“新建保留”(New Reservation)。输入以下信息:

名称:serverIP 地址:192.168.1.100MAC 地址:00-11-22-33-44-55 保存后,该设备将始终获得固定 IP。

Linux 操作(以 CentOS 为例)

1. 安装 DNS 服务器(BIND)

更新系统:sudo yum update -y

安装 BIND 软件:sudo yum install bind bind-utils -y

启动服务并设置开机自启:sudo systemctl start named

sudo systemctl enable named

2. 配置 DNS 服务器

编辑主配置文件 /etc/named.conf:options {

listen-on port 53 { any; }; # 监听 53 端口

allow-query { localhost; 192.168.1.0/24; }; # 允许查询的范围

recursion yes; # 启用递归查询

};

zone "local" IN {

type master; # 主区域

file "/var/named/local.zone"; # 区域文件路径

};

创建区域文件 /var/named/local.zone:$TTL 1D

@ IN SOA ns.local. admin.local. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS ns.local.

ns IN A 192.168.1.10 # DNS 服务器自身 IP

server IN A 192.168.1.100 # 主机 A 记录

设置文件权限:sudo chown named:named /var/named/local.zone

重启服务:sudo systemctl restart named

域名映射到多个 IP 的配置实例

若需将同一域名映射到多个 IP,在 /var/named/local.zone 中添加多条 A 记录:

server IN A 192.168.1.100

server IN A 192.168.1.101

保存后重启服务:sudo systemctl restart named

此时,server.local 将解析到 192.168.1.100 和 192.168.1.101,客户端查询时会轮询返回。

3. 配置客户端

编辑 /etc/resolv.conf:

nameserver 192.168.1.10

4. 测试 DNS 解析

在客户端运行来查看域名对应的ip(也可ping域名查看):

dig server.local

应返回配置的 IP 地址,例如 192.168.1.100 和 192.168.1.101。 以下为执行结果示例(仅配置192.168.1.100):

(base) [root@localhost ~]# dig server.local

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> server.local

;; global options: +cmd

;; Got answer:

;; WARNING: .local is reserved for Multicast DNS

;; You are currently testing what happens when an mDNS query is leaked to DNS

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45324

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;server.local. IN A

;; ANSWER SECTION:

server.local. 86400 IN A 192.168.1.100

;; AUTHORITY SECTION:

local. 86400 IN NS ns.local.

;; ADDITIONAL SECTION:

ns.local. 86400 IN A 192.168.1.10

;; Query time: 0 msec

;; SERVER: 192.168.1.10#53(192.168.1.10)

;; WHEN: Tue Apr 08 14:04:10 CST 2025

;; MSG SIZE rcvd: 90

5. IP 绑定(通过 DHCP)

(IP 绑定)是通过 DHCP 服务器为特定设备的 MAC 地址分配固定 IP,确保设备在每次连接网络时获得与 DNS 记录一致的 IP 地址。但如果客户端已经手动配置了静态 IP(例如,通过操作系统网络设置指定了 IP 地址),那么 DHCP 服务器的分配机制就不会生效,因为客户端不会向 DHCP 请求 IP。因此,在这种情况下,配置 DHCP 的 IP 绑定是多余的。 不过,你需要确保以下两点:

客户端的静态 IP 与 DNS 配置一致:例如,如果你在 DNS 中将 server.local 映射到 192.168.1.100,客户端的静态 IP 必须设置为 192.168.1.100,否则域名解析会指向错误的地址。网络中无 IP 冲突:静态 IP 需要手动管理,避免与 DHCP 动态分配的地址或其它设备的静态 IP 重复。

安装 DHCP 服务:sudo yum install dhcp -y

编辑配置文件 /etc/dhcp/dhcpd.conf:subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.50 192.168.1.200;

}

host server {

hardware ethernet 00:11:22:33:44:55; # MAC 地址

fixed-address 192.168.1.100; # 固定 IP

}

启动服务:sudo systemctl start dhcpd

sudo systemctl enable dhcpd

总结

以上是在 Windows 和 Linux 上搭建局域网 DNS 服务器并实现 IP 绑定的完整步骤。两者的核心思路一致,但配置工具和文件路径不同。域名映射到多个 IP 的实例通过添加多条 A 记录实现,适用于负载均衡等需求。完成后,客户端即可通过域名访问指定 IP,且 DHCP 可确保设备获得固定 IP 地址。