VMware云平台前置——DNS服务器部署

VMware云平台与DNS的关联

  1. 名称解析的必要性
    VMware vSphere(包括vCenter Server、ESXi主机等)通常需要DNS来解析主机名和IP地址。
    如果没有正确配置DNS,可能会导致组件间通信失败或不稳定,影响功能如集群管理、vMotion、vSAN等。
  2. vCenter Server依赖
    vCenter Server的部署需要解析其FQDN(完全限定域名)。
    建议在DNS中提前设置vCenter和其他关键组件的正向和反向解析记录,以避免在安装和配置中出错。
  3. 多站点或分布式部署
    如果你的VMware环境是跨站点或多数据中心的,DNS可以帮助简化管理和服务发现。
  4. 最佳实践
    配置DNS时,确保有一个稳定的、低延迟的DNS服务器。
    建议使用内部DNS服务器,并确保所有VMware组件(如ESXi主机、vCenter Server、NSX、vRealize Suite等)能正确解析名称。
    如果DNS服务暂时不可用,可以通过IP地址完成一些基础操作,但长期来看,会影响管理效率和系统功能。

CentOS 7 配置 DNS 服务器教程

在 Linux 系统上配置 DNS 服务器,可以使用 BIND(Berkeley Internet Name Domain)。以下是详细步骤:


前提条件

  1. 一台运行 CentOS 7 的服务器。
  2. 拥有 root 权限。
  3. 规划好要配置的域名(例如:ceshi.com)和相关的 IP 地址。

1. 规划当前环境

用处 主机名 ip地址
DNS和NTP服务器 ceshi 192.168.60.10
ESXI主机1 esxi1 192.168.60.101
ESXI主机2 esxi2 192.168.60.102
Vcenter vcenter 192.168.60.100

根据该IP表创建DNS服务器,同时配置上可以使用的yum源以方便下面安装所需软件。

2. 安装 BIND 软件包

使用以下命令安装 BIND:

sudo yum install bind -y

image


3. 配置 BIND 主配置文件

编辑主配置文件

BIND 的主配置文件路径为 /etc/named.conf。使用以下命令编辑文件:

sudo vim /etc/named.conf

修改允许的查询范围

在文件中找到 options 部分

options {
        listen-on port 53 { 127.0.0.1; };	# 只监听本地地址127.0.0.1的端口53(DNS默认端口)
        listen-on-v6 port 53 { ::1; };	# 只监听IPv6本地地址::1的端口53(DNS默认端口)
        directory "/var/named";	# 指定BIND数据库文件和其他数据文件的存放目录
        dump-file "/var/named/data/cache_dump.db";	# 存储缓存数据的文件路径
        statistics-file "/var/named/data/named_stats.txt";	# 存储BIND服务器统计信息的文件路径
        memstatistics-file "/var/named/data/named_mem_stats.txt";	# 存储BIND服务器内存使用情况统计信息的文件路径
        recursing-file "/var/named/data/named.recursing";	# 存储递归查询状态的文件路径
        secroots-file "/var/named/data/named.secroots";	# 存储DNSSEC根密钥文件的路径
        allow-query { localhost; };	# 只允许来自localhost(本机)的查询
};

主要修改以下两句,并且修改为以下内容:

listen-on port 53 { any; };
allow-query     { any; };
#本次修改意味着 DNS 服务器不仅在本地接口上监听,还会接受来自任何外部主机的查询请求。
#因此,如果是生产环境中并且想要限制某些网络的访问,通常会将 allow-query 改为特定的 IP 地址或网络范围,而不是 { any; }。

image

修改区域配置文件(方法一)

BIND 的个预配置文件文件路径为 /etc/named.rfc1912.zones。使用以下命令编辑文件:

sudo vim /etc/named.rfc1912.zones

在文件底部添加如下内容,写入你需要的正向反向解析域:

zone "ceshi.com" IN {
        type master;  # 该服务器为主服务器,负责管理 ceshi.com 区域的数据
        file "ceshi.com.zone";  # 存储 ceshi.com 域名解析记录的文件
        allow-update { none; };  # 不允许动态更新,不接受任何更新请求
};

zone "60.168.192.in-addr.arpa" IN {         #192.168.60.0/24 对应反向区域为 60.168.192.in-addr.arpa。
                                            #若 IP 地址超出该范围,解析将失败。
        type master;  # 该服务器为主服务器,负责管理 60.168.192.in-addr.arpa 区域的反向解析数据
        file "ceshi.com.loopback";  # 存储 60.168.192.in-addr.arpa 区域反向解析记录的文件
        allow-update { none; };  # 不允许动态更新,不接受任何更新请求
};

image

修改区域配置文件(方法二)

直接在主配置文件named.conf写入正反向解析

zone "ceshi.com" {
    type master;
    file "/var/named/ceshi.com.zone";
};


zone "60.168.192.in-addr.arpa" IN {
        type master;
        file "ceshi.com.loopback";
};

补充

文件比较:named.conf vs named.rfc1912.zones

1. named.conf

概述

  • named.conf 是 BIND DNS 服务器的主配置文件。
  • 它包含了所有的 DNS 区域配置、服务器设置、日志设置等。
  • named.conf 文件在启动 BIND 服务时被加载,定义了整个 DNS 服务的工作方式。
  • 在这个文件中可以配置正向和反向区域、DNS 服务器的选项、访问控制、缓存设置等。

特点

  • 主配置文件:包含 DNS 服务器的全局设置,所有区域和服务器设置都需要在这个文件中配置。
  • 灵活配置:你可以在 named.conf 中配置自定义的域名区域、转发器、区域文件的路径等。
  • 包含其他配置文件:可以通过 include 指令包含其他配置文件,如 named.rfc1912.zones,以便将常用配置集中管理。
  • 优先级较高named.conf 中的配置会覆盖其他包含文件中的配置,具有最高优先级。

2. named.rfc1912.zones

概述

  • named.rfc1912.zones 文件是一个预配置文件,通常包含一些常见的 DNS 区域配置,例如回环地址和反向解析区域等。
  • 它通常通过 named.conf 文件的 include 指令被包含进来。
  • 这个文件的目的是简化和集中管理常见的 DNS 配置。

特点

  • 常见配置集中管理:用于存放一些常见的、标准的 DNS 区域配置,避免在主配置文件中冗长的设置。
  • 默认配置:包括一些标准的 DNS 区域设置(例如回环区域和反向解析区域),便于管理。
  • 可扩展性:可以通过 include 指令将 named.rfc1912.zones 文件包含到 named.conf 中,这样可以减少 named.conf 文件的复杂性。
  • 不适用于复杂配置:通常不用于复杂或特定的区域配置,而是用于常规的标准区域,如反向解析和回环地址等。

3. 区别总结

特点 named.conf named.rfc1912.zones
功能 主配置文件,管理 DNS 服务的所有配置 用于集中管理常见的标准 DNS 区域配置
包含配置 可以包含所有 DNS 区域和服务器设置,支持高级自定义配置 存放常见的 DNS 区域配置,如回环地址和反向解析等
灵活性 非常灵活,可以配置任何自定义的区域和选项 主要用于标准的、默认的配置,灵活性较低
优先级 配置项的优先级高于 named.rfc1912.zones 中的配置 配置项通常是默认的,不覆盖主配置文件中的设置

4. 创建区域文件

进入 /var/named 目录

sudo cd /var/named/

创建你的刚刚在named.rfc1912.zones定义的正向反向解析区域文件:

sudo cp -p named.localhost ceshi.com.zone
sudo cp -p named.loopback ceshi.com.loopback
#named.localhost和named.loopback分别为正向解析和反向解析的模版文件

进入ceshi.com.zone填写以下内容(将 ntp等 和 IP 地址替换为你的实际值):

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
ntp     A       192.168.60.10
vcenter A       192.168.60.100
esxi1   A       192.168.60.101
esxi2   A       192.168.60.102

进入ceshi.com.loopback填写以下内容(将 域名 和 主机号 替换为你的实际值):

$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.
10      PTR     ntp.ceshi.com.              #在域名后一定要加点
100     PTR     vcenter.ceshi.com.
101     PTR     esxi1.ceshi.com.
102     PTR     esxi2.ceshi.com.

5. 检测文件是否正确修改

确保区域文件和相关目录的权限正确:

named-checkzone ceshi.com /var/named/ceshi.com.zone	#检测配置文件是否正常
named-checkzone 60.168.192.in-addr.arpa /var/named/ceshi.com.loopback	#检测区域文件是否正常

正常的话返回如下图结果
image


6. 启用 BIND,关闭防火墙

启动 BIND 服务并设置开机自启:

sudo systemctl start named
sudo systemctl enable named
sudo systemctl status named

关闭防火墙

systemctl  stop  firewalld        #停止服务“firewalld”
setenforce  0            #关闭防火墙

如果不想直接关闭防火墙的话可以运行如下命令,进行定向放通

sudo firewall-cmd --permanent --add-port=53/tcp
sudo firewall-cmd --permanent --add-port=53/udp
sudo firewall-cmd --reload

7. 安装DNS测试根据

centos7在最小化安装的情况下可能没有nslookup和dig的包:

sudo yum install -y bind-utils

8. 测试 DNS 服务器

使用 dignslookup 测试你的 DNS 服务器:

测试域名解析

nslookup ceshi.com

测试子域名解析

nslookup ntp.ceshi.com

image

IP地址反向解析

nslookup 192.168.60.10

image


DIG正反向解析测试

dig ceshi.com
dig -x 192.168.60.10

结果如下图
image
image

总结

以上步骤完成后,你已经成功在 CentOS 7 上配置了一个基本的 DNS 服务器。在后面安装Vcenter时Vcenter安装程序就会根据DNS自动输入域名。

posted @ 2025-01-09 11:31  MiyauchiRenge  阅读(255)  评论(0)    收藏  举报