一、實驗內容
現有主機 node01 和 node02,完成如下需求:
1、在 node01 主機上提供 DNS 和 WEB 服務
2、dns 服務提供本實驗所有主機名解析
3、web服務提供 www.rhce.com 虛擬主機
4、該虛擬主機的documentroot目錄在 /nfs/rhce 目錄
5、該目錄由 node02 主機提供的NFS服務共享
6、該目錄可以通過autofs服務實現自動掛載
7、所有服務應該在重啟之后依然可以正常使用
以下是實驗內容分析圖:
?二、實驗步驟
1、實驗所需軟件包
根據實驗內容創建兩臺虛擬機,node1虛擬主機192.168.2.135為主服務器,node2虛擬主機192.168.2.136為從服務器,兩臺虛擬機的防火墻、SELINUX均保持開啟狀態。
node1和node2所需軟件包:(用dnf或yum進行下載)
httpd bind bind-utils nfs-utils autofs
2、兩臺虛擬機中所需編寫的文件
node1中編寫vhost.conf文件(路徑:/etc/httpd/conf.d/vhost.conf)
<directory /nfs/rhce>
allowoverride none
require granted
</directory><virtualhost 192.168.2.135:80>
documentroot /nfs/rhce
servername www.rhce.com
</virtualhost>
node1中添加本地解析(路徑:/etc/hosts)
192.168.2.135 www.rhce.com
?node1中的name.conf文件配置(路徑:/etc/name.d)
options {listen-on port 53 { 192.168.2.135; };directory "/var/named";
};
zone "rhce.com" IN {type master;file "named.rhce";
};
node1中的named.rhce文件配置(路徑:/etc/var/named/named.rhce)
$TTL 1D
@ IN SOA @ admin.rhce.com. (20240711011111)IN NS ns.rhce.com.
ns IN A 192.168.2.135
www IN A 192.168.2.135
node2中的named.conf文件配置(/etc/name.conf)
options {
listen-on port 53 { 192.168.2.136; };directory "/var/named";
};
zone "rhce.com" IN {type slave;masters{ 192.168.2.135; };file "slaves/named.rhce";
};
3、步驟關鍵代碼
創建共享目錄文件
[root@localhost ~]# mkdir /nfs/rhce
[root@localhost ~]# echo welcome to rhce > /nfs/rhce/index.html
防火墻放行
[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
autofs服務實現自動掛載:?
[root@localhost~]# mount 192.168.244.135:/nfs/rhce /rhce
[root@localhost ~]# df -h?
Filesystem ? ? ? ? ? ? ? ? Size ?Used Avail Use% Mounted on
192.168.2.135:/nfs/rhce ? 70G ?6.9G ? 64G ?10% /rhce
所有服務應該在重啟之后依然可以正常使用:
[root@localhost ~]# systemctl enable named
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl enable nfs-server
三、實驗測試
[root@localhost?named]# setsebool -P httpd_use_nfs 1
[root@localhost?named]# dig -t A www.rhce.com
?
; <<>> DiG 9.16.23-RH <<>> -t A www.rhce.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63068
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 7efdee07e124353801000000668ea9127b048955c5c69d8c (good)
;; QUESTION SECTION:
;www.rhce.com.?? ??? ??? ?IN?? ?A
;; ANSWER SECTION:
www.rhce.com.?? ??? ?86400?? ?IN?? ?A?? ?192.168.2.135
;; Query time: 4 msec
;; SERVER: 192.168.2.135#53(192.168.2.135
;; WHEN: Wed Jul 11?15:36:26 EDT 2024
;; MSG SIZE ?rcvd: 85
[root@localhost ~]# curl www.rhce.com
welcom to rhce