云原生高级实验

任务需求:客户端通过访问 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

1.初始环境配置

web:

bash 复制代码
hostnamectl hostname web
nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.8/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

nfs:

bash 复制代码
hostnamectl hostname nfs
nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.9/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

dns1:

bash 复制代码
hostnamectl hostname dns1
nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.18/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

dns2:

bash 复制代码
hostnamectl hostname dns2
nmcli c modify ens160  ipv4.method manual ipv4.addresses 10.10.10.28/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

client:

bash 复制代码
hostnamectl hostname client
nmcli c modify ens160 ipv4.method manual  ipv4.addresses 10.10.10.7/24 ipv4.gateway 10.10.10.2 ipv4.dns "10.10.10.18 10.10.10.28" connection.autoconnect yes
nmcli c up ens160
setenforce 0

2.下载相关服务

web:

bash 复制代码
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0

mmount /dev/sr0 /mnt
dnf install nginx -y

nfs:

bash 复制代码
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0

mmount /dev/sr0 /mnt
dnf install nfs-utils -y 

dns1:

bash 复制代码
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0

mmount /dev/sr0 /mnt
dnf install bind -y

dns2:

bash 复制代码
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0

mmount /dev/sr0 /mnt
dnf install bind -y

client:

bash 复制代码
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0

mmount /dev/sr0 /mnt
dnf install bind-utils -y

3.配置web服务

修改配置文件

bash 复制代码
echo "welcome to nginx" > /usr/share/nginx/html/index.html 
  firewall-cmd --permanent --add-service=http
  firewall-cmd --reload 
  systemctl start nginx

nfs网络挂载

bash 复制代码
 dnf install -y nfs-utils
   mkdir /data/nfs -p
   mount -t nfs 10.10.10.9:/nfs/data /data/nfs
    df -h
   echo " write nfs" > /data/nfs/test
   cat /data/nfs/test 
   vim /etc/nginx/conf.d/nfs.conf
server{
	server_name 10.10.10.8;
	root /data/nfs;
	access_log /var/log/nginx/access_log
	error_log /var/log/nginx/error_log
}

时间同步

bash 复制代码
dnf install chrony -y
   systemctl status chronyd
    chronyc tracking 
    chronyc sources
    vim /etc/chrony.conf 


bash 复制代码
 systemctl restart chronyd
    chronyc sources

4.配置nfs服务

bash 复制代码
mkdir /nfs/data -p
   vim /etc/exports
   cat /etc/exports
   chmod o+w /nfs/data
    chmod o+w /nfs/data
   showmount -e 10.10.10.9
    firewall-cmd --permanent --add-service=nfs
    firewall-cmd --reload
    systemctl enable --now nfs-server.service 
cat /nfs/data/test 


时间同步

bash 复制代码
dnf install chrony
systemctl status chronyd
chronyc tracking 
chronyc sources
vim /etc/chrony.conf 
firewall-cmd --permanent --add-service=ntp
firewall-cmd --relaod
systemctl start chronyd.service 


5.配置dns主服务器

bash 复制代码
cat /etc/named.conf 
options {
	listen-on port 53 { 10.10.10.18; };
	directory 	"/var/named";
	allow-query     { any; };
};
zone "haha.com" IN {
	type master;
	file "haha.com";
};
bash 复制代码
cat /var/named/haha.com
$TTL 	1D
@ 	IN 	SOA 	@	 admin.haha.com. (0 1D 2H 3W 2D)
	IN 	NS 	 ns1
	IN 	NS 	 ns2
ns1 	IN 	A 	10.10.10.18
ns2 	IN 	A 	10.10.10.28
www 	IN 	A 	10.10.10.8

放行服务

bash 复制代码
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 

时间同步

bash 复制代码
dnf install chrony -y
   vim /etc/chrony.conf 
   firewall-cmd --permanent --add-service=ntp
    firewall-cmd --reload 
    systemctl restart chronyd.service 
    chronyc sources

dig 测试

bash 复制代码
dig -t NS haha.com @10.10.10.18

; <<>> DiG 9.16.23-RH <<>> -t NS haha.com @10.10.10.18 ;; global

options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status:

NOERROR, id: 39872 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2,

AUTHORITY: 0, ADDITIONAL: 3

;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE:

d326c928a6c990070100000067d919cadf5565a60133feba (good) ;; QUESTION

SECTION: ;haha.com. IN NS

;; ANSWER SECTION: haha.com. 86400 IN NS ns2.haha.com.

haha.com. 86400 IN NS ns1.haha.com.

;; ADDITIONAL SECTION: ns1.haha.com. 86400 IN A 10.10.10.18

ns2.haha.com. 86400 IN A 10.10.10.28

6.dns从服务器

修改主配置文件

bash 复制代码
cat /etc/named.conf
options {
	listen-on port 53 { 10.10.10.28; };
	directory 	"/var/named";
};
zone "haha.com" IN {
	type slave;
	masters {10.10.10.18; };
	file "slaves/haha.com";
};

放行服务

bash 复制代码
firewall-cmd --permanent --add-service=dns
 firewall-cmd --reload 
systemctl enable named --now

root@dns2 \~\]# `ls /var/named/slaves/` haha.com ·时间同步 ```bash dnf install chrony -y vim /etc/chrony.conf firewall-cmd --permanent --add-service=ntp firewall-cmd --reload systemctl restart chronyd.service chronyc sources ``` > \[root@dns2 \~\]# chronyc sources MS Name/IP address Stratum Poll > > Reach LastRx Last sample > > =============================================================================== \^\* 10.10.10.9 3 6 17 59 -5753ns\[ -89us

+/- 135ms

7.配置客户端

时间同步

bash 复制代码
vim /etc/chrony.conf 
 firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload 
 systemctl restart chronyd.service 
 chronyc sources

MS Name/IP address Stratum Poll Reach LastRx Last sample

=============================================================================== ^* 10.10.10.9 3 6 17 2 -112us[ -180us]

+/- 141ms

测试客户端

bash 复制代码
nmcli c show ens160 | grep ipv4.dns

ipv4.dns: 10.10.10.18,10.10.10.28

ipv4.dns-search: -- ipv4.dns-options:

-- ipv4.dns-priority: 0

bash 复制代码
ping www.haha.com

PING www.haha.com (10.10.10.8) 56(84) bytes of data. 64 bytes from

10.10.10.8 (10.10.10.8): icmp_seq=1 ttl=64 time=1.32 ms 64 bytes from 10.10.10.8 (10.10.10.8): icmp_seq=2 ttl=64 time=2.29 ms 64 bytes from 10.10.10.8 (10.10.10.8): icmp_seq=3 ttl=64 time=2.46 ms

相关推荐
七夜zippoe2 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6484 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满4 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠4 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9034 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海5 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
珠海西格电力科技6 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀6 小时前
Linux环境变量
linux·运维·服务器
zzzsde6 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º8 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann