现有主机 node01 和 node02,完成如下需求:
1、在 node01 主机上提供 DNS 和 WEB 服务
2、dns 服务提供本实验所有主机名解析
3、web服务提供 www.rhce.com 虚拟主机
4、该虚拟主机的documentroot目录在 /nfs/rhce 目录
5、该目录由 node02 主机提供的NFS服务共享
6、该目录可以通过autofs服务实现自动挂载
7、所有服务应该在重启之后依然可以正常使用
在此次 RHCE 系统服务综合实验中,我们需要在两台主机 node01(192.168.205.135)和 node02(192.168.205.136)上配置 DNS、WEB、NFS 和 AutoFS 服务。以下是详细的操作步骤和配置过程~~
需求分析
- DNS 和 WEB 服务在 node01 主机上提供:DNS 服务用于域名解析,WEB 服务用于提供 www.rhce.com 虚拟主机。
- DNS 服务解析所有主机名:DNS 服务器保存所有主机名的解析记录。
- WEB 服务的 DocumentRoot 目录位于 /nfs/rhce:WEB 服务的根目录存储在 /nfs/rhce,由 node02 提供 NFS 共享。
- 利用自动挂载功能:通过 autofs 实现自动挂载,简化管理,并确保目录在访问时自动挂载。
- 确保服务在重启后依然正常运行:所有服务需要在系统重启后自动启动。
准备工作:配置防火墙规则
首先,在 node01 和 node02 上配置防火墙,以放行必要的服务端口:
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
firewall-cmd --list-services # 显示已放行的服务
- NFS 服务依赖于多个端口(如 mountd、rpc-bind),为了确保 NFS 服务能够正常工作,我们需要将这些相关端口放行。
1. 在 node01 上提供 DNS 和 WEB 服务
1.1 配置 DNS 服务
在 node01 主机上编辑 DNS 配置文件:
vim /etc/named.conf
添加以下内容:
options {
listen-on port 53 { 192.168.205.135; };
directory "/var/named";
};
zone "rhce.com" IN {
type master;
file "named.rhce";
};
listen-on port 53 { 192.168.205.135; };
指定 DNS 服务器监听接口和端口(53为DNS服务端口),确保 DNS 服务仅在特定 IP 地址上监听。directory "/var/named";
指定区域数据文件存放的位置。zone "rhce.com"
定义一个新的区域并指示该区域的数据存储在/var/named/named.rhce
文件中。
创建区域文件:
vim /var/named/named.rhce
添加以下内容:
$TTL 1D
@ IN SOA @ admin.rhce.com. (
0 ; Serial
1 ; Refresh
1 ; Retry
1 ; Expire
1 ) ; Minimum TTL
IN NS ns.rhce.com.
ns IN A 192.168.205.135
www IN A 192.168.205.135
$TTL 1D
设置默认的生存时间为1天。SOA
记录提供了该区域的权威信息,如负责的管理员。NS
记录指定了负责该区域的名字服务器。A
记录将域名(www.rhce.com)解析为 IP 地址(192.168.205.135)。
启动并启用 DNS 服务:
systemctl restart named
systemctl enable named
- 启动和启用服务,以确保 DNS 服务在系统重启后自动启动。
1.2 配置 WEB 服务
编辑 Apache 虚拟主机配置文件:
vim /etc/httpd/conf.d/vhost.conf
添加以下内容:
<Directory /nfs>
AllowOverride None
Require all granted
</Directory>
<VirtualHost 192.168.205.135:80>
DocumentRoot /nfs/rhce
ServerName www.rhce.com
</VirtualHost>
<Directory /nfs>
设置访问权限,确保所有用户都能访问/nfs
目录。DocumentRoot /nfs/rhce
指定虚拟主机的根目录。ServerName www.rhce.com
设置虚拟主机的域名。
创建 DocumentRoot 目录并添加测试文件:
mkdir -p /nfs/rhce
echo "welcome to rhce" > /nfs/rhce/index.html
- 创建虚拟主机的根目录并创建测试文件,以此来验证 WEB 服务是否正常工作。
启动并启用 Apache 服务:
systemctl restart httpd
systemctl enable httpd
- 启动和启用服务,以确保 WEB 服务在系统重启后能够自动启动。
2. 在 node02 上配置 NFS 服务
编辑 NFS 配置文件:
vim /etc/exports
添加以下内容:
/nfs/rhce 192.168.205.135(rw,sync,all_squash)
/etc/exports
文件用于配置 NFS 共享目录。192.168.205.135(rw,sync,all_squash)
指定共享目录的客户端地址和相关权限设置。
创建共享目录并设置权限:
mkdir -p /nfs/rhce
chmod -R 777 /nfs/rhce
- 确保共享目录存在并设置适当的权限,使所有用户都可以读取和写入该目录。
启动并启用 NFS 服务:
systemctl start rpcbind
systemctl start nfs-server
systemctl enable rpcbind
systemctl enable nfs-server
3. 在 node01 上配置自动挂载
编辑自动挂载主配置文件:
vim /etc/auto.master
添加以下内容:
/nfs /etc/auto.nfs
- 定义自动挂载点
/nfs
及其配置文件/etc/auto.nfs
,更方便统一管理。
编辑自动挂载子配置文件:
vim /etc/auto.nfs
添加以下内容:
rhce 192.168.205.136:/nfs/rhce
- 将远程 NFS 共享路径(192.168.205.136:/nfs/rhce)挂载到本地的
/nfs/rhce
。
启动并启用 autofs 服务:
systemctl restart autofs
systemctl enable autofs
- 启动并启用 autofs 服务,以确保在系统重启后能够自动启动来实现目录的自动挂载。
4. 验证配置
4.1 验证 DNS 解析
在 node01 上验证 DNS 解析:
dig -t A www.rhce.com @192.168.205.135
- 使用
dig
工具验证 DNS 解析是否正常工作。
4.2 验证 Web 服务
在 node01 上验证 Web 服务:
curl www.rhce.com
# 输出:welcome to rhce
- 使用
curl
工具访问虚拟主机,验证 WEB 服务是否正常工作。
4.3 验证自动挂载
在 node01 上验证自动挂载:
cd /nfs/rhce
ls
# 输出:index.html
- 访问自动挂载的目录,验证 autofs 是否正常工作。
5. 确保配置在系统重启后依然有效
5.1 配置 /etc/fstab 持久化 NFS 挂载
在 node02 上编辑 /etc/fstab
文件:
vim /etc/fstab
添加以下内容:
/nfs/rhce 192.168.205.136:/nfs/rhce nfs defaults 0 0
- 确保 NFS 目录在系统重启后自动挂载。
5.2 确保 DNS 和 Apache 服务启动
确保 DNS 和 Apache 服务在重启后能够自动启动:
systemctl enable named
systemctl enable httpd
5.3 验证 Apache 配置文件
在修改完 Apache 配置文件后,验证配置文件是否有语法错误:
apachectl configtest