Linux云计算好学吗?运维学习资料 基本操作和服务器硬件选购

·  阅读 37

Linux云计算架构师:Linux基本操作和服务器硬件选购指南

第五章 Linux基本操作和服务器硬件选购指南

本节所讲内容:

5.1 Linux网络相关概念和修改IP地址的方法

5.2 关闭防火墙并设置开机不启动

5.3 临时和永久关闭Selinux

5.4 设置系统光盘开机自动挂载

5.5 配置本地YUM源

5.6 创建可用实验快照

5.1 Linux网络相关概念和修改IP地址的方法

5.1.1 网卡的命名规则

CENTOS6的网卡命名方式:它会根据情况有所改变而非唯一且固定,在CENTOS6之前,网络接口使用连续号码命名: eth0、 eth1等,当增加或删除网卡时,名称可能会发生变化

CENTOS7采用dmidecode采集命名方案,以此来得到主板信息;它可以实现网卡名字永久唯一(dmidecode这个命令可以采集有关硬件方面的信息)

对网络设备的命名方式:

1)如果Firmware(固件)或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,例如: ifcfg-ens33 

2) 如果Firmware(固件)或BIOS为PCI-E扩展槽所提供的索引信息可用,则根据此索引进行命名,例命名,例如:ifcfg-enp33

3)如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0

上述均不可用时,则使用传统命名机制。

扩展:

在CENTOS7中,en表示:ethernet以太网,就是咱们现在使用的局域网

enX(X常见有下面3种类型) :

s:热插拔网卡,usb之类,扩展槽的索引号

o:主板板载网卡,集成设备的设备索引号。

p:独立网卡,PCI网卡

nnn (数字)表示:MAC地址+主板信息计算得出唯一的序列

在CentOS8当中网卡名称延续了ens的格式。

5.1.2 ifconfig命令使用

注意:下面操作使用root用户

命令:ifconfig

作用:用来配置网络或显示当前网络接口的状态

[root@xuegod63 ~]# ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.63 netmask 255.255.255.0 broadcast 192.168.1.255

inet6 fe80::b4dd:361c:ddbb:e4f8 prefixlen 64 scopeid 0x20

ether 00:0c:29:26:66:2d txqueuelen 1000 (Ethernet)

RX packets 1110 bytes 121630 (118.7 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 203 bytes 13240 (12.9 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

上图信息大概说明:

第一行:up-->网卡开启状态

BROADCAST-->支持广播,在IP地址中,如果最后一个数字是255,则一定是一个广播地址

RUNNING-->网卡连接状态

MULTICAST-->支持组播

mtu 1500-->(Maximum Transmission Unit)最大传输单元大小为1500字节

第二行:该网卡的IP地址,子网掩码,广播地址

第三行:IPV6的配置信息

第四行:网卡的MAC地址

ether表示连接类型为以太网

txqueuelen 1000 --》传输队列的长度

第五六行:网卡接收数据包的统计信息和接收错误的统计信息

第七八行:网卡发送数据包的统计信息和发送错误的统计信息

[root@xuegod63 ~]# ifconfig -a #-a 参数,查看所有网卡信息,包括没有启动的网卡信息

5.1.3 临时修改

一般只适合在调试网络的过程中使用,重启网络服务或重启网卡或重启系统,所做的修改将会失效

方法1:临时修改网卡IP地址

ifconfig 网卡名称 IP地址 ---直接修改网卡的IP地址,重启网络服务,IP配置会失效

[root@xuegod63 Desktop]# ifconfig ens33 192.168.1.110 netmask 255.255.255.0

说明:修改后当前xshell终端会终断,而这个ip也无法链接,因为这个ip没有路由信息

[root@xuegod63 Desktop]# ifconfig ens33

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.110 netmask 255.255.255.0 broadcast 192.168.1.255

inet6 fe80::20c:29ff:fee8:ac4 prefixlen 64 scopeid 0x20

ether 00:0c:29:e8:0a:c4 txqueuelen 1000 (Ethernet)

RX packets 2028 bytes 198715 (194.0 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 385 bytes 51073 (49.8 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

方法2: 添加多个临时IP地址

ifconfig 网卡名称:0 第一个IP地址 (netmask 子网掩码) ---增加一个IP

ifconfig 网卡名称:1 第二个IP地址 (netmask 子网掩码) ---增加一个IP

[root@xuegod63 ~]# ifconfig ens33:0 192.168.1.111 netmask 255.255.255.0

[root@xuegod63 ~]# ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.63 netmask 255.255.255.0 broadcast 192.168.1.255

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255

ether 00:0c:29:e8:0a:c4 txqueuelen 1000 (Ethernet)

[root@xuegod63 ~]# ip addr show #查看IP地址

[root@xuegod63 ~]# ip a #查看IP地址

[root@xuegod63 ~]# ip addr delete 192.168.1.110 dev ens33:0 #删除临时IP

[root@xuegod63 ~]# ip a d 192.168.1.110 dev ens33:0 #删除临时IP

[root@xuegod63 ~]# ip a #查看IP地址

5.1.4 NeworkManager概述

NeworkManager服务是管理和监控网络设置的守护进程,CENTOS7更加注重使用NetworkManager服务来实现网络的配置和管理,7.0以前是通过network服务管理网络,以后的版本,所有网络管理和设置统一由NetworkManager服务来维护。它是一个动态的,事件驱动的网络管理服务。

[root@xuegod63 ~]# systemctl status NetworkManager

#查看NetworkManager服务是否启动

在centos7中重启网络服务可以使用systemctl restart network,网卡配置文件会生效

在centos8中没有network服务,使用systemctl restart NetworkManager 不会使网卡配置文件生效,可以用 ifdown ens160 && ifup ens160 来让网卡配置文件生效

5.1.5 RHEL/CENTOS Linux网络相关的配置文件

RHEL/CENTOS 网络相关的配置文件路径为:

[root@xuegod63 ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

#IP地址,子网掩码等配置文件

[root@xuegod63 ~]# ls /etc/sysconfig/network-scripts/ifcfg-lo

#网卡回环地址。CentOS8中不存在这个文件。

[root@xuegod63 sysconfig]# cat /etc/resolv.conf #查看本机DNS的地址

[root@xuegod63 sysconfig]# vim /etc/hosts #设置主机和IP绑定信息,插入以下信息

192.168.1.63 xuegod63 xuegod63.cn

192.168.1.62 xuegod62 xuegod62.cn

192.168.1.64 xuegod64 xuegod64.cn

注:提前插入这些域名和IP的解析关系,方便后期做集群实验

修改主机名:

[root@xuegod63 ~]# hostnamectl set-hostname xuegod63.cn #使用此命令永久修改主机名 ,或者也可以直接编辑/etc/hostname的内容

[root@xuegod63 ~]# cat /etc/hostname

xuegod63.cn

[root@xuegod63 ~]# hostname

xuegod63.cn

[root@xuegod63 ~]# hostname aaa.com #临时修改主机名

aaa.com

注:当前修改完主机名后,当前已经连接终端的bash提示符中的主机名,不会改变,需要重新登录一下,再可以生效。

5.1.6 永久修改网卡地址:

查看 网卡配置文件:

[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet" #网卡类型:以太网

PROXY_METHOD="none" #代理方式:不使用

BROWSER_ONLY="no" #只是浏览器:否

BOOTPROTO="none"

等号后面写:dhcp 表示动态获取IP地址, satic 表示静态IP,none表示不指定,等于静态ip。

DEFROUTE="yes" #默认路由:是

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33" #网卡名

UUID="1cd2b392-9a4b-4eb4-8410-971d0b6ecef5" #UUID每个网上设备都不一样

DEVICE="ens33" #设备名,通常和网卡名一样

ONBOOT="yes" #开机启动网卡,必须为yes,此网卡才可以使用

IPADDR="192.168.1.63" #IP地址

PREFIX="24" #子网掩码,24表示255.255.255.0

GATEWAY="192.168.1.1" #默认网关信息

DNS1="223.5.5.5" #阿里dns

DNS2="8.8.8.8" #谷歌dns

DNS3="114.114.114" #中国电信dns

IPV6_PRIVACY="no"

参数说明:

DEVICE:此配置文件应用到的设备

HWADDR:对应的设备的MAC地址

BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none,bootp

NM_CONTROLLED: NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”

ONBOOT:在系统引导时是否激活此设备

TYPE:接口类型;常见有的Ethernet, Bridge

UUID:设备的惟一标识

IPADDR:指明IP地址

NETMASK:子网掩码

GATEWAY: 默认网关

DNS1:第一个DNS服务器指向

DNS2:第二个DNS服务器指向

USERCTL:普通用户是否可控制此设备

例2:改原来的IP地址为192.168.1.66

[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

改:IPADDR=192.168.1.63

为:IPADDR=192.168.1.66

情况1:在 centos7/6系统上 ,重启网络服务 ,让配置文件生效

[root@xuegod63 ~]# service network restart #centos6/7网卡重启方法

[root@xuegod63 ~]# systemctl restart network #在CentOS7的网卡重启方法,centos8不适用。

情况2:在centos8系统上

[root@xuegod63 ~]# nmcli connection reload #重新加载网卡相关配置文件

[root@xuegod63 ~]# nmcli c reload #重新加载网卡相关配置文件

重启网卡,让配置生效。

[root@xuegod63 ~]# nmcli connection down ens160 && nmcli connection up ens160

或使用

[root@xuegod63 ~]# ifdown ens160 && ifup ens160

注:在CentOS8版本当中network 彻底停止使用,不能通过重启network的方式重启所有网卡。

[root@xuegod63 ~]# ifconfig #查看IP

[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #把IP再改回来

改:IPADDR=192.168.1.66

为:IPADDR=192.168.1.63

[root@xuegod63 ~]# nmcli connection reload

[root@xuegod63 ~]# nmcli connection down ens33 && nmcli connection up ens33

这里 connection 可以写成 c

取消自动锁屏:

5.2 关闭防火墙并设置开机开不启动

查看当前状态

[root@xuegod63 ~]# systemctl status firewalld.service #查看firewalld状态

[root@xuegod63 ~]# systemctl start firewalld #开启

[root@xuegod63 ~]# systemctl stop firewalld #关闭

[root@xuegod63 ~]# systemctl enable firewalld #设置开机自动启动

[root@xuegod63 ~]# systemctl disable firewalld #设置开机不启动

[root@xuegod63 ~]# systemctl is-enabled firewalld #查看开机是否启动

[root@xuegod63 ~]# systemctl enable firewalld --now #开机启动,同时启动服务

[root@xuegod63 ~]# systemctl disable firewalld --now #开机不启动,同时关闭服务

了解下面命令:

[root@xuegod63 ~]# systemctl #列出当前已启动unit(单元),按q或ctrl+c退出

[root@xuegod63 ~]# systemctl list-units #列出当前已启动unit(单元),按q退出

[root@xuegod63 ~]# systemctl list-units -all #列出全部unit(单元)

[root@xuegod63 ~]# systemctl list-units --type service #列出类型为.service(服务)的已经启动unit(单元)。

[root@xuegod63 ~]# systemctl list-unit-files #列出全部unit及相关文件

[root@xuegod63 ~]# systemctl list-unit-files --type service | grep enabled #查看开机启的服务

[root@xuegod63 ~]# systemctl is-enabled sshd #查看ssh服务是否开机启动

5.3 临时和永久关闭Selinux

临时关闭

[root@xuegod63 ~]# getenforce

Enforcing

[root@xuegod63 ~]# setenforce 0

setenforce: SELinux is disabled

永久关闭

[root@xuegod63 ~]# vim /etc/selinux/config

改:7 SELINUX=enforcing #前面的7,表示文档中第7行。方便你查找

为:7 SELINUX=disabled

[root@xuegod63 ~]# reboot #必须重启系统,才可以真正的关闭selinux

SELinux 模式

enforcing 强制模式,只要 selinux 不允许,就无法执行;

permissive 警告模式,你可以执行,但你所做事件全部记录;

disabled 关闭 selinux

扩展内容(了解即可):SELinux

SELinux( Security Enhanced Linux 安全性增强的 Linux),由美国国家安全局 NSA(National

Security Agency)开发,构建与 Kernel 之上,拥有灵活的强制性访问控制结构,主要用在提高 Linux的安全性,提供强健的安全保证,可以防御未知攻击。

SELinux 是用于确定哪个进程可以访问哪些文件、目录和端口的一组安全规则。每个文件、进程、目录和端口都具有专门的安全标签,称为 SELinux 上下文。

SELinux 标签具有多种上下文:User用户、Role角色、Type类型和Level敏感度级别。目标策略会根据第三个上下文(即Type类型上下文)来制定自己的规则,通常以_t 结尾

ls -Z

传统的 Linux 在没有 Selinux 保护的时候,倘若运行于之上的服务器被骇客攻陷,其服务器最高权限就可能随之丧失,但是倘若有了 SElinux 的保护,入侵的也只有服务本身,整个服务器的最高权限依然还健在!

一句话熟悉 Selinux 的作用:增强 Linux 系统安全性,一个例子:那么是我运行的 Apache 服务器被入侵,也只是入侵到了我 httpd 这个服务,可以把它禁锢到这里(相当于整个服务器运行了 httpd,入侵了 httpd 而已),而系统的整个权限依然正常!

5.4 设置系统光盘开机自动挂载

[root@xuegod63 ~]# vim /etc/fstab #在文档最后,添加以一下红色内容:

/dev/cdrom /mnt iso9660 defaults 0 0

[root@xuegod63 ~]# mount -a

[root@xuegod63 ~]# lsblk

mount: /dev/sr0 写保护,将以只读方式挂载

[root@xuegod63 ~]# ls /mnt/ #可以查看到此目录下有内容,说明挂载成功

AppStream BaseOS EFI images isolinux media.repo TRANS.TBL

/etc/fstab 说明

第一列 Device

磁盘设备文件或者该设备的Label或者UUID

第二列 Mount point

设备的挂载点,就是你要挂载到哪个目录下

第三列 filesystem

磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

第四列 parameters

文件系统的参数

第五列:能否被dump备份命令作用

dump是一个用来作为备份的命令。通常这个参数的值为0或者1

第六列 是否检验扇区

开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

5.5 配置本地YUM源

yum的一切配置信息都储存在一个叫xxx.repo的配置文件中,这些.repo文件,通常位于/etc/yum.repos.d目录下

什么是repo文件

repo文件是 yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的详细信息,例如我们将从哪里下载、安装、升级软件包,repo文件中的设置将被yum读取和应用

查看原有的文件

[root@xuegod63 ~]# cd /etc/yum.repos.d

[root@xuegod63 yum.repos.d]# ls

CentOS-AppStream.repo CentOS-Debuginfo.repo CentOS-Media.repo

CentOS-Base.repo CentOS-Extras.repo CentOS-PowerTools.repo

CentOS-centosplus.repo CentOS-fasttrack.repo CentOS-Sources.repo

CentOS-CR.repo CentOS-HA.repo CentOS-Vault.repo

实战1:在centos7上,基于光盘镜像创建一个本地yum源。创建一个新的yum源配置文件,yum源配置文件的结尾必须是.repo。 centos8和centos7配置yum源不一样。

[root@xuegod63 ~]# mv /etc/yum.repos.d/* /opt

#先移走自带的yum配置文件,方便查看本地源的效果

在centos7做法如下:

[root@xuegod63 yum.repos.d]# vim /etc/yum.repos.d/centos7.repo # 写入以下红色内容

[CentOS7]

name=CentOS-server

baseurl=file:///mnt

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

参数说明:

[CentOS7] --->yum源的ID,必须唯一

name=CentOS-server ----->描述信息

baseurl=file:///mnt -------> /mnt表示的是光盘的挂载点,file:后面有3个///

baseurl=mirrors.163.com/centos/8.3.… -------> mirrors.aliyun.com/centos/7.8.… 这是基于web服务器提供的yum源

baseurl=ftp://192.168.1.63/pub -------> ftp://192.168.1.63/pub 这是基于FTP服务器提供的yum源

enabled=1 ------>启用

gpgcheck=0 ---->0取消密钥验证。如果为1,表示启动密钥验证

gpgkey ------> 指定密钥的位置,比如阿里源密钥的位置如下

gpgkey=mirrors.aliyun.com/centos/RPM-…

清空并生成缓存列表

[root@xuegod63 yum.repos.d]# yum clean all #清空yum缓存

[root@xuegod63 yum.repos.d]# yum list #生成缓存列表 也可以写成yum makecache

[root@xuegod63 yum.repos.d]# yum list #查看仓库中的软件包列表,同时生成缓存列表

CentOS-8 - AppStream 1.2 MB/s | 6.5 MB 00:05

CentOS-8 - Base 789 kB/s | 5.0 MB 00:06

CentOS-8 - Extras 1.9 kB/s | 2.1 kB 00:01

CentOS-server 0.0 B/s | 0 B 00:00

为 repo 'CentOS7' 下载元数据失败

错误:为 repo 'CentOS7' 下载元数据失败

注:失败很正常。因为你在centos8下操作,换成centos7下就可以了。

[root@xuegod63 yum.repos.d]# mv centos7.repo /opt/ #将centos7.repo移到/opt目录下

阿里源地址:

developer.aliyun.com/mirror/cent…

developer.aliyun.com/mirror/epel… 扩展: epel是(Extra Packages for Enterprise Linux)的缩写,是额外的扩展包。

网易源地址:

mirrors.163.com/centos/

清华源地址:

mirror.tuna.tsinghua.edu.cn/centos/

比如下面的yum源,baseurl可以替换成网络源

yum -y remove httpd*

yum -y install httpd

[iloveyou]

name=ihateyou

baseurl=mirror.tuna.tsinghua.edu.cn/centos/7.9.…

enable=1

gpgcheck=0

实战2:在centos8上,基于光盘镜像创建一个本地yum源。

在CentOS8光盘镜像中把yum软件源分成了两部分

一个是BaseOS

一个是AppStream

BaseOS 存储库 - BaseOS 存储库以 RPM 格式提供操作系统核心功能的软件

AppStream 存储库 - Application Stream 存储库以RPM格式提供用户空间中运行的软件。

在centos7的光盘镜像,rpm软件安装包都是放在/mnt/Packages/下

在centos8的光盘镜像,rpm软件安装包分别放在/mnt/BaseOS/Packages/和/mnt/AppStream/Packages/下

repodata目录下的文件记录了Packages下RPM软件安装包的相互依赖关系

配置方法和yum一样

[root@xuegod63 yum.repos.d]# cd /etc/yum.repos.d/

[root@xuegod63 yum.repos.d]# vim centos8.repo #插入以下内容

[c8-BaseOS]

name=CentOS-BaseOS

baseurl=file:///mnt/BaseOS

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[c8-AppStream]

name=CentOS-AppStream

baseurl=file:///mnt/AppStream

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[root@xuegod63 yum.repos.d]# rm -rf centos7.repo

[root@xuegod63 yum.repos.d]# yum clean all

[root@xuegod63 yum.repos.d]# yum makecache

[root@xuegod63 yum.repos.d]# yum -y install httpd

安装一个httpd服务器,如果你之前用网络源安装过httpd服务,需要先 yum -y remove httpd

卸载服务,然后用本地源安装,但是你用网络源安装的httpd服务的依赖库可能比本地光盘镜像源的版本高,所以有可能导致本地光盘源安装httpd服务失败,继续使用网络源则不会出现此问题。

[root@xuegod63 yum.repos.d]# yum install lrzsz #安装一个lrzsz包

确认本地yum源配置可用。

[root@xuegod63 yum.repos.d]# mv /opt/* /etc/yum.repos.d/ #将之前文件移走的源,移回来。后期我们还是使用光盘yum源比较方便。

新安装centos7后,yum运行出现下面的错误:

解决办法:rm -rf /var/run/yum.pid

5.6 创建可用实验快照

今天的虚拟机是真正可以使用的环境,为了保证后期误操作可能导致不可用的情况,所以要做一个快照,方便到时直接恢复到当前可用情况。

具体步骤如下:

虚拟机----》快照----》拍摄快照----》自定义快照名如“可用实验快照”

总结:

5.1 Linux网络相关概念和修改IP地址的方法

5.2 关闭防火墙并设置开机开不启动

5.3 临时和永久关闭Selinux

5.4 设置系统光盘开机自动挂载

5.5 配置本地YUM源

5.6 创建可用实验快照

分类:
阅读
标签:
收藏成功!
已添加到「」, 点击更改