任務需求:
客戶端通過訪問 www.nihao.com 后,能夠通過 dns 域名解析,訪問到 nginx 服務中由 nfs 共享的首頁文件,內容為:Very good, you have successfully set up the system. 各個主機能夠實現時間同步,并且都開啟防火墻來保證服務安裝。
主機規劃:
作用 | 系統 | IP | 主機名 | 軟件 |
---|---|---|---|---|
web 服務器 | redhat9.5 | 192.168.72.8 | web | nginx |
nfs 服務器 | redhat9.5 | 192.168.72.9 | nfs | nfs-utils |
DNS 主服務器 | redhat9.5 | 192.168.72.18 | dns1 | bind |
DNS 從服務器 | redhat9.5 | 192.168.72.28 | dns2 | bind |
客戶端 | redhat9.5 | 192.168.72.7 | client | bind-utils |
一、修改IP地址和主機名:
web服務器:
[root@localhost ~]# hostnamectl hostname web
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.8/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160
nfs服務器:
[root@localhost ~]# hostnamectl hostname nfs
[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses 192.168.72.9/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 ipv4.method manual connection.autoconnect yes
[root@localhost ~]# nmcli connection up ens160
DNS主服務器:
[root@localhost ~]# hostnamectl hostname dns1
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.18/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160
DNS從服務器:
[root@localhost ~]# hostnamectl hostname dns2
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.28/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160
客戶端:?
[root@localhost ~]# hostnamectl hostname client
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.7/24 ipv4.gateway 192.168.72.2 ipv4.dns "192.168.72.18 192.168.72.28" connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160
二、配置nfs服務器:
下載nfs服務:
[root@nfs ~]# dnf install nfs-utils -y
放行http、nfs服務,關閉selinux。?
[root@nfs ~]# setenforce 0
[root@nfs ~]# firewall-cmd --permanent --add-service=http
[root@nfs ~]# firewall-cmd --permanent --add-service=nfs
[root@nfs ~]# firewall-cmd --reload
創建文件并共享給nginx服務器
[root@nfs ~]# mkdir /nfs/data -p
[root@nfs ~]# vim /etc/exports
[root@nfs ~]# cat /etc/exports
/nfs/data 192.168.72.8(rw)
啟動服務檢查是否暴露,并給/nfs添加寫的權限
[root@nfs ~]# systemctl restart nfs-server.service
[root@nfs ~]# showmount -e 192.168.72.9
[root@nfs ~]# chmod o+w /nfs/ -R
三、配置Web服務
下載nginx、nfs服務
[root@web ~]# dnf install nginx -y
[root@web ~]# dnf install nfs-utils -y
放行http,nfs服務?關閉selinux
[root@web ~]#firewall-cmd --permanent --add-service=http
[root@web ~]#firewall-cmd --reload
[root@web ~]#firewall-cmd --permanent --add-service=nfs
[root@web ~]#firewall-cmd --reload
[root@web ~]# setenforce 0
創建一個nihao.conf的配置文件,寫入www.nihao.com的配置服務
[root@web conf.d]# cat nihao.conf
server{server_name www.nihao.com ;root /var/www/nihao;
}
掛載到nfs,并創建頁面內容
[root@web conf.d]# mount -t nfs 192.168.72.9:/nfs/data /var/www/
[root@web conf.d]# mkdir -p /var/www/nihao
[root@web conf.d]# echo " Very good, you have successfully set up the system. " > /var/www/nihao/index.html
四、DNS主服務器配置?
安裝DNS服務
[root@dns1 ~]# dnf install bind -y
修改主配置文件
[root@dns1 ~]# cat /etc/named.conf
options {listen-on port 53 { 192.168.72.18; };directory "/var/named";
};zone "nihao.com" IN {type master;file "nihao.com";
};
?配置區域數據文件
[root@DNS-one ~]# cat /var/named/nihao.com
$TTL 1D
@ IN SOA @ admin.nihao.com. (0 1 1 1 1)IN NS ns1IN NS ns2
ns1 IN A 192.168.72.18
ns2 IN A 192.168.72.28
www IN A 192.168.72.8
放行dns服務關閉selinux,啟動服務
[root@dns1 ~]# setenforce 0
[root@dns1 ~]# firewall-cmd --permanent --add-service=dns
[root@dns1 ~]# firewall-cmd --reload
[root@dns1 ~]# systemctl restart named
五、DNS從服務器配置
?安裝DNS服務
[root@dns2 ~]# dnf install bind -y
修改主配置文件
[root@dns2 ~]# cat /etc/named.conf
options {listen-on port 53 { 192.168.72.28; };directory "/var/named";
};zone "nihao.com" IN {type slave;masters { 192.168.72.18; };file "slaves/nihao.com";
};
放行防火墻,關閉selinux,開啟服務
[root@dns2 ~]# firewall-cmd --permanent --add-service=dns
[root@dns2 ~]# firewall-cmd --reload
[root@dns2 ~]# setenforce 0
[root@dns2 ~]# systemclt restart named