node01:192.168.175.146
node02:192.168.175.147
【node01】
node01 与 node02 防火墙在本实验中都需要放行的服务;
[root@localhost ~]# firewall-cmd --permanent --add-service=dns
success
[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# firewall-cmd --permanent --add-service=nfs
success
[root@localhost ~]# firewall-cmd --permanent --add-service=rpc-bind
success
[root@localhost ~]# firewall-cmd --permanent --add-service=mountd
success
[root@localhost ~]# firewall-cmd --reload
success[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client dns http mountd nfs rpc-bind ssh
[root@localhost ~]# mkdir -p /nfs/rhce
运行一个 Web 服务器。HTTP 服务器的虚拟主机配置如下:
[root@localhost conf.d]# cat vhost.conf
<directory /nfs/rhce>
allowoverride none
require all granted
</directory>
<virtualhost 192.168.175.146:80>
documentroot /nfs/rhce
servername www.rhce.com
</virtualhost>
配置 BIND DNS 服务器的区域文件:
①named.conf
[root@localhost ~]# cat /etc/named.conf
options {
listen-on port 53 { 192.168.175.146; }; # 主服务器IP地址
directory "/var/named";
};
zone "rhce.com" IN {
type master;
file "named.rhce";
};
②named.rhce
[root@localhost named]# cat named.rhce
$TTL 1d
@ IN SOA @ admin.dadou.com. ( 2024071101
1
1
1
1)
NS ns.rhce.com.
ns A 192.168.175.146
www A 192.168.175.146
ftp CNAME www
将网络接口 ens160
的 IPv4 DNS 服务器地址修改为 192.168.175.146
,并随后重新启动了该网络接口以应用更改。
[root@localhost rhce]# nmcli connection modify ens160 ipv4.dns 192.168.175.146
[root@localhost rhce]# nmcli connection up ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@localhost rhce]#
[root@localhost rhce]# nmcli device show | grep DNS
IP4.DNS[1]: 192.168.175.146
DNS 查询www.rhce.com
的 A 记录:
在 /nfs/rhce 目录下创建一个名为 index.html
的文件,并向其中写入文本 haha rhce。
通过 curl
命令访问 www.rhce.com
看是否能得到响应 "haha rhce"
[root@localhost nfs]# echo haha rhce > rhce/index.html
[root@localhost nfs]# curl www.rhce.com
haha rhce
成功配置好 NFS(网络文件系统)服务,将 /nfs/rhce
目录导出为对所有客户端(192.168.175.147)可读写(rw
)。然后重启 NFS 服务并查看当前的导出列表,确认 /nfs/rhce
目录已经被正确导出。
[root@localhost ~]# vim /etc/exports
[root@localhost ~]# cat /etc/exports
[root@localhost ~]# cat /etc/exports
/nfs/rhce 192.168.175.147(rw)[root@localhost ~]# systemctl restart nfs-server
[root@localhost ~]# systemctl restart rpcbind[root@localhost ~]# showmount -e 192.168.175.146
Export list for 192.168.175.146:
/nfs/rhce 192.168.175.147[root@localhost ~]# exportfs
/nfs/rhce <world>
【node02】
修改配置文件 named.conf :
[root@localhost ~]# cat /etc/named.conf
options {
listen-on port 53 { 192.168.175.147; };
directory "/var/named";
};
zone "rhce.com" IN {
type slave;
masters { 192.168.175.146; };
file "slaves/named.rhce";
};
确保客户端 node02 与服务器 node01 的 DNS 相同:这样才能访问 www.rhce.com:
[root@localhost ~]# nmcli connection modify ens160 ipv4.dns 192.168.175.146
[root@localhost ~]# nmcli connection up ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@localhost ~]# curl www.rhce.com
haha rhce
autofs的自动挂载:安装软件包:
[root@localhost ~]# dnf install autofs -y
将服务器 192.168.175.146
上的 /nfs/rhce
目录挂载到客户端的 /rhce/
目录上。然后通过ll /rhce/
命令查看了挂载点/rhce/
下的内容。
[root@localhost ~]# mount 192.168.175.146:/nfs/rhce /rhce/
[root@localhost ~]# df -h /rhce/
Filesystem Size Used Avail Use% Mounted on
192.168.175.146:/nfs/rhce 17G 1.2G 16G 7% /rhce
[root@localhost ~]# ll /rhce/
total 2
-rw-r--r--. 1 root root 10 Jul 11 16:02 index.html
在 Linux 系统中,/etc/auto.master
文件是 autofs 服务的配置文件之一,autofs 是一个用于自动挂载网络文件系统(如 NFS、CIFS/SMB 等)或本地文件系统的守护进程。当访问 autofs 管理的目录时,它会自动挂载相应的文件系统,并在您不再需要时自动卸载它们。
主映射文件:/etc/auto.master
告诉 automount 服务哪个自动挂载映射文件(auto.nfs)应该被使用,以及这些映射应该挂载到哪个挂载点(/rhce)。
[root@localhost ~]# vim /etc/auto.master
automount 服务的自动挂载映射文件:下列配置指示了 automount 服务在访问名为 rhce
的挂载点时,应该自动挂载来自 192.168.175.146
服务器的 /nfs/rhce
目录。
[root@localhost ~]# cat /etc/auto.nfs
rhce 192.168.175.146:/nfs/rhce
重启 autofs 服务:在更改 /etc/auto.master
或 /etc/auto.nfs
文件后,需要重启 autofs 服务以使更改生效。
systemctl restart autofs
测试服务器与客户端是否能实现共享:
1、先在node01 的 /nfs/rhce 上创建 test.txt 文件:
[root@localhost rhce]# touch test.txt
[root@localhost rhce]#
[root@localhost rhce]# ll
total 3
-rw-r--r--. 1 root root 10 Jul 11 16:02 index.html
-rw-r--r--. 1 root root 0 Jul 11 17:13 test.txt
在 node02上查看:
[root@localhost rhce]# ll
total 3
-rw-r--r--. 1 root root 10 Jul 11 16:02 index.html
-rw-r--r--. 1 root root 0 Jul 11 17:13 test.txt
2、在 node02 的 /rhce 上创建一个文件:
[root@localhost rhce]# touch hei
在 node01上查看:
[root@localhost rhce]# ll
total 4
-rw-r--r--. 1 nobody nobody 0 Jul 11 18:02 hei
-rw-r--r--. 1 root root 10 Jul 11 16:02 index.html
-rw-r--r--. 1 root root 0 Jul 11 17:13 test.txt