RHCE实验环境搭建:1台主机同时配置HTTPS网站与DHCP服务器的3个关键点
RHCE实战:单机部署HTTPS网站与DHCP服务的深度整合指南
1. 环境准备与本地源配置
在RHEL 8系统中同时部署HTTPS网站和DHCP服务前,合理的本地源配置是基础保障。不同于独立实验环境,综合服务部署需要更稳定的软件安装来源。
创建本地源的关键步骤:
- 挂载系统ISO镜像:
mkdir -p /mnt/dvd mount /dev/sr0 /mnt/dvd- 配置双仓库源文件:
cat > /etc/yum.repos.d/local.repo <<EOF [BaseOS] name=BaseOS baseurl=file:///mnt/dvd/BaseOS gpgcheck=0 enabled=1 [AppStream] name=AppStream baseurl=file:///mnt/dvd/AppStream gpgcheck=0 enabled=1 EOF- 验证源有效性:
yum clean all yum makecache yum repolist提示:若使用虚拟机环境,建议将ISO挂载设置为开机自动执行,避免重启后服务依赖缺失。在
/etc/fstab中添加:/dev/sr0 /mnt/dvd iso9660 defaults,ro 0 0
服务依赖安装清单:
- httpd
- mod_ssl
- dhcp-server
- openssl
- firewalld (如需)
2. HTTPS网站高级配置
2.1 证书生成与权限管理
在综合环境中,证书管理需要兼顾安全性与服务稳定性:
# 生成私钥(带密码保护) openssl genrsa -aes256 -out /etc/pki/tls/private/zuoye.key 2048 # 创建证书签名请求 openssl req -new -key /etc/pki/tls/private/zuoye.key \ -out /etc/pki/tls/certs/zuoye.csr \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Example/CN=www.zuoye.com" # 生成自签名证书 openssl x509 -req -days 365 -in /etc/pki/tls/certs/zuoye.csr \ -signkey /etc/pki/tls/private/zuoye.key \ -out /etc/pki/tls/certs/zuoye.crt # 设置权限 chmod 600 /etc/pki/tls/private/zuoye.key chmod 644 /etc/pki/tls/certs/zuoye.crt2.2 虚拟主机与访问控制
多服务共存时,虚拟主机配置需要特别注意路径隔离:
<VirtualHost *:22222> ServerName www.zuoye.com DocumentRoot /www/https SSLEngine on SSLCertificateFile /etc/pki/tls/certs/zuoye.crt SSLCertificateKeyFile /etc/pki/tls/private/zuoye.key <Directory "/www/secret"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/httpd/conf/.htpasswd Require user xiaoming </Directory> Alias /mimi /www/secret </VirtualHost>密码文件创建:
htpasswd -c /etc/httpd/conf/.htpasswd xiaoming3. DHCP服务多子网配置
3.1 主配置文件详解
在/etc/dhcp/dhcpd.conf中实现双子网支持:
option domain-name "zuoye.com"; authoritative; default-lease-time 21600; max-lease-time 43200; subnet 192.168.168.0 netmask 255.255.255.0 { range 192.168.168.100 192.168.168.200; option routers 192.168.168.1; option domain-name-servers 8.8.8.8; option broadcast-address 192.168.168.255; } subnet 172.24.8.0 netmask 255.255.255.0 { range 172.24.8.100 172.24.8.200; option routers 172.24.8.1; option domain-name-servers 1.1.1.1; option broadcast-address 172.24.8.255; } host special-client { hardware ethernet 00:0c:29:12:34:56; fixed-address 192.168.168.168; }3.2 服务启动与排错
服务管理命令:
systemctl enable --now dhcpd systemctl status dhcpd journalctl -xe -u dhcpd常见问题排查表:
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 服务启动失败 | 配置文件语法错误 | dhcpd -t测试配置 |
| 客户端获取不到IP | 防火墙阻止 | 放行UDP 67端口 |
| 地址冲突 | 地址池范围重叠 | 检查子网划分 |
| 特定子网不响应 | 接口未绑定 | 修改/etc/sysconfig/dhcpd |
4. 服务整合与系统调优
4.1 SELinux与防火墙策略
多服务环境下,安全策略需要精细调整:
# HTTP相关策略 setsebool -P httpd_can_network_connect on semanage port -a -t http_port_t -p tcp 22222 # DHCP相关策略 setsebool -P dhcpd_use_journal on # 防火墙规则 firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --permanent --add-port=22222/tcp firewall-cmd --permanent --add-service=dhcp firewall-cmd --reload4.2 资源限制与启动顺序
调整服务依赖关系:
# 确保网络就绪后启动服务 systemctl edit dhcpd [Unit] After=network-online.target Wants=network-online.target内存优化配置:在/etc/httpd/conf.modules.d/00-mpm.conf中调整:
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 50 MaxConnectionsPerChild 1000 </IfModule>5. 客户端测试与验证
5.1 HTTPS网站验证方法
curl测试命令:
curl -vk https://www.zuoye.com:22222 \ --resolve www.zuoye.com:22222:192.168.168.100浏览器测试要点:
- 在客户端hosts文件添加:
192.168.168.100 www.zuoye.com - 访问时需添加端口号:
https://www.zuoye.com:22222 - 忽略证书警告(自签名证书)
5.2 DHCP客户端测试
Linux客户端:
dhclient -v eth0 ip a show eth0Windows客户端:
ipconfig /release ipconfig /renew ipconfig /all保留地址验证:
arp -an | grep 192.168.168.168 ping -c 4 192.168.168.1686. 排错工具箱
6.1 服务日志分析
HTTPD错误定位:
tail -f /var/log/httpd/error_log sslscan www.zuoye.com:22222DHCP租约查看:
cat /var/lib/dhcpd/dhcpd.leases dhcpd-pools -f /etc/dhcp/dhcpd.conf6.2 网络诊断命令
| 命令 | 用途 |
|---|---|
ss -tulnp | 查看端口占用 |
tcpdump -i eth0 port 67 | 抓取DHCP报文 |
openssl s_client -connect www.zuoye.com:22222 | SSL握手测试 |
nmcli con show | 检查网络连接 |
在实际RHCE考试环境中,这种多服务整合场景非常常见。记得在实验完成后,将关键配置备份到/root目录下,包括:
/etc/httpd/conf.d/vhost.conf/etc/dhcp/dhcpd.conf/etc/pki/tls/certs/zuoye.crt/etc/pki/tls/private/zuoye.key
