RHCE实战演练:构建安全Web服务与DHCP服务器(附本地源配置详解)

📅 2026/7/6 12:19:32
RHCE实战演练:构建安全Web服务与DHCP服务器(附本地源配置详解)
1. 环境准备与本地源配置在开始构建安全Web服务和DHCP服务器之前我们需要先解决软件依赖问题。很多实验环境由于网络限制无法直接使用在线yum源这时候配置本地源就显得尤为重要。我遇到过不少学员卡在这一步导致后续实验完全无法进行。RHEL8的本地源配置和之前版本有些不同主要区别在于需要分别挂载BaseOS和AppStream两个目录。具体操作步骤如下首先挂载系统镜像到/mnt目录mount /dev/sr0 /mnt进入yum配置目录并创建本地源文件cd /etc/yum.repos.d/ touch local.repo编辑local.repo文件添加以下内容[BaseOS] nameBaseOS baseurlfile:///mnt/BaseOS enabled1 gpgcheck0 [AppStream] nameAppStream baseurlfile:///mnt/AppStream enabled1 gpgcheck0这里有个容易踩坑的地方baseurl路径必须和实际挂载路径完全一致。我有次实验时不小心把/mnt写成了/media结果yum一直报错找不到包排查了半天才发现是路径问题。配置完成后建议执行以下命令清除旧缓存并生成新缓存yum clean all yum makecache提示如果遇到Failed to mount /dev/sr0错误可能是虚拟机没有正确加载ISO镜像需要检查虚拟机的CD/DVD设置。2. 构建带认证的HTTPS Web服务2.1 基础Web服务搭建首先安装必要的httpd和mod_ssl软件包yum install -y httpd mod_ssl创建网站目录结构mkdir -p /www/{https,secret} echo zuoye /www/https/index.html echo mimi /www/https/mimi.html echo secret content /www/secret/index.html这里我建议使用mkdir -p参数它可以自动创建多级目录避免因目录不存在导致的错误。在实际生产环境中我们通常会把网站内容放在/var/www下但实验环境可以灵活处理。2.2 SSL证书配置生成SSL证书是HTTPS服务的关键步骤这里我们使用openssl自签证书cd /etc/pki/tls/certs openssl genrsa -aes128 2048 web.key openssl req -utf8 -new -key web.key -x509 -days 365 -out web.crt -set_serial 0 chmod 600 *.crt生成证书时会要求输入密码和证书信息其中Common Name要填写网站的域名(www.zuoye.com)。我建议密码设置简单些比如redhat方便实验使用。2.3 用户认证配置创建密码文件并添加用户xiaomingmkdir -p /etc/httpd/conf htpasswd -c /etc/httpd/conf/web.passwd xiaoming配置虚拟主机编辑/etc/httpd/conf.d/vhost.confVirtualHost *:22222 SSLEngine on SSLCertificateFile /etc/pki/tls/certs/web.crt SSLCertificateKeyFile /etc/pki/tls/certs/web.key DocumentRoot /www/https ServerName www.zuoye.com Directory /www/secret AuthType Basic AuthName Restricted Content AuthUserFile /etc/httpd/conf/web.passwd Require user xiaoming /Directory /VirtualHost这里有几个关键点需要注意端口号22222要和实验要求一致SSL证书路径要正确AuthUserFile路径必须和htpasswd创建的密码文件路径完全一致2.4 服务测试启动httpd服务并设置开机自启systemctl enable --now httpd在客户端测试前需要先在本机hosts文件中添加DNS解析192.168.254.135 www.zuoye.com然后就可以通过浏览器访问https://www.zuoye.com:22222和https://www.zuoye.com:22222/secret进行测试了。访问secret目录时会弹出认证窗口只有输入xiaoming的密码才能查看内容。3. 配置多网段DHCP服务器3.1 DHCP服务安装安装dhcp软件包yum install -y dhcp-serverDHCP的主配置文件是/etc/dhcp/dhcpd.conf默认情况下这个文件是空的我们需要手动创建配置。3.2 基础配置编辑/etc/dhcp/dhcpd.conf文件option domain-name example.com; ddns-update-style interim; default-lease-time 2000; max-lease-time 5000; subnet 192.168.168.0 netmask 255.255.255.0 { option domain-name-servers 192.168.168.2; range 192.168.168.1 192.168.168.254; } subnet 172.24.8.0 netmask 255.255.255.0 { option domain-name-servers 172.24.8.2; range 172.24.8.1 172.24.8.254; }这个配置为两个网段提供了基本的DHCP服务包括IP地址池和DNS服务器设置。在实际生产环境中还需要配置网关选项(option routers)。3.3 固定IP分配要为特定主机分配固定IP需要在配置文件中添加host段host client1 { hardware ethernet 00:0c:29:f6:f7:13; fixed-address 192.168.168.168; } host client2 { hardware ethernet 00:0c:29:f6:f7:1d; fixed-address 172.24.8.8; }这里需要注意hardware ethernet后面要填写客户端的真实MAC地址。我建议在虚拟机设置中先查看网卡的MAC地址确保配置正确。3.4 服务测试启动dhcpd服务systemctl enable --now dhcpd在客户端测试时可以使用dhclient命令获取IP地址dhclient -v如果一切正常客户端应该能获取到配置的IP地址。对于设置了固定IP的主机可以使用ip a命令查看是否获取到了正确的地址。4. 常见问题排查在实际操作中可能会遇到各种问题。这里分享几个我遇到过的典型问题及解决方法httpd无法启动SSL服务错误日志SSL Library Error: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak解决方法编辑/etc/httpd/conf.d/ssl.conf找到SSLProtocol行修改为SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1DHCP服务启动失败错误信息No subnet declaration for eth0解决方法确保dhcpd.conf中配置的子网包含DHCP服务器所在的网络接口。客户端获取不到IP地址可能原因防火墙未放行DHCP端口 解决方法firewall-cmd --add-servicedhcp --permanent firewall-cmd --reloadHTTPS网站无法访问检查步骤确认httpd服务正在运行检查selinux状态getenforce查看防火墙规则firewall-cmd --list-all在实验过程中我建议养成查看日志的习惯。httpd的日志在/var/log/httpd/目录下dhcpd的日志可以通过journalctl -u dhcpd查看。这些日志往往能提供解决问题的关键线索。