版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基础服务作者TeachingObjectives教学目标知识目标技能目标素养目标熟练掌握配置安装源的各种配置熟练配置时钟同步服务熟悉数据库的安装、创建、数据记录的录入和各类查询会合理配置防火墙熟练安装、配置和创建虚拟机及容器具备在局域网配置时钟同步服务能力具备管理数据库的能力具备初步的配置企业防火墙能力具备一般的虚拟机安装及创建能力培养独立思考的能力,能根据企业单位需要和目标进行有效策划培养创新意识和与时俱进的思想培育并践行我国社会主义核心价值观CONTENTS目录01
配置安装源02
时钟同步服务03
数据库服务04
防火墙05
虚拟机与容器06
总结与实践应用配置安装源01安装源网上安装源
网上安装源指通过网络连接获取软件安装包的来源,依赖网络从远程服务器下载所需软件。本地安装源
本地安装源是将软件安装包预先存储在本地设备,如光盘、硬盘等,无需网络即可安装软件。安装源一般情况下有网上安装源和本地安装源。网上安装源在网络环境良好时的选择:网络环境良好且稳定,带宽充足,选择网上安装源,可获取最新版本软件,更新方便。如办公室高速网络场景。网上安装源
CentOS-Linux-BaseOS.repo关键参数[baseos]部分,name定义仓库名称,mirrorlist指定安装源网址,gpgcheck用于检查软件包签名。CentOS-Linux-AppStream.repo关键参数[appstream]部分,name为仓库名称,mirrorlist是安装源网址,gpgcheck确保软件包完整性和安全性。mirrorlist配置项作用mirrorlist指向包含多个镜像服务器地址的列表,系统从中选择合适服务器下载软件,提高下载速度。gpgcheck配置项作用gpgcheck设为1时,系统验证软件包GPG签名,防止软件被篡改,保证软件来源可靠。虚拟机的网上安装源使用的要求:A、按项目2中的任务5设置完成虚拟机上internet外网的参数。B、Linux操作系统的安装源是默认状态。
了解就可,不需要手动设置。配置本地安装源挂载ISO文件确定虚拟机已挂载ISO文件,这是本地安装源的基础,提供软件安装包来源。创建及挂载目录这挂载是临时挂载的,重启系统会消失,需要重新挂载。如图所示。mkdir/mnt/cdrom为ISO文件挂载提供位置。mount-oloop/dev/cdrom(源ISO文件位置)/mnt/cdrom将ISO文件挂载到指定目录。一般情况下,本地安装源也叫本地yum安装源。配置本地安装源备份原有repo文件命令:cd/etc/yum.repos.d[root@localhostyum.repos.d]#mkdirback#在前目录下创建“back”目录[root@localhostyum.repos.d]#mvC*back/#在前目录下把“C”开头的所有文件及目录移到“back”目录中
说明:C*是CentOS版本在/etc/yum.repos.d中的所有文件,对这些文件进行移动到back文件中。如图所示。配置本地安装源建立本地安装源local.repo文件编辑local.repo文件(改变为本地安装源)[root@localhostyum.repos.d]#vimlocal.repo#当前目录下进行命令操作编辑的内容:Rocky8.0及以上、CentOS8.0及以上版本适用我们的教材使用的是CentOS8.4操作系统,使用本地安装源参数。如图8-4所示。[AppStream]name=AppStreambaseurl=file:///mnt/cdrom/AppStream/gpgcheck=0enabled=1[BaseOS]name=BaseOSbaseurl=file:///mnt/cdrom/BaseOS/gpgcheck=0enabled=1说明:baseurl,指定挂载的目录下的BaseOS以及AppStream目录gpgcheck即不校验enabled启用该镜像配置本地安装源缓存处理清除原缓存,再建立缓存,
如图所示进行操作。命令:yumcleanall命令:yummakecache配置本地安装源设置开机自动挂载
这种情况需要在Linux系统中有源ISO文件,并且要知道具体的存放位置。设置开机自动挂载时,设置完成后,每次开机自动挂载,不用再次设置。但有一定的风险,如设置不当,会制成系统破坏。命令:vim/etc/fstab编辑内容:/dev/cdrom(源ISO文件位置)/mnt/cdrom
说明:我们把上面的/dev/cdrom(源ISO文件位置)设置在/ect/fstab文件中,但不可靠。有时配置后重新启动可能会带来死机。时钟同步服务02chrony是网络时间协议(NTP)的灵活实现。它用于同步来自不同NTP服务器的系统时钟,因此让你的时间保持精确。它也可以用于NTPv4服务器向同一网络中的其他服务器提供时间服务。它旨在在不同的条件下完美运行,例如间歇性网络连接,网络负载过重,温度变化,这可能会影响普通计算机的时钟。chrony由两个程序组成:chronyc–chrony的命令行界面chronyd–可以在启动时启动的守护程序chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。网络时钟同步网络时钟同步的要求:A.实现网络时钟同步的前提是计算机连上互联网B.确保时区选择正确查看当前时区命令:timedatectl中国内地时区:Asia/Shanghai(CST,+0800)C.如果不对,采用以下命令调整:timedatectlset-timezoneAsia/Shanghai使用时钟同步服务在某一局域网中要求时钟同步时,需要时钟同步服务器与时钟同步终端。A.时间同步服务器端,是让允许的计算机以它为服务器进行时间同步。B.时间同步终端,以局域网为本地的时间同步服务器为服务器作时间源,同步服务器的时间。chrony时间同步服务的安装
查询chrony是否已安装
操作系统为centos8.4版本,需要检查服务器端与客户端是否安装了chrony时间同步服务软件。系统默认是已经安装的,不用安装的。命令:rpm-qa|grepchrony查询系统是否已安装chrony,若显示相关版本信息则已安装,否则未安装。
安装chrony服务若未安装或被卸载,使用“yuminstallchrony”命令进行安装,该命令会自动下载并配置所需文件。配置时间同步服务--服务器端
服务器端关闭外网同步编辑/etc/chrony.conf文件,在命令行前加“#”关闭外网时间同步,防止出错。
确定时间同步服务器IP
我们要组织考试,要求学校所有的考试机与服务器的时间同步,因此需要使用局域网时间同步服务。服务器的IP:6。考试机也是同一IP段上。配置时间同步服务--服务器端
配置及管理
我们开始设置时间同步的服务器,在时间同步的服务器端的/etc/chrony.conf文件配置如下的原参数说明:ServerIPiburst#本服务器的IP,作服务用allow/24#允许“0”段IP同步时间。让终端机与这服务器同步localstratum10#允许NTP客户端从本地网络访问配置服务器端的时间同步源。允许“1”段IP同步时间,如图所示。配置参数内容:Server6iburstallow/24localstratum10命令:vim/etc/chrony.conf配置时间同步服务--服务器端
服务器端防火墙规则配置不关闭防火墙、但允许NTP服务,如图所示。命令:firewall-cmd--add-service=ntp--permanent命令:firewall-cmd--reload
启动、开机自启动的服务器端与客户端都需要的操作。启动命令:systemctlstartchronyd或systemctlstartchronyd.service开机自启动命令:systemctlenablechronyd配置时间同步服务--客户端
客户端指向服务器IP
设置考试机,即时间同步的另一电脑,也就是“客户端”,配置指向服务器的时间同步源。其/etc/chrony.conf文件配置如下的原参数说明:serverserver的IPiburst#指向时间同步服务器server端的IP。A.配置服务器端用vim命令编辑/etc/chrony.conf文件,配置参数内容,如图所示。命令:vim/etc/chrony.conf
在/etc/chrony.conf配置文件中添加一条如下的命令。server6iburst配置时间同步服务--客户端B.不关闭防火墙、但允许NTP服务,如图所示。命令:firewall-cmd--add-service=ntp--permanent命令:firewall-cmd–reloadC.启动、开机自启动服务器端与客户端都需要,启动chronyd服务。命令:ystemctlstartchronyd或systemctlstartchronyd.service命令:systemctlenablechronyd开机自启动完成同步客户端使用chronycsources-v命令完成同步即可,如图所示。数据库服务03数据库数据库的定义
数据库(Database)是用来存储和管理大量结构化数据的集合。它是一个有组织的数据集合,可以通过特定的方式进行存储、检索、更新和管理数据。将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。例如:银行存款的信息;电话簿。数据库的作用与功能
数据库主要用于在计算机系统中持久地存储大量有组织的数据,并提供灵活的数据访问和管理功能。它通过使用表、行和列的结构来组织和存储数据,并提供了查询语言(如SQL)和其他工具来操作和处理这些数据。数据库是存储、管理和操作组织化数据的软件系统。数据库的要求A.可靠性和稳定性现代数据库系统通常具有高度可靠性和稳定性,可以提供持久性和容错性,可以确保企业的数据安全性。B.数据管理能力数据库系统提供了一种强大的方式来管理数据,从数据的存储到访问都进行统一的管理。企业可以更好地跟踪、管理和报告数据,从而使工作更加高效。C.数据共享和集成企业常常需要从不同的部门和应用程序中收集信息和数据。通过使用数据库,这些数据可以集成在一起,使企业更容易理解业务、做出决策。D.数据安全性和隐私保护企业往往会处理大量的机密数据,如个人信息、财务信息、业务数据等等。数据库管理系统可以提供安全的访问控制和数据保护功能,保护数据的隐私性和机密性。E.减少数据冗余MariaDB安装与管理MariaDB是一款由MySQL的开发人员开发的开源关系型数据库,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。因其优秀的性能和与MySQL良好的兼容性而广受欢迎。它是当今大多数主要云产品的一部分,对其稳定性和性能起到重要作用。最近通过使用GaleraCluster技术,MariaDB新增了集群功能。另外MariaDB还与Oracle数据库有一定的兼容性。MariaDB安装与管理--安装、启动安装mariadb命令,如图所示。命令:yuminstallmariadb-server启动mariadb服务,如图所示。命令:systemctlstartmariadbC.查看mysql网络接口,如图8-21所示。命令:netstat-antlpe|grepmysql命令可以查询到mysql网络接口参数为‘3306’、‘27’、‘111736’及‘26842’。tcp00:3306:*LISTEN2711173626842/mysqldMariaDB安装与管理--关闭防火墙为了防止在学习的过程中出现各种影响实验因素,我们关闭对外开放接口,把防火墙关闭,如图所示。命令:systemctlstopfirewalldMariaDB安装与管理--mysql初始化1这里的mysql的初始化是对一些参数进行设置的,也可省去不设置。A、初始化1命令:vim/etc/fskip-networking=1
文件添加内容,表示把数据库在网络上开启的接口跳过,如图所示。/etc/f参数设置完成需要重启mariadb,才生效。命令:systemctlrestartmariadb用下命令检查网络接口上是否已关闭。命令:netstat-antlpe|grepmysqlMariaDB安装与管理--mysql初始化2-1这次初始化是设定mysql登录用户的密码等。命令:mysql_secure_installation/usr/bin/mysql_secure_installation:line379:find_mysql_client:commandnotfoundNOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMariaDBSERVERSINPRODUCTIONUSE!PLEASEREADEACHSTEPCAREFULLY!InordertologintoMariaDBtosecureit,we'llneedthecurrentpasswordfortherootuser.Ifyou'vejustinstalledMariaDB,andyouhaven'tsettherootpasswordyet,thepasswordwillbeblank,soyoushouldjustpressenterhere.Entercurrentpasswordforroot(enterfornone):/回车OK,successfullyusedpassword,movingon...SettingtherootpasswordensuresthatnobodycanlogintotheMariaDBrootuserwithouttheproperauthorisation.Setrootpassword?[Y/n]y/设置超级用户登录密码Newpassword:/第一次输入密码Re-enternewpassword:/第二次验证Passwordupdatedsuccessfully!Reloadingprivilegetables.....Success!MariaDB安装与管理--mysql初始化2-2Bydefault,aMariaDBinstallationhasananonymoususer,allowinganyonetologintoMariaDBwithouthavingtohaveauseraccountcreatedforthem.Thisisintendedonlyfortesting,andtomaketheinstallationgoabitsmoother.Youshouldremovethembeforemovingintoaproductionenvironment.
Removeanonymoususers?[Y/n]/回车...Success!
Normally,rootshouldonlybeallowedtoconnectfrom'localhost'.Thisensuresthatsomeonecannotguessattherootpasswordfromthenetwork.
Disallowrootloginremotely?[Y/n]/回车...Success!
Bydefault,MariaDBcomeswithadatabasenamed'test'thatanyonecanaccess.Thisisalsointendedonlyfortesting,andshouldberemovedbeforemovingintoaproductionenvironment.MariaDB安装与管理--mysql初始化2-3Removetestdatabaseandaccesstoit?[Y/n]/回车-Droppingtestdatabase......Success!-Removingprivilegesontestdatabase......Success!
Reloadingtheprivilegetableswillensurethatallchangesmadesofarwilltakeeffectimmediately.
Reloadprivilegetablesnow?[Y/n]/回车...Success!
Cleaningup...
Alldone!Ifyou'vecompletedalloftheabovesteps,yourMariaDBinstallationshouldnowbesecure.
完成安全设定。MariaDB安装与管理--登录mysql数据库及各类查询
登录数据库登录MariaDB数据库命令:mysql-uroot–p若设置了密码,按提示输入密码即可登录。使用root用户登录mysql,为了安全起见不会直接在-p后面加密码。如刚安装完成的数据库软件没有进行初始化2的安全设定时,mysql数据库中的root用户是没有密码的,如图所示。MariaDB安装与管理--登录mysql数据库及各类查询显示当前库的名字
使用“SHOWDATABASES;”命令是显示当前库的名字,相当于查看目录下的子目录的名字,如图所示。命令:SHOWDATABASES;进入某一数据库
使用“USEdatabase_name;”命令进入某一个数据库(如:“USEmysql;”命令进入mysql数据库),相当于进入目录的子目录里面,如图8-28所示。
命令:USEmysql;mysql数据库各类查询命令1MariaDB安装与管理--登录mysql数据库及各类查询查看数据库表进入某一个数据库后,如mysql数据库,查看有哪些表,相当于查看子目录里面有哪些文件,如图所示。命令:SHOWTABLES;查询某一个数据库表的所有内容使用“SELECT*FROMtable_name;”从某一个数据库中的某一个表中查询所有内容。查询mysql数据库中的user表的所有内容如下命令,如图所示。SELECTUser,Host,PasswordFROMuser;mysql数据库各类查询命令2MariaDB安装与管理--登录mysql数据库及各类查询查询表结构如图所示查询表结构。
命令:SELECTUser,Host,PasswordFROMuserWhereUser='root'ANDHost='localhost';mysql数据库各类查询命令3MariaDB安装与管理--创建数据库、创建表格及添加数据登录数据库如上述一样,登录MariaDB数据库命令:mysql-uroot–p若设置了密码,按提示输入密码即可登录。创建数据库使用“CREATEDATABASEdatabase_name;”命令创建数据库,如图所示。命令:CREATEDATABASElili;#创建数据库lili使用“SHOWDATABASES;”查看创建成功的数据库“lili”,如图所示。命令:SHOWDATABASES;MariaDB安装与管理--创建数据库、创建表格及添加数据创建数据表
使用“CREATETABLEtable_name(nameVARCHAR(20),passwordCHAR(20));”创建数据表,包括表名“name”。表格属性“nameVARCHAR(20),passwordVARCHAR(50)”。A、先进入“lili”数据库,然后才创建表格命令:USElili;
先进入“lili”数据库,如图所示。B、查看发现“lili”数据库命令:SHOWTABLES;
查看时,发现“lili”数据库为空,如图所示。MariaDB安装与管理--创建数据库、创建表格及添加数据创建数据表C、创建表格命令:CREATETABLElao(usernamevarchar(6)notnull,passwordvarchar(50)notnull);
创建表格。如图8-36所示。D、再次查看表格,发现已创建命令:SHOWTABLES;
查看“lili”数据库中的表格“lao”,如图所示。MariaDB安装与管理--创建数据库、创建表格及添加数据在表格中添加数据记录在数据库“lili”的表格“lao”中插入一条数据。命令:INSERTINTOlaovalues('zhong','123456');
插入用户名为“zhong”,密码为“123456”,如图所示。查看表格“lili”中的数据,如图所示。命令:SELECT*FROMlao;完成退出“quit”,如图所示命令:quitMariaDB安装与管理--更新mysql登录数据库命令:mysql-uroot-pEnterpassword:#输入密码,如图所示。一般情况下,我们不修改数据库的名字,只对数据库表的表名及及相关的内容进行更新或修改的。修改数据表的名字1进入数据库“lili”,如图所示。命令:USElili;MariaDB安装与管理--更新mysql修改数据表的名字2更改数据库表名,更改数据库表名为“riri”,如图所示。命令:ALTERTABLElaoRENAMEriri;查看更改的情况,如图所示。命令:SHOWTABLES;MariaDB安装与管理--更新mysql添加或删除表的内容1添加表的内容,如图所示。命令:ALTERTABLEririADDstylevarchar(5)AFTERusername;查看内容更新情况,如图8-46所示查看表格“riri”的内容。MariaDB[lili]>SELECT*FROMriri;MariaDB安装与管理--更新mysql添加或删除表的内容2删除表列内容,如图8-47所示。命令:ALTERTABLEririDROPstyle;查询删除表列情况,如图8-48所示。命令:SELECT*FROMriri;MariaDB安装与管理--更新mysql更新表格的内容更新表格的内容,如图所示。命令:UPDATEririSETpassword='333'WHEREusername='zhong';查询更新的情况,如图所示。命令:SELECT*FROMriri;MariaDB安装与管理--更新mysql删除数据库表删除数据库表,如图所示。命令:DROPTABLEriri;查询删除表的情况,如图所示。命令:SHOWTABLES;MariaDB安装与管理--更新mysql删除数据库删除数据库,如图所示。命令:DROPDATABASElili;查询删除数据库情况,如图所示。命令:SHOWDATABASES;完成,退出,如图所示。命令:quitMariaDB安装与管理--备份与恢复
为了保证数据库使用安全,必须定期备份数据库;数据库备份可以分为:完全备份、日志备份、增量备份和文件备份。对于一个大型数据库,频繁执行完全备份可能会需要太多的时间,而且完全备份经常会多次备份一些没有更新过的数据,会造成资源浪费。现在最常用的数据库备份策略是在完全备份的基础上进行较频繁的增量备份。例如,我们可以在数据库使用较少的时段每周进行一次完全备份,然后每天进行一次增量备份,备份下这段时间中可能修改数据库内容的操作,以便在发生文件系统故障、硬件问题等问题导致数据库发生灾难性崩溃的时候利用备份数据进行数据库的恢复。下面,我们从一些简单的操作来学习数据库的备份。备份所有数据库,“-proot”表示密码为“root”,如图所示。命令:mysqldump-uroot-proot--all-database备份所有数据库的框架,只备份所有数据库的框架不备份数据,“-proot”表示密码为“root”。命令:mysqldump-uroot-proot--all-database--no-data备份数据库,备份数据库lili,备份位置在当前,“-proot”表示密码为“root”。命令:mysqldump-uroot-prootlili导出数据库,备份数据库lili,并将其导入/home下,“-proot”表示密码为“root”。命令:mysqldump-uroot-prootlili>/home/lili.sql防火墙04防火墙的概念及知识--防火墙的概念
在Linux操作系统中,常用的防火墙服务是iptables和firewalld。iptables是较为传统的防火墙工具,而firewalld是iptables的一个前端管理工具,提供了更为方便的管理界面和更多的功能。防火墙(firewall)是一个架设在互联网与企业内网之间的信息安全系统,根据企业预定的策略来监控往来的传输。是一台专属的网络设备或是运行于主机上来检查各个网络接口上的网络传输。它是目前最重要的一种网络防护设备,从专业角度来说,防火墙是位于两个(或多个)网络间,实行网络间访问或控制的一组组件集合之硬件或软件。
防火墙的功能
防火墙最基本的功能就是隔离网络,通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同信任程度区域间传送的数据流。实现了网络流量的逻辑隔离与可控互通,成为构建多层防御体系的基础防火墙的概念及知识--防火墙技术种类
防火墙技术种类A.包过滤防火墙packetfilteringB.应用代理防火墙applicationproxyC.状态检测防火墙statefulinspection
firewalld是包过滤防火墙,在本项目中只讲包过滤防火墙,也就是学习关于firewalld的内容。需要注意的是iptables和firewalld都不是防火墙,他们都只是管理防火墙的工具、服务。firewalld防火墙是Centos7及以上系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。防火墙的概念及知识--firewalld特点
firewalld特点
之前的iptables防火墙是静态的,每次修改都要求防火墙完全重启,这个过程包括内核netfilter防火墙模块的卸载和新配置所需模块的装载等,而模块的卸载将会破坏状态防火墙和确立建立的连接,现在firewalld可以动态管理防火墙,firewalld把netfilter的过滤功能集于一身。防火墙的概念及知识--firewalld的区域概念
相较于传统的iptables防火墙,firewalld支持动态更新,并加入了区域zone的概念。也就是firewalld预先准备了几套防火墙策略集合(策略模板)。用户可以根据自己的使用场景来选择所需要的区域,从而实现防火墙策略之间的快速切换。使用区域zone时注意
一个网卡仅能绑定一个区域:eth0–>区域zone
而一个区域可以绑定多个网卡:区域zone—>eth0,eth1,eth2防火墙的概念及知识--firewalld的区域概念firewalld预定义的九种网络区域zone默认情况就有一些有效的区域,由firewalld提供的区域按照从不信任到信任的顺序排序:drop(丢弃区域)、block(限制区域)、dmz(隔离区域也称为非军事区域)、external(外部区域)、public(公共区域)、work(工作区域)、internal(内部区域)、home(家庭区域)、trusted(信任区域)防火墙的概念及知识--firewalld的区域概念区域zone解释防火墙的区域(Zone)是网络安全架构中的逻辑划分单元,用于对不同安全级别的网络接口或设备进行分组管理。表8-1区域zone解释区域选项默认规则策略trusted信任区域:允许所有网络通信通过,因为信任区域(TrustedZone)是最被信任的,即使没有设置任何的服务,那么也是被允许的,因为信任区域(TrustedZone)是允许所有连接的home家庭区域:用于家庭环境,它同样只允许被选中的连接,即ssh、ipp-client、mdns、samba-client和dhcpv6-client。internal内部区域:这个区域和工作区域(WorkZone)类似,只允许通过被选中的连接,与家庭区域(HomeZone)相同。work工作区域:只能定义内部网络,比如私有网络通信才被允许,只允许ssh、ipp-client和dhcpv6-clientpublic公共区域:只接受那些被选中的连接,默认只允许ssh和dhcpv6-client,这个zone是缺省zone(缺省就是默认的意思,所以公共区域也是默认区域,在没有任何配置的情况下走的是公共区域)。external外部区域:相当于路由器的启动伪装(masquerading)选项,只有指定的连接会被接受,如果流量与ssh服务相关,则允许流量,而其他的连接将被丢弃或者不被接受。dmz隔离区域:如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义,它也拥有只通过被选中连接的特性,即ssh,这个区域又叫作非军事化区域block阻塞区域:会拒绝进入的网络连接,只有服务器已经建立的连接会被通过,即只允许由该系统初始化的网络连接。拒绝流入的流量,除非与流出的流量相关。drop丢弃区域:任何进入的数据包将被丢弃,使用丢弃规则意味着将不存在相应。拒绝流入的流量,除非与流出的流量相关。我们在使用时必须要记住的区域zone:trusted区域表示白名单、public区域表示默认、drop区域表示黑名单。firewalld默认规则是全部拒绝,iptable默认规则是全部允许。防火墙的概念及知识--firewalld的区域概念策略匹配检查如果一个客户端访问服务器,服务器根据以下原则决定使用哪个区域(zone)的策略去匹配:A.如果一个客户端数据包的源IP地址匹配Zone的来源(sources)也就是匹配区域的规则,那么该Zone的规则就适用这个客户端,一个源只能属于一个Zone,不能同时属于多个区域(Zone)B.如果一个客户端数据包进入服务器的某一个接口(如ens33网卡接口)匹配了Zone的接口(interfaces),则该Zone的规则就适用这个客户端,一个接口只能属于一个Zone,不能同时属于多个ZoneC.如果上述两个原则都不满足,那么默认的Zone将被应用firewalld数据处理流程,检查数据来源的源地址,firewalld防火墙工具管理及查询操作firewalld安装、启动及开机自动开启1CentOS8.4版本的桌面化系统是默认firewalld是安装了的。安装firewalld,如图所示。命令:yuminstallfirewalldfirewalld防火墙工具管理及查询操作firewalld安装、启动及开机自动开启2firewalld启动命令:systemctlstartfirewalld开机自动开启命令:systemctlenablefirewalld当我们完成firewalld设置时,需要重启,firewalld的设置才生效。命令:systemctlrestartfirewalld重新加载防火墙以应用更改,如图8-59所示。命令:firewall-cmd--reloadfirewalld防火墙工具管理及查询操作禁用或使用其他防火墙为了能正常使用firewalld服务和相关工具去管理防火墙,就要启动firewalld服务,而希望关闭以前旧的防火墙相关服务。目前常用的防火墙服务是iptables和firewalld。我们禁用其他防火墙,就是禁用iptables了。在CentOS8.4版本的桌面化系统是默认iptables是没有安装的,可以不进行禁用,firewalld防火墙的配置firewalld防火墙有三种配置方法,我们只从firewall-cmd命令行工具和/etc/firewalld/中的配置文件进行学习。A.firewall-cmd命令行工具B./etc/firewalld/中的配置文件C.firewall-config图行化工具为了能正常使用firewalld服务和相关工具去管理防火墙,必须启动firewalld服务,同时关闭以前旧的防火墙相关服务,需要注意firewalld的规则分为两种状态:runtime运行时:修改规则马上生效,但如果重启服务则马上失效,测试建议。permanent持久配置:修改规则后需要reload重载服务才会生效,生产建议。firewalld防火墙的配置方法firewalld防火墙的配置--使用firewall-cmd命令进行配置
firewalld常用命令1查看防火墙是否运行。如图所示。命令:firewall-cmd--state查看当前的所有防火墙规则(默认区域),如图所示。命令:firewall-cmd--list-all查看默认区域,如图所示。命令:firewall-cmd--get-default-zone查看区域规则(指定区域),如图所示。命令:firewall-cmd--list-all--zone=trustedfirewalld防火墙的配置--使用firewall-cmd命令进行配置
firewalld常用命令2表8-2区域规则规则规则说明trusted区域名称:信任区域target:ACCEPT状态:接收(默认状态)icmp-block-inversion:noicmp块interfaces:绑定的网卡sources:允许通过的IP地址、网段services:允许通过的服务ports:允许访问的端口protocols:允许通过的协议(TCP/UDP/DCCP/SCTP)masquerade:noIP伪装forward-ports:转发的端口source-ports:源端口icmp-blocks:icmp块richrules:富规则查询一个区域是否有某条规则,如图所示。命令:firewall-cmd--query-service=ssh#查询是否有SSH规则查询是否有HTTP规则,如图所示。命令:firewall-cmd--query-service=httpfirewalld防火墙的配置--使用firewall-cmd命令进行配置
firewalld常用命令3重启防火墙(清理默认的规则),如图所示。命令:firewall-cmd--reload查看防火墙可用区域,如图
所示。命令:firewall-cmd--get-zones查看防火墙默认区域,如图所示。命令:firewall-cmd--get-default-zone查看防火墙可用服务,如图所示。命令:firewall-cmd--get-servicefirewalld防火墙的配置--使用firewall-cmd命令进行配置
firewalld常用命令4查看防火墙可用的icmp阻塞类型,如图所示。命令:firewall-cmd--get-icmptypes拒绝所有包,如图所示。命令:firewall-cmd--panic-on取消拒绝状态,如图所示。命令:firewall-cmd--panic-off查看是否拒绝,如图所示。命令:firewall-cmd--query-panicfirewalld防火墙的配置--使用firewall-cmd命令进行配置
防火墙配置放行策略1A、firewalld放行服务放行HTTP服务,如果原来无放行,则添加一条放行HTTP服务规则,如图所示。命令:firewall-cmd--add-service=http放行多个服务,如图所示。命令:firewall-cmd--add-service={https,mysql,redis}B、firewalld放行端口开放端口必须加上协议,如图所示。命令:firewall-cmd--add-port=80/tcp添加多个端口,如图所示。命令:firewall-cmd--add-port={443/tcp,80/udp}完成以上操作,我们再次用以下命令查看当前的所有防火墙规则(默认区域)时,有些参数已经设置了。如端口“ports”增加了放行“80/tcp443/tcp80/udp”的端口,如图所示。命令:firewall-cmd--list-allfirewalld防火墙的配置--使用firewall-cmd命令进行配置
防火墙配置放行策略2C、放行ip允许一个IP通过的操作,放行IP=地址。如图所示。命令:firewall-cmd--add-source=--zone=trustedD、注意firewalld规则的两种状态
配置firewalld规则的两种状态:runtime和permanent。runtime运行时:
修改规则马上生效,但如果重启服务则马上失效,测试时建议。permanent持久配置:
修改规则后需要reload重载服务才会生效,生产工作时建议。注意:--permanent标志用于确保规则更改在防火墙重新加载或系统重启后依然有效。如果需要临时测试规则,可以省略--permanent标志,但这样的更改将不会在防火墙重启后保留。添加服务到防火墙规则(例如,允许HTTP服务),如图所示。命令:firewall-cmd--zone=public--add-service=http--permanentfirewalld防火墙的配置--使用firewall-cmd命令进行配置
防火墙配置放行策略3添加端口到防火墙规则(例如,允许TCP端口8080),如图所示命令:firewall-cmd--zone=public--add-port=8080/tcp--permanent删除服务或端口规则(例如,删除HTTP服务),如图所示。命令:firewall-cmd--zone=public--remove-service=http--permanent删除特定端口规则,如图所示。命令:firewall-cmd--zone=public--remove-port=8080/tcp--permanentfirewalld防火墙的配置--使用firewall-cmd命令进行配置
防火墙端口转发策略A、语法
端口转发是指传统的目标地址映射,实现外网访问内网资源,流量转发命令。格式为: firewalld-cmd--permanent--zone=<区域>--add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>B、配置实例
将本地的6:5555端口映射到:22端口,可以连接。(A)配置端口转发,如图所示。命令:firewall-cmd--add-forward-port=port=5555:proto=tcp:toport=22:toaddr=(B)开启IP伪装,如图所示。命令:firewall-cmd--add-masquerade(C)连接测试,这个“6”是设置的本服务IP,如图所示。
命令:ssh65555firewalld防火墙的配置--使用firewall-cmd命令进行配置
防火墙基本指令参数firewall-cmd命令下的参数说明。格式:firewall-cmd[参数]表8-3firewall-cmd参数参数说明zone区域相关指令--get-default-zone获取默认的区域名称--set-default-zone=<区域名称>设置默认的区域,使其永久生效--get-active-zones显示当前正在使用的区域与网卡名称--get-zones显示总共可用的区域services服务相关命令--get-services列出服务列表中所有可管理的服务--add-service=设置默认区域允许该添加服务的流量--remove-service=设置默认区域不允许该删除服务的流量port端口相关指令--add-port=<端口号/协议>设置默认区域允许该添加端口的流量--remove-port=<端口号/协议>置默认区域不允许该删除端口的流量interface网卡相关指令--add-interface=<网卡名称>将源自该网卡的所有流量都导向某个指定区域--change-interface=<网卡名称>将某个网卡与区域进行关联--remove-interface=<网卡名称>移除网卡其他相关指令--list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息--reload让“永久生效”的配置规则立即生效IP相关指令--add-source=<IP/位数>设置默认区域允许该IP的流量--remove-source=<IP/位数>设置默认区域移除允许该IP的流量firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
firewalld的配置文件存放在/etc/firewalld/中,我们可以利用vim对/etc/firewalld/中的文件进行配置,完成后重启firewalld就可以实现配置文件配置。在开始操作前,需要了解/etc/firewalld/中有那些文件。因需要改变/etc/firewalld/zones/中的配置文件参数,我们在修改前进行备份。firewalld默认没有命令来清空规则,当防火墙配置了很多规则想一次性清空,就需要通过编辑配置文件来清除规则。firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
列出firewalld配置文件命令:ll/etc/firewalld/zones
如图所示。firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
备份配置文件创建备份目录firewalld.bak命令:mkdir/firewalld/zones/firewalld.bak备份/etc/firewalld/zones/下的所有文件,由于权限的问题,我们把备份的文件存放在/tmp中。命令:cp/etc/firewalld/zones/*/tmp/firewalld.bak也可全部移进行/tmp/firewalld.bak目录中命令:mv/etc/firewalld/zones/*/tmp/firewalld.bak重启服务命令:systemctlrestartfirewalld重设默认区域重新设置默认区域为public,作为我们进行新配置的文件。在重新设置默认区域时,只有一些默认的规则,所以,我们可以当作是一次性清空了,如图8-90所示。命令:firewall-cmd--set-default-zone=publicfirewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
在/etc/firewalld/中的配置文件中添加配置1-1例子1:用vim编辑器,在/etc/firewalld/zones/public.xml文件内添加,对8081端口放行,如图所示。命令:vim/etc/firewalld/zones/public.xml<?xmlversion="1.0"encoding="utf-8"?><zone><short>Public</short><description>Foruseinpublicareas.Youdonottrusttheothercomputersonnetworkstonotharmyourcomputer.Onlyselectedincomingconnectionsareaccepted.</description><servicename="dhcpv6-client"/><servicename="ssh"/><servicename="cockpit"/><portport="8080"protocol="tcp"/><portport="8081"protocol="tcp"/>#对8081端口放行
<forward/></zone>firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
在/etc/firewalld/中的配置文件中添加配置1-2firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
在/etc/firewalld/中的配置文件中添加配置2-1例子2:在/etc/firewalld/zones/public.xml文件中添加访问本机的80端口规则,图所示。命令:vim/etc/firewalld/zones/public.xml
<?xmlversion="1.0"encoding="utf-8"?><zone><short>Public</short><description>Foruseinpublicareas.Youdonottrusttheothercomputersonnetworkstonotharmyourcomputer.Onlyselectedincomingconnectionsareaccepted.</description><servicename="dhcpv6-client"/><servicename="ssh"/><servicename="cockpit"/><portport="8080"protocol="tcp"/><portport="8081"protocol="tcp"/><rulefamily="ipv4"><sourceaddress=""/><portport="3306"protocol="tcp"/>firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
在/etc/firewalld/中的配置文件中添加配置2-2<reject/></rule><rulefamily="ipv4"><sourceaddress=""/><portport="3306"protocol="tcp"/><reject/></rule><rulefamily="ipv4"><sourceaddress=""/>#添加访问本机的80端口规则。
<portport="80"protocol="tcp"/><accept/></rule><rulefamily="ipv4"><sourceaddress=""/><portport="80"protocol="tcp"/><accept/></rule><forward/></zone>firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
在/etc/firewalld/中的配置文件中添加配置2-3firewalld防火墙的配置--通过/etc/firewalld/中的配置文件进行配置
重启现有防火墙命令:systemctlrestartfirewalld虚拟机与容器05虚拟化技术
虚拟化技术是一种把物理资源(例如计算机,存储和网络)虚拟化为多个逻辑资源的技术。通过虚拟化,在一台物理主机上可以运行多个虚拟机,每个虚拟机都可以运行不同的操作系统和应用程序。互相隔离,就像是在不同的物理主机上一样。虚拟化技术的目的是提供更多的资源利用率,更灵活的资源管理和更优化的部署方式,在计算机领域,虚报化技术主要用于创建虚拟机(ViudMchine,VM),虚拟机是一种具有独立操作系统和应用程序的计算机环境,可以在同一台物理服务器上运行多个虚拟机。每个虚拟机都可以独立分配和管理资源,虚拟化技术
虚拟机的定义与原理
虚拟机是通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的计算机系统,虚拟机可以分为全虚拟化和半虚拟化两种,全虚拟化是指在不对客户机操作系统进行修改的情况下的虚拟化硬件,而半虚化则需要对客户机操作系统进行部分修改以提高性能。虚拟化技术
常见的虚拟机软件
目前比较常见的虚拟机软件括VMware、ViuaBox、KVM(Kerne+basedVirudlMachine)。在Linux操作系统中,容器和虚拟机都用于创建隔离的运行环境。虚拟机(如KVM或VirtualBox等)和容器(如Docker等)都可以用于创建服务。
虚拟机(KVM或VirtualBox等)和容器(Docker等)是两种不同的虚拟化技术,它们各自有着独特的特点和优势虚拟化技术--常见的虚拟机软件1
虚拟机虚拟机提供了硬件层面的隔离。每个虚拟机都有自己的操作系统副本,并且可以配置各种资源(如CPU、内存和存储)。虚拟机通常需要更多资源,但提供了更好的安全性和应用隔离。虚拟机的服务通常包括安装和配置虚拟机管理程序,然后在其中安装客户操作系统。优点:强隔离性:虚拟机提供了更强的隔离性,每个虚拟机都有自己的操作系统内核。安全性:由于虚拟机之间的隔离性更好,因此虚拟机通常更安全。多操作系统支持:虚拟机可以运行不同操作系统的应用程序,而容器通常受限于宿主机操作系统。缺点:资源消耗:虚拟机需要更多的资源,包括内存和存储空间。启动时间:与容器相比,虚拟机启动时间较长。虚拟化技术--常见的虚拟机软件2
容器
容器提供了应用程序层面的隔离。容器共享同一操作系统内核,并且可以配置各种资源(如CPU、内存和存储)。容器更加轻量级,需要的资源更少,但是安全性较低,因为容器间的隔离较为有限。
容器的服务通常包括安装和配置容器引擎(如Docker),然后在其中运行应用程序和必要的库。优点:
轻量级:容器共享主机操作系统内核,因此比虚拟机更轻量,启动更快。
可移植性:容器可以在任何支持容器运行时的环境中运行,无论是本地开发环境还是云端生产环境。
资源利用率高:由于容器共享操作系统内核,因此资源利用率更高,可以在同一台主机上运行多个容器。缺点:
隔离性相对较弱:容器虽然提供了一定程度的隔离,但与虚拟机相比,隔离性较弱。
安全性问题:容器共享主机内核,因此如果主机操作系统存在漏洞,容器可能受到威胁。虚拟化技术--常见的虚拟机软件
部署和管理虚拟机(如KVM或VirtualBox等):
虚拟机需要预先安装和配置完整的操作系统,并且每个虚拟机都需要独立地管理和维护。
虚拟机的部署和管理相对复杂,通常需要使用专门的虚拟化管理软件(如VMware、VirtualBox等)来管理虚拟机实例。容器(Linux中一般以Docker为例):Docker容器可以使用镜像来快速部署和运行应用程序,镜像包含了应用程序的代码、运行时环境和依赖项等。
容器的部署和管理相对简单,可以通过一组命令行工具或者图形化界面来管理容器的生命周期。虚拟化技术--常见的虚拟机软件
如何选择虚拟机或容器选择虚拟机还是容器取决于我们的具体需求和约束条件:
应用程序要求:如果您的应用程序需要更强的隔离性,或者需要运行不同操作系统的应用程序,虚拟机可能更合适。
资源限制:如果您有严格的资源限制,容器可以更有效地利用资源。
部署环境:考虑您的部署环境,容器在云计算和微服务架构中更常见,而虚拟机适用于传统部署环境。
管理复杂性:容器通常更容易管理,因为它们可以轻松扩展和更新,而虚拟机管理可能需要更多的手动干预。CPU虚拟化检查
CPU参数是支持虚拟化的才能在Linux上安装KVM虚拟机和Docker容器,所以我们在安装KVM虚拟机和Docker容器前先要检查CPU参数是否支持虚拟化,如果不支持的话进入bios里设置,把CPU设置支持虚拟化。在Linux中,可以通过检查/proc/cpuinfo文件或使用lscpu命令来查看CPU是否支持虚拟化。使用cat/proc/cpuinfo命令查看CPU信息,如图所示。命令:cat/proc/cpuinfo命令:lscpu虚拟机(KVM)安装与创建安装KVM虚拟机及加载KVM模块安装KVM虚拟机,如图所示。命令:yuminstallvirt-*libvirtqemu-img其中有一个在安装前的提问:确定吗?[y/N]:y查看是否支持KVM模块(加载KVM)。命令:lsmod|grepkvm如果出现了“kvm_intel”或“kvm”表示加载了kvm如图所示。但是我们这个版本无出现,则需要加载。KVM是Linux内核的一个模块,不需要安装,只需要加载,如图8-96所示。命令加载KVM:命令:modprobekvm
#我们使用这个命令或modprobekvm_intel#如是intel的CPU的需要用到这行命令虚拟机(KVM)安装与创建启动libvirtd服务启动libvirtd服务,如图所示。命令:systemctlstartlibvirtd使libvirtd服务开机自启,如图所示。命令:systemctlenablelibvirtd安装完成,验证命令是否可用,如图所示。命令:virshlist--all安装virt-manager管理,如图所示。命令:yuminstallvirt-manager虚拟机(KVM)安装与创建--创建虚拟机及安装操作系统
创建虚拟机1
使用virt-manager创建和管理虚拟机,我们是创建适合windows7的虚拟机。A.在桌面打开菜单,选择【虚拟系统。。。】,如图所示。B.在【虚拟系统管理器】中点击【文件】,选择下拉菜单【新建虚拟机(N)】,如图所示。C.如图所示,在【新建虚拟机】的安装画面中,选择【本地安装介质(ISO)映像或者光驱】,点击【前进】。如图所示,点击【浏览】。虚拟机(KVM)安装与创建--创建虚拟机及安装操作系统
创建虚拟机2D.在图中点击【opt】,这时在画面的右框中出现windows7iso光盘,选择它。然后点击【选择卷】,说明在这我们先把windows7iso光盘复制到/opt文件夹中。在图中点击【前进】。E.在图中,之前,我们在Linux虚拟机上的内存是4G、CPU是4核,所以选择默认设置,点击【前进】。在图中考虑我们的Linux虚拟机的硬盘空间是40G的,所以在【为虚拟机创建硬盘镜像】中填写“20”,点击【前进】。虚拟机(KVM)安装与创建--创建虚拟机及安装操作系统
创建虚拟机3F.如图8-110所示,输入【名称(N)】为“win7”,点击【完成】。G.完成虚拟机设置。虚拟机(KVM)安装与创建--创建虚拟机及安装操作系统
安装操作系统1Windows7的虚拟完成设置后,下面是进行windows7操作系统的安装。A.如图所示,点击【下一步(N)】。如图点击【现在安装(N)】。B.图对【我同意许可条款(A)】打钩然后点击【下一步(N)】。图所示点击【自定义(高级)(C)】。虚拟机(KVM)安装与创建--创建虚拟机及安装操作系统
安装操作系统2C.图所示,选中【框中的磁盘】,然后【下一步(N)】。图安装中。D.安装过程中多次重启,如图安装的windows7重启中。图在【输入用户名(例如:john)(U)】,然后点击【下一步(N)】。虚拟机(KVM)安装与创建--创建虚拟机及安装操作系统
安装操作系统3E.图中我们不设置密码。图中跳过【产品密钥与此类似】的产品密钥。F.如图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国塑料燃料技术行业市场发展趋势与前景展望战略研究报告
- 护理人员职业防护制度
- 可耕地租赁简单合同(21篇)
- 变电站直流系统维护方案
- 2026年贵州省毕节市高职单招英语题库及答案
- 2025年广西壮族自治区初二地理生物会考题库及答案
- 2026年广西壮族自治区南宁市中考生物考试真题及答案
- 2025年云南省丽江市地理生物会考真题试卷+答案
- 2025年广东省阳江市初二地理生物会考题库及答案
- OpenClaw 开源 AI Agent 平台快速崛起 折射个人智能代理时代加速到来
- 2026年1级乐理考试试题及答案
- 2020年HJ1237全国统考培训试题及官方发布答案
- 2025年上海市公安机关辅警招聘(面试)复习题及答案
- 2026年云南省玉溪市学业水平模拟考试九年级物理试题卷
- 2026年化验考核练习试题附答案详解【突破训练】
- 儿童自闭症康复机构运营方案
- 2026年中考英语仿真模拟试卷 3套(含答案解析)
- 泉城书房建设实施方案
- 《不可移动文物认定导则(试行)》
- 2026年老年专科护士考试题库及答案
- 《汽车智能座舱语音分级与测评方法》
评论
0/150
提交评论