f 运维.售后-从零开始:Windows与Linux搭建局域网DNS全攻略 - Powered by qidao123.com技术社区

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

打印 上一主题 下一主题

主题 2120|帖子 2120|积分 6360

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
从零开始: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 地址,例如:

    • 主机名:server
    • IP 地址: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 解析

在客户端命令行运行:
  1. nslookup server.local
复制代码


  • 应返回设置的 IP 地址,例如 192.168.1.100 和 192.168.1.101。
5. IP 绑定(通过 DHCP)


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

    • 名称:server
    • IP 地址:192.168.1.100
    • MAC 地址:00-11-22-33-44-55

  • 保存后,该设备将始终获得固定 IP。

Linux 操作(以 CentOS 为例)

1. 安装 DNS 服务器(BIND)


  • 更新体系:
    1. sudo yum update -y
    复制代码
  • 安装 BIND 软件:
    1. sudo yum install bind bind-utils -y
    复制代码
  • 启动服务并设置开机自启:
    1. sudo systemctl start named
    2. sudo systemctl enable named
    复制代码
2. 设置 DNS 服务器


  • 编辑主设置文件 /etc/named.conf:
    1. options {
    2.     listen-on port 53 { any; };           # 监听 53 端口
    3.     allow-query { localhost; 192.168.1.0/24; }; # 允许查询的范围
    4.     recursion yes;                       # 启用递归查询
    5. };
    6. zone "local" IN {
    7.     type master;                         # 主区域
    8.     file "/var/named/local.zone";        # 区域文件路径
    9. };
    复制代码
  • 创建区域文件 /var/named/local.zone:
    1. $TTL 1D
    2. @       IN SOA  ns.local. admin.local. (
    3.                 0       ; serial
    4.                 1D      ; refresh
    5.                 1H      ; retry
    6.                 1W      ; expire
    7.                 3H )    ; minimum
    8.         IN NS   ns.local.
    9. ns      IN A    192.168.1.10           # DNS 服务器自身 IP
    10. server  IN A    192.168.1.100          # 主机 A 记录
    复制代码
  • 设置文件权限:
    1. sudo chown named:named /var/named/local.zone
    复制代码
  • 重启服务:
    1. sudo systemctl restart named
    复制代码
域名映射到多个 IP 的设置实例

若需将同一域名映射到多个 IP,在 /var/named/local.zone 中添加多条 A 记录:
  1. server  IN A    192.168.1.100
  2. server  IN A    192.168.1.101
复制代码


  • 保存后重启服务:
    1. sudo systemctl restart named
    复制代码
  • 此时,server.local 将解析到 192.168.1.100 和 192.168.1.101,客户端查询时会轮询返回。
3. 设置客户端

编辑 /etc/resolv.conf:
  1. nameserver 192.168.1.10
复制代码
4. 测试 DNS 解析

在客户端运行来检察域名对应的ip(也可ping域名检察):
  1. dig server.local
复制代码


  • 应返回设置的 IP 地址,例如 192.168.1.100 和 192.168.1.101。
    以下为实行结果示例(仅设置192.168.1.100):
  1. (base) [root@localhost ~]# dig server.local
  2. ; <<>> 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 服务:
    1. sudo yum install dhcp -y
    复制代码
  • 编辑设置文件 /etc/dhcp/dhcpd.conf:
    1. subnet 192.168.1.0 netmask 255.255.255.0 {
    2.     range 192.168.1.50 192.168.1.200;
    3. }
    4. host server {
    5.     hardware ethernet 00:11:22:33:44:55; # MAC 地址
    6.     fixed-address 192.168.1.100;         # 固定 IP
    7. }
    复制代码
  • 启动服务:
    1. sudo systemctl start dhcpd
    2. sudo systemctl enable dhcpd
    复制代码

总结

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表