培训第二十七天(lvs_nat模式与lvs_dr模式配置)

news2024/9/21 12:44:12

上午

 核心:内核中的ipvs,ipvsadm
 1、安装ipvsadm
 [root@nat ~]# yum -y install ipvsadm
 2、配置规则
 查看所有的规则,如果已经配置好规则,重启之后也就没有了
 [root@nat ~]# ipvsadm -L -n

1、配置vip网卡

(1)在编辑虚拟网络中创建桥接模式的网卡,并且桥接到有网的适配器上。

查看自己本机WLAN所属网卡

在VM创建桥接模式网卡,将外部连接设置为WLAN所属网卡

2、添加新的网卡,自定义为刚才创建的桥接模式网卡。

在本虚拟机中重新添加一块网络适配器,并设置网络连接为刚设置的桥接模式的网卡

3、此时在虚拟主机中使用ifconfig无法找到新的网卡,ip a能够查看到新的ens36网卡。

 查看所有网络
 [root@nat ~]# ip a
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
     link/ether 00:0c:29:f5:ea:0a brd ff:ff:ff:ff:ff:ff
     inet 10.0.0.10/24 brd 10.0.0.255 scope global noprefixroute ens33
        valid_lft forever preferred_lft forever
     inet6 fe80::3598:4e0:b43d:ccc8/64 scope link noprefixroute 
        valid_lft forever preferred_lft forever
 3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
     link/ether 00:0c:29:f5:ea:14 brd ff:ff:ff:ff:ff:ff
     inet 192.168.11.83/23 brd 192.168.11.255 scope global noprefixroute dynamic ens36
        valid_lft 7147sec preferred_lft 7147sec
     inet6 fe80::8de7:6bd9:74a1:8f60/64 scope link noprefixroute 
        valid_lft forever preferred_lft forever
 4、编辑网卡配置
 [root@nat ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
 [root@nat ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens36
 TYPE=Ethernet
 BOOTPROTO=none
 IPADDR=192.168.10.101
 NAME=ens36
 UUID=d4cfa5ab-7c2a-4fab-b329-396b9b38b1bf
 DEVICE=ens36
 ONBOOT=yes
 5、重启网络服务
 [root@nat ~]# systemctl restart network
 6、本机cmd测试192.168.10.101ip是否可以正常使用

2、添加规则

 配置ipvs规则
 [root@nat ~]# ipvsadm -A -t 192.168.10.101:80 -s rr 
 # -A 选项表示添加一个新的服务。
 # -t 192.168.10.101:80 指明了要处理的服务是目标地址为 192.168.10.101 ,端口为 80 的 TCP 服务。
 # -s rr 表示使用轮询(Round Robin)的调度算法。
 [root@nat ~]# ipvsadm -Ln
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  192.168.10.101:80 rr
 添加rs web01 web02 添加规则
 [root@nat ~]# ipvsadm -a -t 192.168.10.101:80 -r 10.0.0.11:80 -m
 # -a 选项用于添加一个真实服务器(Real Server)到指定的服务中。
 # -t 192.168.10.101:80 表示要添加真实服务器的服务是目标地址为 192.168.10.101 ,端口为 80 的 TCP 服务。
 # -r 10.0.0.11:80 指明了要添加的真实服务器的地址为 10.0.0.11 ,端口为 80 。
 # -m 表示使用 NAT(Network Address Translation,网络地址转换)模式。
 [root@nat ~]# ipvsadm -a -t 192.168.10.101:80 -r 10.0.0.12:80 -m
 [root@nat ~]# ipvsadm -Ln 
 # -L 选项表示列出(List)规则。
 # -n 选项表示以数字形式显示地址和端口,而不进行 DNS 解析,这样可以提高显示速度和准确性。
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  192.168.10.101:80 rr
   -> 10.0.0.11:80                 Masq    1      0          0         
   -> 10.0.0.12:80                 Masq    1      0          0  
 # “TCP 192.168.10.101:80 rr” 表示这是一个 TCP 协议的服务,地址为 192.168.10.101,端口为 80,使用的调度算法是轮询(rr)
 # “-> 10.0.0.11:80 Masq 1 0 0” 表示后端的一个真实服务器地址为 10.0.0.11,端口为 80,采用网络地址转换(Masq)模式,权重为 1,当前活跃连接数为 0,非活跃连接数为 0。
 # “-> 10.0.0.12:80 Masq 1 0 0” 则是另一个后端真实服务器的配置信息,地址为 10.0.0.12,端口为 80,同样是网络地址转换模式,权重为 1,活跃和非活跃连接数均为 0。
 此时访问vip还无法访问到web01和web02

3、ip转发

 [root@nat ~]# vim /etc/sysctl.conf 
 net.ipv4.ip_forward=1
 # net.ipv4.ip_forward=1 这个配置的作用是启用系统的 IP 转发功能。
 # 当设置为 1 时,表示允许系统在不同的网络接口之间转发 IP 数据包。
 [root@nat ~]# sysctl -p
 net.ipv4.ip_forward = 1
 # 使在 /etc/sysctl.conf 中所做的更改立即生效,而无需重新启动系统。
 此时访问vip还无法访问到web01和web02

4、修改网关

临时修改web01和web02的网关,网关必须指向dip(调度服务器的对内的ip)

 要求rs的ip和dip要在同一个网段,因为dip是作为rs网关存在的
 # 删除系统中的默认路由
 [root@web01 ~]# ip route del default 
 # 添加一条新的路由规则(只适用于目标主机(代理主机)为192.168.1.0网段的)
 [root@web01 ~]# ip route add 192.168.1.0/24 via 10.0.0.10
 [root@web02 ~]# ip route del default
 [root@web02 ~]# ip route add 192.168.1.0/24 via 10.0.0.10
 此时访问vip可以访问到web01和web02

修改网关(方法2):(适用于目标主机为任何网段)

步骤 1:查看当前默认路由
使用以下命令查看当前系统中的默认路由:
route -n
步骤 2:取消默认路由
假设当前的默认路由网关为 192.168.1.1,您可以使用以下命令取消它:
route del default gw 192.168.1.1
步骤 3:添加新的默认路由
例如,要添加新的默认路由网关为 10.0.0.1,可以使用以下命令:
route add default gw 10.0.0.1

lvs-nat模式的优点是配置简单,缺点是请求和响应都必须经过ds,容易性能瓶颈

现在,希望请求时使用input链进行负载均衡,响应时不经过ds,直接由rs响应给客户端

在nat模式时,请求vip,接收vip响应。

构想 :请求vip,接收rip响应,这是不允许 使用lvs-dr模式

5、NAT模式脚本

 # ds脚本
 #!/bin/bash
 #配置网卡
 echo TYPE=Ethernet  >> /etc/sysconfig/network-scripts/ifcfg-ens36 
 echo BOOTPROTO=none >> /etc/sysconfig/network-scripts/ifcfg-ens36 
 echo IPADDR=192.168.10.101  >> /etc/sysconfig/network-scripts/ifcfg-ens36
 read -p "router name:" router_name
 echo NAME='"$router_name"'  >> /etc/sysconfig/network-scripts/ifcfg-ens36 
 uuid=$( uuidgen )
 echo UUID='"$uuidgen"'  >> /etc/sysconfig/network-scripts/ifcfg-ens36 
 echo DEVICE='"$router_name"'  >> /etc/sysconfig/network-scripts/ifcfg-ens36 
 echo ONBOOT=yes  >> /etc/sysconfig/network-scripts/ifcfg-ens36 
 #重启网络服务
 systemctl restart network
 #安装ipvsadm
 yum list installed|grep ipvsadm
 if [ $? —ne 0 ];then
     yum -y install ipvsadm
 fi
 #配置规则
 read -p "vip:" vip
 read -p "port:" port
 read -p "rule:" rule
 read -p "rip1:" rip1
 read -p "rip2:" rip2
 ipvsadm -A -t $vip:$port -s $rule
 ipvsadm -a -t $vip:$port -r $rip1:$port -m
 ipvsadm -a -t $vip:$port -r $rip2:$port -m
 #ip转发
 echo "net.ipv4.ip_forward=1" > /etc/sysctl.conf
 sysctl -p
 #rs 脚本
 #!/bin/bash
 # 设置网关
 read -p "dip:" dip
 ip route del default
 ip route add default via $dip

6、DR模式

(1)性能更优,回路不再经过ds

(2)ds和rs为了保证用户响应,都要求配置统一的vip

(3)由于rs是直接响应client,网关一定不能设置为ds的dip

(4)对rs的vip进行抑制,让ds的vip接收请求,rs的vip不接受请求

7、设置dr主机

 1、在ds的ens33上挂一个vip10.0.0.101
 [root@dr ~]# ifconfig ens33:0 10.0.0.101 broadcast 10.0.0.101 netmask 255.255.255.255 up
 # ifconfig 是用于配置网络接口的命令。
 # ens33:0 是创建的虚拟接口名称。
 # 10.0.0.101 是为该虚拟接口分配的 IP 地址。
 # broadcast 10.0.0.101 指明了广播地址为 10.0.0.101 。
 # netmask 255.255.255.255 表示子网掩码为 255.255.255.255 ,这实际上是一个单点广播地址,通常用于特定的网络配置场景。
 # up 表示启用该网络接口。
 [root@dr ~]# route add -host 10.0.0.101 dev ens33:0
 # 将目标主机地址为 10.0.0.101 的数据包通过网络接口 ens33:0 进行发送
 # 10.0.0.101 dip
 # 10.0.0.13 vip  在rs上的vip和这个vip相同
 2、设置规范
 # 安装ipvsadm
 [root@dr ~]# yum -y install ipvsadm.x86_64 
 # 设置规则
 ipvsadm -A -t 10.0.0.101:80 -s rr
 ipvsadm -a -t 10.0.0.101:80 -r 10.0.0.11 -g
 # -a 选项表示添加(Add)一个真实服务器到已存在的服务中。
 # -t 10.0.0.101:80 指明了要添加真实服务器的服务是目标地址为 10.0.0.101 ,端口为 80 的 TCP 服务。
 # -r 10.0.0.11 表示要添加的真实服务器地址为 10.0.0.11 。
 # -g 表示使用直接路由(Direct Routing)模式。
 ipvsadm -a -t 10.0.0.101:80 -r 10.0.0.12 -g
 [root@dr ~]# ipvsadm -Ln
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  10.0.0.101:80 rr
   -> 10.0.0.11:80                 Route   1      0          0         
   -> 10.0.0.12:80                 Route   1      0          0 
 # rs不再需要指定端口,dr不支持端口映射,vip上是80端口,最终就是80端口
 # -m nat -g gateway

下午

1、设置rs主机

(1)在lo接口上绑定vip

 [root@web01 ~]# ifconfig lo:0 10.0.0.101 broadcast 10.0.0.101 netmask 255.255.255.255 up
 # ifconfig 是用于配置网络接口的命令。
 # lo:0 是创建的虚拟接口名称。
 # 10.0.0.101 是为该虚拟接口分配的 IP 地址。
 # broadcast 10.0.0.101 指明了广播地址为 10.0.0.101 。
 # netmask 255.255.255.255 表示子网掩码为 255.255.255.255 ,这实际上是一个单点广播地址,通常用于特定的网络配置场景。
 # up 表示启用该网络接口。

(2)设置主机路由

 [root@web01 ~]# route add -host 10.0.0.101 dev lo:0
 [root@web01 ~]# ifconfig

(3)抑制rs的vip接受请求

 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
 # echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore :将本地回环接口(lo)的 arp_ignore 参数设置为 1。当收到 ARP 请求时,如果目标 IP 不是本地接口的地址,则不回应。
 # echo 2 > /proc/ssys/net/ipv4/conf/lo/arp_announce :将本地回环接口的 arp_announce 参数设置为 2。在发送 ARP 报文时,尽可能使用能被其他主机路由到达的本地接口的 IP 地址。
 # echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore :将所有网络接口的 arp_ignore 参数设置为 1。
 # echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce :将所有网络接口的 arp_announce 参数设置为 2。
 # 限制某些情况下的 ARP 响应
 # 1.不理睬非本机ip请求,2优先其他主机路由也就是如果其他主机路由可以到达本地,让他们走远路过来本地

(4)生成脚本,对web02使用

 [root@web01 ~]# vim arp.sh 
 ifconfig lo:0 10.0.0.101 broadcast 10.0.0.101 netmask 255.255.225.255 up
 route add -host 10.0.0.101 dev lo:0
 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

2、测试

访问vip地址

 [root@dr ~]# ipvsadm -Ln
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  10.0.0.101:80 rr
   -> 10.0.0.11:80                 Route   1      1          0         
   -> 10.0.0.12:80                 Route   1      2          0         
 [root@dr ~]# ipvsadm -Ln --stats
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
   -> RemoteAddress:Port
 TCP  10.0.0.101:80                       3       14        0     2661        0
   -> 10.0.0.11:80                        1       10        0     2477        0
   -> 10.0.0.12:80                        2        4        0      184        0

3、dr模式脚本

(1)dr脚本

 #!/bin/bash
 # 在ens33上挂载一个ip地址
 read -p "vip:" vip
 read -p "mac:" mac
 read -p "num:" num
 ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255
 # 主机路由
 route add -host $vip dev $mac:$num
 # 安装ipvsadm
 yum list installed|grep ipvsadmm
 if [ $? —ne 0 ];then
     yum -y install ipvsadm
 fi
 # 配置规则(不需要设置ip_forword)
 ipvsadm -C
 read -p "rule:" rule
 read -p "port:" port
 ipvsadm -A -t $vip:$port -s $rule
 read -p "rip1:" rip1
 ipvsadm -a -t $vip:$port -r $rip1 -g
 read -p "rip2:" rip2
 ipvsadm -a -t $vip:$port -r $rip2 -g

(2)rs脚本

 #!/bin/bash
 # 在ens33上挂载一个ip地址
 read -p "vip:" vip
 read -p "mac:" mac
 read -p "num:" num
 ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255
 # 主机路由
 route add -host $vip dev $mac:$num
 # 抑制
 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

练习:对mysql的3306服务进行负载均衡

1、配置mysql主机 x.x.x.21,命名为master_mysql.xxx.xxx,激活并且添加数据库test

2、在test中添加表student id int 主键,自增,name 字符串类型 非空,grade 字符串 非空,domi varchar 非空

3、添加三行数据

编号姓名班级宿舍
1001孙颖莎云计算1班1002
1002大头云计算2班1003
1003小胖云计算2班1004

3、配置mysql从服务,备份mysqlx.x.x.22的mysql服务,使用gtids同步事务

4、lvs对两台mysql主机进行rr负载均衡

5、使用python写一个脚本通过lvs ds主机读取mysql中的数据

6、自动化程度越高越好

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数组前缀和算法技巧

一、什么是数组前缀和 数组中前缀和技巧&#xff08;Prefix Sum Technique&#xff09;是一种常见且有用的算法技巧&#xff0c;特别适用于需要频繁查询数组区间和的问题。这种技巧通过创建一个额外的数组来存储原始数组中特定位置之前所有元素的和&#xff0c;从而在需要计算…

【图论】并查集(Union-find Sets)

文章目录 前言一、并查集(Union-find Sets)基本概念基本操作步骤 二、并查集的操作步骤1. 初始化 init2. 查询 find、合并 union&#xff08;未进行路径压缩&#xff09;3. 查询 find、合并 union&#xff08;路径压缩&#xff09; 三、Kruskal 算法中 环 的判断并查集的使用 总…

C++中的string介绍(常用函数)

string类 为什么学习string类C语言中的字符串 标准库中的string类string类(了解)auto和范围forauto关键字范围for string类的常用接口说明(注意下面只讲解最常用的接口)string类对象的常见构造 string类对象的容量操作string类对象的访问及遍历操作string类对象的修改操作strin…

洛谷 P6280 [USACO20OPEN] Exercise G

题目来源于&#xff1a;洛谷 题目本质&#xff1a;dp&#xff0c;素数筛法&#xff0c;质数 本题与P4161基本一模一样 首先&#xff0c;分析题目发现&#xff0c;某个排列的需要进行恰好 K 步变回原样&#xff0c;这个时候K的值就是这个排序中各个环的长的的最小公倍数(lcm)。…

wechatAssetsPicker组件的用法

文章目录 1. 概念介绍2. 思路与方法2.1 使用思路2.2 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"ImagePicker使用总结"相关的内容&#xff0c;本章回中将介绍wechat_assets_picker这个三方包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介…

红外遥控设计验证

前言 红外遥控是一种无线、非接触控制技术&#xff0c;具有抗干扰能力强&#xff0c;信息传输可靠&#xff0c;功耗低&#xff0c;成本低&#xff0c;易实现等显著优点&#xff0c;被诸多电子设备特别是家用电器广泛采用&#xff0c;并越来越多的应用到计算机和手机系统中。本文…

位运算(1)

1.获取第i位的二进制数(只出现一次数字2)&#xff1a; 2.将第i位的二进制设为1&#xff08;只出现一次数字2&#xff09;&#xff1a; 3.int最低位为1的数&#xff08;只出现一次数字3&#xff09;&#xff1a;

【2024】docker镜像拉取失败网络超时解决办法-自建镜像加速服务

目录 前言一、直接配置镜像加速地址二、自己搭建中转服务进行镜像加速1、Fork副本2、创建cloudflare3、注册域名4、测试使用5、配置变量 前言 近期docker官方镜像拉取经常容易出现网络超时&#xff0c;下面为一些常用的处理解决部分 实现docker镜像拉取加速解决方案 直接使用一…

【iOS】Block底层分析

目录 前言Block底层结构Block捕获变量原理捕获局部变量&#xff08;auto、static&#xff09;全局变量捕获实例self Block类型Block的copyBlock作为返回值将Block赋值给__strong指针Block作为Cocoa API中方法名含有usingBlock的方法参数Block作为GCD API的方法参数Block属性的写…

[第五空间 2021]EasyCleanup

题目源代码&#xff1a; <?php if(!isset($_GET[mode])){ highlight_file(__file__); }else if($_GET[mode] "eval"){ $shell isset($_GET[shell]) ? $_GET[shell] : phpinfo();; if(strlen($shell) > 15 | filter($shell) | checkNums($shell)) exit(&q…

git学习使用碰到的问题1

本来在B站上看到的关于stash的使用时视频末尾讲到git stash drop 编号 会删除暂存记录 确实也是这么回事&#xff0c;但是末尾说到git stash pop 编号时up主说在恢复工作进度的时候我们可以直接删除掉这个工作记录可以直接使用 git stash pop stash{0} 使用完以后却出现了如上图…

AI项目二十四:yolov10竹签模型,自动数竹签

若该文为原创文章&#xff0c;转载请注明原文出处。 原本是为部署RK3568而先熟悉yolov10流程的&#xff0c;采用自己的数据集&#xff0c;网上很多&#xff0c;检测竹签&#xff0c;并计数。 1、环境搭建 1.1 官方下载源码 官网地址&#xff1a;YOLOv10 gitbub官网源码 利用…

各类函数调用

目录 getpwuid函数 查看uid的name​编辑 symlink函数软链接&#xff08;创建快捷方式&#xff09; remove函数 rename函数 link硬链接 truncate函数控制文件大小 perror报错函数 strerror报错函数序列表 error报错函数&#xff1a;详细报错 Makefile编译函数、工程管…

考试题型宏观分析之公共营养师三级

背景 第一遍知识学习之后&#xff0c;打印《2023.10.14公共营养师三级真题》进行第一次摸底&#xff0c;首要目标在于通过摸底&#xff0c;对于考试题型进行宏观分析和了解&#xff0c;其次&#xff0c;对于后续的学习进行有的放矢 直至2024-08-18&#xff0c;对于上述资料的一…

ubuntu配pip的源

临时使用源 pip install [包名] -i [pip源URL]# 示例 pip install pytest -i https://pypi.tuna.tsinghua.edu.cn/simple更换配置pip镜像源 step1&#xff1a;创建一个配置文件 mkdir ~/.pip/ cd .pip sudo vim pip.conf step2:填写源信息&#xff0c;保存并退出【:wq】 [g…

Android 架构模式之 MVC

目录 架构设计的目的对 MVC 的理解Android 中 MVC 的问题试吃个小李子ViewModelController 大家好&#xff01; 作为 Android 程序猿&#xff0c;MVC 应该是我们第一个接触的架构吧&#xff0c;从开始接触 Android 那一刻起&#xff0c;我们就开始接触它&#xff0c;可还记得我…

【秋招笔试】8.18科大讯飞秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

【接口测试】Postman + newman超详细图文安装教程

一、Postman安装 下载网址&#xff1a;Postman API Platform 打开网址&#xff0c;选择自己系统对应的版本进行下载。 双击Postman安装包&#xff0c;全自动安装&#xff0c;不需要任何人为干预。安装完成后&#xff0c;页面如下图&#xff0c;点击手动打开注册页面。 自行…

超详细!!!electron-vite-vue开发桌面应用之引入UI组件库element-plus(四)

云风网 云风笔记 云风知识库 一、安装element-plus以及图标库依赖 npm install element-plus --save npm install element-plus/icons-vue npm i -D unplugin-icons二、vite按需引入插件 npm install -D unplugin-vue-components unplugin-auto-importunplugin-vue-componen…

Linux-DNS域名解析服务

系列文章目录 提示&#xff1a;仅用于个人学习&#xff0c;进行查漏补缺使用。 1.Linux网络设置 2.LinuxDHCP服务 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言提示&#xff1a;以下是本篇文章…