在现代网络管理中,动态主机配置协议(DHCP)和域名系统(DNS)是两项不可或缺的核心服务,在CentOS服务器上协同配置这两项服务,可以实现网络地址的自动分配与域名的便捷解析,极大地简化了网络管理工作,本文将详细介绍在CentOS环境中配置DHCP和DNS服务的步骤与要点。

环境准备
在开始配置前,请确保您的CentOS服务器已拥有一个静态IP地址,并且系统已更新至最新,假设服务器的静态IP为168.1.10,作为网络中的DHCP和DNS服务器,确保防火墙(如firewalld)和SELinux的配置允许相关服务通过,或在配置过程中暂时关闭以便排查问题。
DHCP服务配置
DHCP服务负责为网络中的客户端自动分配IP地址、子网掩码、网关和DNS服务器等信息。
安装DHCP服务包
使用yum命令进行安装:
yum install -y dhcp
配置主配置文件
DHCP的主配置文件位于/etc/dhcp/dhcpd.conf,该文件默认内容很少,可以参考模板文件/usr/share/doc/dhcp-*/dhcpd.conf.example进行配置,以下是一个基础配置示例:
# /etc/dhcp/dhcpd.conf
option domain-name "mylocal.net"; # 定义域名
option domain-name-servers 192.168.1.10; # 指定DNS服务器地址
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
# 声明子网
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # 可分配的IP地址池
option routers 192.168.1.1; # 指定客户端的默认网关
option broadcast-address 192.168.1.255; # 广播地址
} 启动并启用服务
配置完成后,启动DHCP服务并设置其开机自启:
systemctl start dhcpd systemctl enable dhcpd
DNS服务配置
DNS服务则负责将易于记忆的域名解析为IP地址,在CentOS中,通常使用BIND(Berkeley Internet Name Domain)软件包来实现。

安装BIND服务包
yum install -y bind bind-utils
配置主配置文件
BIND的主配置文件是/etc/named.conf,主要需要修改options块中的listen-on和allow-query,确保服务监听在所有需要的网络接口上,并允许客户端查询。
options {
listen-on port 53 { any; }; # 监听所有接口
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; # 允许任何客户端查询
recursion yes;
}; 定义区域
在/etc/named.conf文件末尾添加正向解析区域和反向解析区域的定义。
zone "mylocal.net" IN {
type master;
file "mylocal.net.zone"; # 正向解析区域文件名
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone"; # 反向解析区域文件名
allow-update { none; };
}; 创建区域文件
在/var/named/目录下创建对应的区域文件,可以复制模板文件named.localhost进行修改。
正向解析文件
/var/named/mylocal.net.zone:$TTL 1D @ IN SOA ns.mylocal.net. admin.mylocal.net. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.mylocal.net. ns A 192.168.1.10 www A 192.168.1.20反向解析文件
/var/named/192.168.1.zone:
$TTL 1D @ IN SOA ns.mylocal.net. admin.mylocal.net. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.mylocal.net. 10 PTR ns.mylocal.net. 20 PTR www.mylocal.net.
启动并启用服务
systemctl start named systemctl enable named
服务验证
将客户端计算机的IP设置为自动获取(DHCP),获取到地址后,使用nslookup或dig命令测试DNS解析是否正常工作,在客户端执行nslookup www.mylocal.net,应能返回168.1.20。
相关问答 (FAQs)
问题1:客户端无法获取IP地址,怎么办?
答: 这通常有几个原因,检查服务器端的DHCP服务是否正在运行(systemctl status dhcpd),检查防火墙设置,确保DHCP服务(端口67和68)被允许通过,可以执行 firewall-cmd --add-service=dhcp --permanent && firewall-cmd --reload,检查网络连接和dhcpd.conf配置文件中的subnet声明是否与客户端所在的网络匹配。
问题2:可以ping通IP地址,但无法解析域名,是什么原因?
答: 这个问题指向DNS解析故障,确认客户端的DNS服务器地址是否已正确设置为168.1.10(通过DHCP分配或手动设置),在服务器上检查named服务状态(systemctl status named),使用named-checkzone工具检查区域文件语法是否正确,named-checkzone mylocal.net /var/named/mylocal.net.zone,检查/etc/named.conf中的allow-query设置是否允许客户端进行查询。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复