系统服务综合实验

实验需求:

现有主机 node01 和 node02,完成如下需求:

  1. 在 node01 主机上提供 DNS 和 WEB 服务
  2. dns 服务提供本实验所有主机名解析
  3. web服务提供 www.rhce.com 虚拟主机
  4. 该虚拟主机的documentroot目录在 /nfs/rhce 目录
  5. 该目录由 node02 主机提供的NFS服务共享
  6. 该目录可以通过autofs服务实现自动挂载
  7. 所有服务应该在重启之后依然可以正常使用

实验简图如下:
在这里插入图片描述

步骤:

  1. 分别在node1node2上面安装软件包
[root@node1 ~]# dnf install httpd bind nfs-utils autofs -y

[root@node2 ~]# yum install bind nfs-utils httpd -y
  1. node2上配置NFS
# 启动服务
[root@node2 ~]# systemctl enable --now rpcbind
[root@node2 ~]# systemctl enable --now nfs-server.service 
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.
[root@node2 ~]# systemctl status rpcbind
● rpcbind.service - RPC Bind
     Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-07-11 15:21:42 CST; 48s ago
TriggeredBy: ● rpcbind.socket
       Docs: man:rpcbind(8)
   Main PID: 2375 (rpcbind)
      Tasks: 1 (limit: 10821)
     Memory: 1.6M
        CPU: 12ms
     CGroup: /system.slice/rpcbind.service
             └─2375 /usr/bin/rpcbind -w -f

Jul 11 15:21:42 node2 systemd[1]: Starting RPC Bind...
Jul 11 15:21:42 node2 systemd[1]: Started RPC Bind.

# 配置防火墙放行规则
[root@node2 ~]# firewall-cmd --permanent --add-service=nfs
success
[root@node2 ~]# firewall-cmd --permanent --add-service=mountd 
success
[root@node2 ~]# firewall-cmd --permanent --add-service=rpc-bind 
success
[root@node2 ~]# firewall-cmd --reload 
success
[root@node2 ~]# firewall-cmd --list-services 
cockpit dhcpv6-client mountd nfs rpc-bind ssh

# 重启服务
[root@node2 ~]# systemctl restart nfs-server.service 

# 配置导出目录
[root@node2 ~]# mkdir /rhce
[root@node2 ~]# chmod 777 /rhce/
[root@node2 ~]# echo welcome to rhce > /rhce/index.html
[root@node2 ~]# cat /etc/exports
/rhce 192.168.209.136(rw)
[root@node2 ~]# systemctl restart nfs-server.service 

# 查看导出的目录
[root@node2 ~]# showmount -e 192.168.209.137
Export list for 192.168.209.137:
/rhce 192.168.209.136
  1. node1上配置autofs自动挂载
# 在node1查看导出的目录
[root@node1 ~]# showmount -e 192.168.209.137
Export list for 192.168.209.137:
/rhce 192.168.209.136
[root@node1 ~]# mkdir /nfs
[root@node1 ~]# cat /etc/auto.master
/nfs /etc/auto.nfs
[root@node1 ~]# cat /etc/auto.nfs
rhce 192.168.209.137:/rhce
[root@node1 ~]# systemctl restart autofs.service 
# 触发自动挂载
[root@node1 ~]# cd /nfs/
[root@node1 nfs]# ll
total 0
[root@node1 nfs]# cd rhce
[root@node1 rhce]# ll
total 4
-rw-r--r--. 1 root root 16 Jul 11 15:24 index.html
[root@node1 rhce]# cat index.html 
welcome to rhce
  1. node1上配置web和dns服务
  • 配置web
# 编辑rhce.conf配置文件
[root@node1 ~]# cd /etc/httpd/conf.d
[root@node1 conf.d]# cat rhce.conf 
<directory /nfs>
allowoverride none 
require all granted 
</directory>
<virtualhost 192.168.209.136:80>  
documentroot /nfs/rhce 
servername www.rhce.com
</virtualhost>

# 添加本地主机名解析
[root@node1 conf.d]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.209.136 www.rhce.com

# 重启httpd服务
[root@node1 conf.d]# systemctl restart httpd
  • 配置DNS
[root@node1 conf.d]# cat /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 192.168.209.136

# 配置DNS正向解析,配置/etc/named.conf配置文件
[root@node1 conf.d]# cat /etc/named.conf 
options {
	listen-on port 53 { 192.168.209.136; };
	directory 	"/var/named";
};
zone "rhce.com" IN {
	type master;
	file "named.rhce";
};

# 配置named.rhce配置文件
[root@node1 ~]# cat /var/named/named.rhce 
$TTL	1d
@ 	IN	SOA	@	admin.rhce.com.    (1
						    1
						    1
						    1
						    1)
	IN	NS	ns.rhce.com.
ns	IN	A	192.168.209.136
www	IN	A	192.168.209.136

# 重启服务
[root@node1 conf.d]# systemctl restart named
#查看防火墙状态
[root@node1 conf.d]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-07-11 15:10:01 CST; 35min ago
       Docs: man:firewalld(1)
   Main PID: 798 (firewalld)
      Tasks: 2 (limit: 10821)
     Memory: 41.6M
        CPU: 362ms
     CGroup: /system.slice/firewalld.service
             └─798 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

Jul 11 15:10:01 node1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Jul 11 15:10:01 node1 systemd[1]: Started firewalld - dynamic firewall daemon.

#防火墙放行规则 
[root@node1 conf.d]# firewall-cmd --permanent --add-service=http
success
[root@node1 conf.d]# firewall-cmd --permanent --add-service=dns
success
[root@node1 conf.d]# firewall-cmd --reload 
success

# 当 httpd进程使用 nfs 文件系统时,需要打开一个selinux 布尔值 这个提示会在系统日志中出现,setsebool -P httpd_use_nfs 1 这个是开启的命令。“setsebool” 是一个用于设置 SELinux(Security-Enhanced Linux)布尔值的命令。“-P” 选项表示使设置永久生效,即使系统重新启动,设置仍然保持。“httpd_use_nfs” 是要设置的 SELinux 布尔值的名称。“1” 表示将该布尔值设置为“开启”或“允许”的状态。 
[root@node1 conf.d]# setsebool -P httpd_use_nfs 1
 #查询DNS信息
[root@node1 conf.d]# 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: 54673
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 6c60fdfad0fa9d8901000000668f8dee62ef8cef318b6296 (good)
;; QUESTION SECTION:
;www.rhce.com.			IN	A

;; ANSWER SECTION:
www.rhce.com.		86400	IN	A	192.168.209.136

;; Query time: 3 msec
;; SERVER: 192.168.209.136#53(192.168.209.136)
;; WHEN: Thu Jul 11 15:46:54 CST 2024
;; MSG SIZE  rcvd: 85

[root@node1 conf.d]# 
[root@node1 conf.d]# 
[root@node1 conf.d]# curl www.rhce.com
welcome to rhce
  1. node2上配置从服务器
[root@node2 ~]# cat /etc/named.conf 
options {
	listen-on port 53 { 127.0.0.1; };
	directory 	"/var/named";
};
zone "rhce.com" IN {
	type slave;
	masters { 192.168.209.136; };
	file "slaves/named.rhce";
};

[root@node2 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 192.168.209.136

[root@node2 ~]# systemctl restart named
[root@node2 ~]# curl www.rhce.com
welcome to rhce
  1. 测试
[root@node1 ~]# curl www.rhce.com
welcome to rhce

[root@node2 ~]# curl www.rhce.com
welcome to rhce

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/793235.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mocreak:一键自动化部署Microsoft Office,高效办公必备

Mocreak是一款用于自动化下载、安装和部署 Microsoft Office 的办公增强工具。这款软件完全免费、无GG、绿色、无毒&#xff0c;并且具备简约、高效和安全的特点。它支持一键快速下载、安装和部署最新版的 Microsoft Office 软件&#xff0c;并提供了一个简约且可自定义的图形界…

xcode项目添加README.md文件并进行编辑

想要给xcode项目添加README.md文件其实还是比较简单的&#xff0c;但是对于不熟悉xcode这个工具的人来讲&#xff0c;还是有些陌生&#xff0c;下面简单给大家讲一下流程。 选择“文件”>“新建”>“文件”&#xff0c;在其他&#xff08;滚动到工作表底部&#xff09;下…

2022 RoboCom省赛题目解析

题目解析&#xff1a;这就是一题很简单的模拟&#xff0c;直接上代码&#xff1b; #include<iostream> using namespace std; const int N 10010; int arr[N]; int main() {int n , m;cin >> n >> m;int sum 0;int res 0;for(int i 0; i < n;i ) cin…

【计算机组成原理 | 第一篇】计算机硬件的发展

前言&#xff1a; 在信息时代&#xff0c;计算机已经成为我们生活和工作中不可或缺的工具。它们以各种形态存在&#xff0c;从个人电脑到智能手机&#xff0c;再到庞大的数据中心&#xff0c;计算机的应用无处不在。然而&#xff0c;无论计算机的形态如何变化&#xff0c;它们的…

甘蔗基因组--文献精读30

A chromosomal-scale genome assembly of modern cultivated hybrid sugarcane provides insights into origination and evolution 现代栽培杂交甘蔗的染色体级基因组组装提供了起源和进化的洞见&#xff0c;确实甘蔗好几个基因组了~ 摘要 甘蔗是一种具有重要经济和工业价值…

完美解决:MySQL8报错:Public Key Retrieval is not allowed

在配置数据源的时候直接将属性allowPublicKeyRetrieval设置为true即可 &AutoReconnecttrue

Dify中的知识库API列表

1.知识库API列表 通过文本/文件创建/更新/删除文档/查询文档嵌入状态&#xff0c;知识库创建/知识库查询/文档列表查询&#xff0c;分段增/删/改/查。 接口名字功能描述请求示例POST/datasets/{dataset_id}/document/create_by_text通过文本创建文档此接口基于已存在知识库&a…

【常见开源库的二次开发】一文学懂CJSON

简介&#xff1a; JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式。它基于JavaScript的一个子集&#xff0c;但是JSON是独立于语言的&#xff0c;这意味着尽管JSON是由JavaScript语法衍生出来的&#xff0c;它可以被任何编程语言读取和生成…

CSS 【实用教程】(2024最新版)

CSS 简介 CSS 是层叠样式表( Cascading Style Sheets ) 的简写&#xff0c;用于精确控制 HTML 页面的样式&#xff0c;以便更好地展示图文信息或产生炫酷/友好的交互体验。 没有必要让所有浏览器都显示得一模一样的&#xff0c;好的浏览器有更好的显示&#xff0c;糟糕的浏览器…

【Redis】Redis十大类型

文章目录 前言一、string字符串类型二、List列表类型三、 Hash表四、 Set集合五、 ZSet有序集合六、 GEO地理空间七、 HyperLogLog基数统计八、Bitmap位图九、bitfield位域十、 Stream流10.1 队列指令10.2 消费组指令10.3 ACK机制 前言 redis是k-v键值对进行存储&#xff0c;k…

HashMap----源码解读

源码分析&#xff1a; public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable 在类的开头声明了几个常量&#xff0c;以下是较为重要的&#xff1a; /*** 定义初始容量大小为16*/ static final int DEFAULT_I…

IT运维也有自己的节日 724向日葵IT运维节,三大版本如何选?

“724运维节”&#xff0c;是2016年由开放运维联盟发起倡议&#xff0c;广大运维人员共同投票产生的属于运维人自己的节日。 对于运维人最大的印象&#xff0c;那就是工作都需要7x24小时待命&#xff0c;是名副其实的“日不落骑士”&#xff0c;这也是大家选择724这一天作为运…

STM32中断(NVIC和EXIT)

CM3 内核支持 256 个中断&#xff0c;其中包含了 16 个内核中断和 240个外部中断&#xff0c;并且具有 256 级的可编程中断设置。但STM32 并没有使用CM3内核的全部东西&#xff0c;而是只用了它的一部分。STM32有 76 个中断&#xff0c;包括16 个内核中断和 60 个可屏蔽中断&am…

Spring支持人工智能应用框架-SpringAi

简介 人工智能技术和日益成熟&#xff0c;开发企业级人工智能的应用已成为一个热门的趋势。Spring AI 是一个用于 AI 工程的应用框架&#xff0c;目的是为了简化AI应用的对接、部署、维护和扩展。 SpringAi的灵感来自LangChain和LlamaIndex&#xff0c;但是SpringAi并不是直接…

二进制补码计算

基本知识 原码&#xff08;Sign and Magnitude&#xff09;:原码是一种最简单的表示法&#xff0c;使用符号位和数值位来表示整数。 符号位&#xff1a;最高位是符号位&#xff0c;0表示正数&#xff0c;1表示负数。 数值位&#xff1a;剩下的位表示数值的大小。反码&#xf…

昇思25天学习打卡营第17天|基于MobileNetv2的垃圾分类

今天学习的内容是利用视觉图像技术&#xff0c;来实现垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 本章节主要包括8部分内容&#xff1a; 1、实验目的 1、了解熟悉垃圾分类应用…

协程--面试资料收集

用户态线程 用户级线程由应用程序通过线程库实现&#xff0c;所有的线程管理工作都由应用程序负责 (包括进程切换)。在用户级线程中&#xff0c;线程的切换可以再用户态下完成&#xff0c;无需操作系统的干预。用户感受得到用户级线程&#xff0c;但是操作系统却意识不到他们的…

Hvv工具推荐——IWannaGetAll

OA基本上是每次hvv中都会被突破的&#xff0c;基本上也都会爆出各种各样的0day&#xff0c;如果真的0day防不住&#xff0c;那我们必须要把1day、nday做一遍检查。 IWannaGetAll 是一款专门针对主流OA&#xff08;办公自动化&#xff09;系统的漏洞检测和利用工具。 IWannaGe…

C++:组合和继承的区别

组合介绍以及与继承对比 什么是组合 (1)composition&#xff0c;组合&#xff0c;就是在一个class内使用其他多个class的对象作为成员 (2)用class tree做案例讲解 (3)组合也是一种代码复用方法&#xff0c;本质也是结构体包含 #include <iostream> #include <vector…

二四、3d人脸构建

一、下载github项目3dmm_cnn-master https://github.com/anhttran/3dmm_cnn.git 一个使用深度神经网络从单个图像进行 3D 人脸建模的项目,端到端代码,可直接根据图像强度进行 3D 形状和纹理估计;使用回归的 3D 面部模型,从检测到的面部特征点估计头部姿势和表情。…