曝光(Linux企业运维实战)/清华开发者书库
出版时间 2018-05-01T00:00
Linux
31859
作者简介
吴光科 京峰教育CEO,Linux运维实战专家,高级运维经理,京东商城运维架构师,51CTO学院Linux特级讲师,京峰Linux云计算教学总监,国内知名Linux运维社区51CTO全国50强博主及专家,担任国内知名社区运维专家网站Linux版主。专注于Linux服务器架构运维近10年,擅长系统高并发、超万台级别的服务器维护、服务器性能调优、企业安全运维、Openstack、Docker、KVM及Kubernetes云计算、自动化运维等核心技术领域。维护过国企机关、图吧、宜信、京东商城等知名企业的千万级、亿万级PV门户网站。
内容简介
第3章CentOS系统管理
Linux系统安装完毕,需要对Linux系统进行管理和维护,让Linux服务器能真正应用于企业中。
本章向读者介绍Linux系统引导原理、启动流程、系统目录、权限、命令及CentOS 7和CentOS 6在系统管理、命令方面的区别等内容。
3.1操作系统启动概念
不管是Windows还是Linux操作系统,底层设备一般均为物理硬件,操作系统启动之前会对硬件进行检测,然后硬盘引导启动操作系统,以下为与操作系统启动相关的几个概念。
3.1.1BIOS
基本输入输出系统(basic input output system,BIOS)是一组固化到计算机主板上的只读内存镜像(read only memory image,ROM)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
3.1.2MBR
全新硬盘在使用之前必须进行分区格式化,硬盘分区初始化的格式主要有两种,分别为MBR格式和GPT格式。
如果使用MBR格式,操作系统将创建主引导记录扇区(master boot record,MBR),MBR位于整块硬盘的0磁道0柱面1扇区,主要功能是操作系统对磁盘进行读写时,判断分区的合法性以及分区引导信息的定位。
主引导扇区总共为512字节,MBR只占用了其中的446个字节,另外的64个字节为硬盘分区表(disk partition table,DPT),最后两个字节“55,AA”是分区的结束标志。
在MBR硬盘中,硬盘分区信息直接存储于主引导记录(MBR)中,同时主引导记录还存储着系统的引导程序,如表31所示。
表31MBR分区表
0000~0088MBR主引导程序主引导程序
0089~01BD出错信息数据区数据区
01BE~01CD分区项1(16字节)
01CE~01DD分区项2(16字节)
01DE~01ED分区项3(16字节)
01EE~01FD分区项4(16字节)分区表
01FE55
01FFAA结束标志
MBR是计算机启动最先执行的硬盘上的程序,只有512字节大小,所以不能载入操作系统的核心,只能先载入一个可以载入计算机核心的程序,称为引导程序。
因为MBR分区标准决定了MBR只支持在2TB以下的硬盘,对于后面的多余空间只能浪费。为了支持能使用大于2TB硬盘空间,微软和英特尔公司在可扩展固件接口(extensible firmware interface,EFI)方案中开发了全局唯一的标识符(globally unique identifier,GUID),进而全面支持大于2TB硬盘空间在企业中使用。
3.1.3GPT
全局唯一的标识符(globally unique identifier,GUID),正逐渐取代MBR成为新标准。它和统一的可扩展固件接口(unified extensible firmware interface,UEFI)相辅相成。UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以称为“GUID分区表”,是因为驱动器上的每个分区都有一个全局唯一的标识符。
在GPT硬盘中,分区表的位置信息储存在GPT头中。出于兼容性考虑,第一个扇区同样有一个与MBR类似的标记,叫作受保护的主引导记录(protected main boot record,PMBR)。
PMBR的作用是当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏,而其中存储的内容和MBR一样,之后才是GPT头。
GPT优点支持2TB以上磁盘,如果使用Fdisk分区,最大只能建立2TB大小的分区,创建大于2TB的分区,需使用parted,同时必须使用64位操作系统,MAC、Linux系统都能支持GPT分区格式,Windows 7/8 64位、Windows Server 2008 64位支持GPT。GPT硬盘分区表内容如图31所示。
图31GPT分区表内容
3.1.4GRUB
GNU项目的多操作系统启动程序(GRand unified bootloader,GRUB),可以支持多操作系统的引导,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。
GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。它是一个多重操作系统启动管理器。用来引导不同系统,如Windows、Linux。Linux常见的引导程序包括LILO、GRUB、GRUB2,CentOS 7 Linux默认使用GRUB2引导程序,引导系统启动。如图32所示为GRUB加载引导流程。
图32GRUB引导流程
GRUB2是基于GRUB开发成更加安全强大的多系统引导程序,最新Linux发行版都是使用GRUB2作为引导程序。同时GRUB2采用了模块化设计,使得GRUB2核心更加精炼,使用更加灵活,同时也就不需要像GRUB分为stage 1、stage 1.5、stage 2三个阶段。
3.2Linux操作系统启动流程
初学者对Linux操作系统启动流程深入理解,能有助于后期在企业中更好地维护Linux服务器,能够快速定位系统问题,进而解决问题。Linux操作系统启动流程如图33所示。
图33系统启动流程
1. 加载BIOS
计算机电源加电质检,首先加载基本输入输出系统(basic input output system,BIOS),BIOS中包含硬件CPU、内存、硬盘等相关信息,包含设备启动顺序信息、硬盘信息、内存信息、时钟信息、即插即用(plugandplay,PNP)特性等。加载完BIOS信息,计算机将根据顺序进行启动。
2. 读取MBR
读取完BIOS信息,计算机将会查找BIOS所指定的硬盘MBR引导扇区,将其内容复制到0x7c00地址所在的物理内存中。被复制到物理内存的内容是bootloader,然后进行引导。
3. GRUB引导
GRUB启动引导器是计算机启动过程中运行的第一个软件程序,当计算机读取内存中的GRUB配置信息后,会根据其配置信息来启动硬盘中不同的操程管理Linux服务器需要满足以下三个步骤:
(1) 服务器配置IP地址,如果服务器在公网,需配置公网IP,如果服务器在内部局域网,可以直接配置内部私有IP即可。
(2) 服务器安装SSHD软件服务并启动该服务,几乎所有的Linux服务器系统安装完毕均会自动安装并启动SSHD服务,SSHD服务监听22端口。
(3) 在服务器中防火墙服务需要允许22端口对外开放,初学者可以临时关闭防火墙,CentOS 6 Linux关闭防火墙的命令为service iptables stop,而CentOS 7 Linux关闭防火墙的命令为systemctl stop firewalld.service。
常见的Linux远程管理工具包括SecureCRT、Xshell、Putty、Xmanger等工具。目前主流的远程管理Linux服务器工具为SecureCRT,官网https://www.vandyke.com下载并安装SecureCRT,双击打开,单击左上角quick connect快速连接,弹出如图321所示的界面,连接配置具体步骤如下:
协议(P): 选择SSH2;
主机名(H): 输入Linux服务器IP地址;
端口(O): 输入22;
防火墙(F): 选择None;
用户名(U): 输入root。
单击下方的“连接”按钮,会提示输入密码,输入root用户对应密码即可。
图321SecureCRT远程Linux服务器
通过SecureCRT远程连接Linux服务器之后,如图322所示界面,与服务器本地操作界面一样,在命令行可以执行命令,操作结果与在服务器现场操作是一样的。
图322SecureCRT远程Linux服务器
3.11Linux系统目录功能
通过以上知识的学习,读者已经能够独立安装和配置Linux服务器IP并实现远程连接,为了进一步学习Linux,需熟练掌握Linux系统各个目录的功能。
Linux主要树结构目录包括/、/root、/home、/usr、/bin、/tmp、/sbin、/proc、/boot等,图323所示为典型的Linux目录结构。
图323Linux目录树形结构
Linux系统中常见目录功能如下:
/: 根目录;
/bin: 存放必要的命令;
/boot: 存放内核以及启动所需的文件;
/dev: 存放硬件设备文件;
/etc: 存放系统配置文件;
/home: 普通用户的宿主目录,用户数据存放在其主目录中;
/lib|lib64: 存放必要的运行库;
/mnt: 存放临时的映射文件系统,通常用来挂载使用;
/proc: 存放存储进程和系统信息;
/root: 超级用户的主目录;
/sbin: 存放系统管理程序;
/tmp: 存放临时文件;
/usr: 存放应用程序,命令程序文件、程序库、手册和其他文档;
/var: 系统默认日志存放目录。作系统。
4. 加载kernel
计算机读取内存映像,并进行解压缩操作,屏幕一般会输出“Uncompressing Linux”的提示,当解压缩内核完成后,屏幕输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。
5. 设定inittab运行等级
内核加载完毕,会启动Linux操作系统第一个守护进程init,然后通过该进程读取/etc/inittab文件,/etc/inittab文件的作用是设定Linux的运行等级,Linux常见运行级别如下:
0: 关机模式。
1: 单用户模式。
2: 无网络支持的多用户模式。
3: 字符界面多用户模式。
4: 保留,未使用模式。
5: 图像界面多用户模式。
6: 重新引导系统,重启模式。
6. 加载rc.sysinit
读取完运行级别,Linux系统执行的第一个用户层文件/etc/rc.d/rc.sysinit,该文件功能包括设定path运行变量、设定网络配置、启动swap分区、设定/proc、系统函数、配置SELinux等。
7. 加载内核模块
读取/etc/modules.conf文件及/etc/modules.d目录下的文件来加载系统内核模块。该模块文件,可以后期添加或者修改及删除。
8. 启动运行级别程序
根据之前读取的运行级别,操作系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。其中以S开头表示系统即将启动的程序,如果以K开头,则代表停止该服务。S和K后紧跟的数字为启动顺序编号,如图34所示。
图34运行级别服务
9. 读取rc.local文件
操作系统启动完相应服务之后,会读取执行/etc/rc.d/rc.local文件,可以将需要开机启动的任务加入到该文件末尾,系统会逐行去执行并启动相应命令,如图35所示。
图35开机运行加载文件
10. 执行/bin/login程序
执行/bin/login程序,启动到系统登录界面,操作系统等待用户输入用户名和密码,即可登录到shell终端,如图36所示,输入用户名、密码即可登录Linux操作系统,至此Linux操作系统完整流程启动完毕。
图36系统登录界面
3.3CentOS 6与CentOS 7区别
CentOS 6默认采用sysvinit风格,sysvinit就是system V风格的init系统,sysvinit用术语runlevel来定义“预订的运行模式”。sysvinit检查“/etc/inittab”文件中是否含有“initdefault”项,该选项指定init的默认运行模式。sysvinit使用脚本,文件命名规则和软链接来实现不同的runlevel,串行启动各个进程及服务。
CentOS 7默认采用systemd风格,systemd是Linux系统中最新的初始化系统(init),它主要的设计目标是克服sysvinit固有的缺点,提高系统的启动速度。
systemd和Ubuntu的upstart是竞争对手,预计会取代upstart。systemd的目标是尽可能启动更少的进程,尽可能将更多进程并行启动。如表32所示为CentOS 6与CentOS 7操作系统的区别。
表32CentOS 6与CentOS 7操作系统区别
ABCD
编号系统功能CentOS 6CentOS 7
1init系统sysvinitsystemd
2桌面系统GNOME 2.XGNOME 3.X/GNOME shell
3文件系统EXT4XFS
4内核版本2.6.X3.10.X
5启动加载器GRUB Legacy(+efibootmgr)GRUB2
6防火墙iptablesfirewalld
7数据库MySQLMariaDB
8文件目录/bin,/sbin,/lib,/lib64在/根下/bin,/sbin,/lib,/lib64在/usr下
9主机名/etc/sysconfig/network/etc/hostname
10时间同步ntp,ntpq pchrony,chronyc sources
11修改时间#vi/etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=false
#ln s
/usr/share/zoneinfo/Asia/Tokyo
/etc/localtime#timedatectl settimezone Asia/Tokyo
#timedatectl status
续表
ABCD
编号系统功能CentOS 6CentOS 7
12区域及字符设置/etc/sysconfig/i18n/etc/locale.conf
localectl setlocale LANG=zh_CN.utf8
localectl status
13启动停止服务#service service_name start
#service service_name stop
#service sshd restart/status/reload#systemctl start service_name
#systemctl stop service_name
#systemctl restart/status/reload sshd
14自动启动chkconfig service_name on/off#systemctl enable service_name
#systemctl disable service_name
15服务列表chkconfig list#systemctl listunitfiles
#systemctl type service
16Kill服务kill 9 systemctl kill signal=9 sshd
17网络及端口信息netstatss
18IP信息ifconfigip address show
19路由信息route nip route show
20关闭停止系统shutdown h nowsystemctl poweroff
21单用户模式init Ssystemctl rescue
22运行模式vim/etc/inittab
id:3:initdefault:systemctl setdefault graphical.target
systemctl setdefault multiuser.target
Linux操作系统文件系统类型主要有EXT3、EXT4、XFS等,其中CentOS 6普遍采用EXT3和EXT4文件系统格式,而CentOS 7默认采用XFS格式。以下为EXT3、EXT4、XFS的区别:
EXT4是第四代扩展文件系统(fourth extended filesystem,EXT4)是Linux系统下的日志文件系统,是EXT3文件系统的后继版本;
EXT3类型文件系统支持最大16TB文件系统和最大2TB文件;
EXT4分别支持1EB(1EB=1024PB,1PB=1024TB)的文件系统,以及16TB的单个文件;
EXT3只支持32000个子目录,而EXT4支持无限数量的子目录;
EXT4磁盘结构的inode个数支持40亿,而且EXT4的单个文件大小支持到16TB;
XFS是一个64位文件系统,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制,常用于64位操作系统,发挥更好的性能;
XFS一种高性能的日志文件系统,最早于1993年,由Silicon Graphics为他们的IRIX操作系统而开发,是IRIX 5.3版的默认文件系统;
XFS于2000年5月,Silicon Graphics以GPL发布这套系统的源代码,之后被移植到Linux内核上,XFS特别擅长处理大文件,同时提供平滑的数据传输。
3.4TCP/IP协议概述
要学好Linux,对网络协议也要有充分的了解和掌握,例如传输控制协议/因特网互联协议(transmission control protocol/internet protocol,TCP/IP),TCP/IP名为网络通信协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。
TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
TCP负责发现传输的问题,一旦有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地,而IP是给因特网的每台联网设备规定一个地址。
基于TCP/IP的参考模型将协议分成4个层次,分别是网络接口层、网际互联层(IP层)、传输层(TCP层)和应用层。如图37所示为TCP/IP和OSI参考模型层次的对比。
图37OSI 7层模型与TCP/IP 4层对比
OSI模型与TCP/IP模型协议功能实现对照表,如表33所示。
表33OSI 7层模型与TCP/IP层次功能对比
OSI 7层每 层 功 能TCP/IP协议簇
应用层文件传输、电子邮件、文件服务、虚拟终端TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet
表示层数据格式化、代码转换、数据加密没有协议
会话层解除或建立与别的接点的联系没有协议
传输层提供端对端的接口TCP、UDP
网络层为数据包选择路由IP、ICMP、OSPF、BGP、IGMP、ARP、RARP
数据链路层传输有地址的帧以及错误检测功能SLIP、PPP、MTU
物理层以二进制数据形式在物理媒体上传输数据ISO 2110、IEEE 802、IEEE 802.2
3.5IP地址及网络常识
互联网协议地址(internet protocol address,IP),IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址给Internet上的每个通信设备分配一个编号,每台联网的PC上都需要有IP地址,这样才能正常通信。
IP地址是一个32位的二进制数,通常被分割为4个8位二进制数(即4个字节)。IP地址通常用点分十进制表示成“a.b.c.d”的形式,其中,a、b、c、d都是0~255之间的十进制整数。
常见的IP地址分为IPv4与IPv6两大类。IP地址编址方案将IP地址空间划分为A、B、C、D、E五类,其中A、B、C是基本类,D、E类作为多播和保留使用。
IPv4有4段数字,每一段最大不超过255。由于互联网的蓬勃发展,IP位址的需求量越来越大,使得IP位址的发放愈趋严格,各项资料显示,全球IPv4位址在2011年已经全部分发完毕。
地址空间的不足必将妨碍互联网的进一步发展。为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv6采用128位地址长度。在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,IPv6的诞生可以给全球每一粒沙子配置一个IP地址,还考虑了在IPv4中解决不好的其他问题,如图38所示。
图38IPv4与IPv6地址
3.5.1IP地址分类
IPv4地址编址方案有A、B、C、D、E五类,其中A、B、C是基本类,D、E类作为多播和保留使用,各分类详解如下。
1. A类IP地址
一个A类IP地址是指,在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是0。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数可达到1600万台。
A类IP地址范围为1.0.0.0~127.255.255.255 (二进制表示为00000001 00000000 00000000 00000000~01111110 11111111 11111111 11111111),最后一个为广播地址。A类IP地址的子网掩码为255.0.0.0,每个网络支持的最大主机数为2563-2=16777214台。
2. B类IP地址
一个B类IP地址是指在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是10。
B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址范围为128.0.0.0~191.255.255.255(二进制表示为10000000 00000000 00000000 00000000~10111111 11111111 11111111 11111111),最后一个是广播地址。B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为2562-2=65534台。
3. C类IP地址
一个C类IP地址是指在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是110。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP地址范围为192.0.0.0~223.255.255.255(二进制表示为11000000 00000000 00000000 00000000~11011111 11111111 11111111 11111111)。C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台。
4. D类IP地址
D类IP地址又称为多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是1110,范围从224.0.0.0~239.255.255.255。
5. 特殊的地址
每一个字节都为0的地址(0.0.0.0)表示当前主机,IP地址中的每一个字节都为1的IP地址(255.255.255.255)是当前子网的广播地址,IP地址中凡是以11110开头的E类IP地址都保留用于将来和实验使用。
IP地址中不能以十进制127作为开头,而以数字127.0.0.1~127.255.255.255段的IP地址称为回环地址,用于回路测试,如127.0.0.1可以代表本机IP地址,网络ID的第一个8位组也不能全置为0,全0表示本地网络。
3.5.2子网掩码
子网掩码(subnet mask)又名网络掩码、地址掩码,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。
通常来讲,子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
对于A类地址,默认的子网掩码是255.0.0.0,而对于B类地址来说默认的子网掩码是255.255.0.0,对于C类地址来说默认的子网掩码是255.255.255.0。
互联网是由各种小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字1表示,1的数目等于网络位的长度; 右边是主机位,用二进制数字0表示,0的数目等于主机位的长度。
3.5.3网关地址
网关(gateway)是一个网络连接到另一个网络的“关口”,网关实质上是一个网络通向其他网络的IP地址。主要用于不同网络间传输数据。
例如电脑设备上网,如果是接入到同一个交换机,在交换机内部传输数据是不需要经过网关的,但是如果两台设备不在一个交换机网络,则需要在本机配置网关,内网主机的数据通过网关,网关把数据转发到其他的网络的网关,直至找到对方的主机网络,然后返回数据。
3.5.4MAC地址
媒体访问控制(media access control,MAC)是物理地址、硬件地址,用来定义网络设备的位置。
在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。
IP地址工作在OSI参考模型的第三层网络层。两者之间分工明确,默契合作,完成通信过程。IP地址专注于网络层,将数据包从一个网络转发到另外一个网络; 而MAC地址则专注于数据链路层,将一个数据帧从一个节点传送到相同链路的另一个节点。
IP地址和MAC地址一般是成对出现的。如果一台计算机要和网络中另一台计算机通信,那么这两台设备必须配置IP地址和MAC地址,而MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。
在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作; MAC地址负责表示计算机的数据链路层地址,数据链路层设备,根据MAC地址来进行操作。IP地址和MAC地址这种映射关系是通过地址解析协议(address resolution protocol,ARP)来实现的。
3.6Linux系统配置IP
Linux操作系统安装完毕,那接下来如何让Linux操作系统能上外网呢?以下为Linux服务器配置IP的方法。
Linux服务器网卡默认配置文件在/etc/sysconfig/networkscripts/下,命名的名称一般为ifcfgeth0、ifcfgeth1,eth0表示第一块网卡,eth1表示第二块网卡,以此类推,例如DELL R720标配有4块千兆网卡,在系统显示的名称依次为eth0、eth1、eth2、eth3。
修改服务器网卡IP地址命令为vi /etc/sysconfig/networkscripts/ifcfgeth0 (注CentOS 7网卡名为ifcfgeno16777736)。vi编辑网卡配置文件,默认为DHCP方式,配置如下:
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0c:29:52:c7:4e
ONBOOT=yes
TYPE=Ethernet
vi编辑网卡配置文件,修改BOOTPROTO为DHCP方式,同时添加IPADDR、NETMASK、GATEWAY信息如下:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0c:29:52:c7:4e
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.1.103
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
服务器网卡配置文件,详细参数如下:
DEVICE=eth0: 物理设备名。
ONBOOT=yes: [yes|no](重启网卡是否激活网卡设备)。
BOOTPROTO=static: [none|static|bootp|dhcp](不使用协议|静态分配|BOOTP协议|DHCP协议)。
TYPE=Ethernet: 网卡类型。
IPADDR=192.168.1.103: IP地址。
NETMASK=255.255.255.0: 子网掩码。
GATEWAY=192.168.1.1: 网关地址。
服务器网卡配置完毕后,重启网卡服务/etc/init.d/network restart即可。然后查看IP地址,命令为ifconfig或者ip addr show查看当前服务器所有网卡的IP地址。
CentOS 7 Linux中,如果没有ifconfig命令,可以用ip addr list/show查看,也可以安装ifconfig命令,需安装软件包nettools,命令如下,详细配置如图39所示。
yum install net-tools -y
图39YUM安装nettools工具
3.7Linux系统配置DNS
网卡IP地址配置完毕后,如果服务器需上外网,还需要配置域名解析地址(domain name system,DNS),DNS主要用于将请求的域名转换为IP地址,DNS地址配置方法如下:
修改vi/etc/resolv.conf文件,加入如下两行代码:
nameserver 202.106.0.20
nameserver 8.8.8.8
上述语句分别表示主DNS与备DNS,DNS配置完毕后,无须重启网络服务,DNS立即生效。用户可以用命令pingc 6www.baidu.com查看返回结果,如果有IP返回,则表示服务器DNS配置正确,如图310所示。
图310ping命令返回值
3.8Linux网卡名称命名
CentOS 7服务器,默认网卡名为ifcfgeno16777736,如果用户想把网卡名改成ifcfgeth0,按如下步骤操作即可。
(1) 编辑/etc/sysconfig/grub文件,命令为vi /etc/sysconfig/grub,在倒数第二行quiet后加入如下代码,详细配置如图311所示。
net.ifnames=0 biosdevname=0
图311网卡配置ifnames设置
(2) 执行命令grub2mkconfig o /boot/grub2/grub.cfg,生成新的grub.cfg文件,命令如下,详细配置如图312所示。
grub2-mkconfig -o /boot/grub2/grub.cfg
图312生成新的grub.cnf文件
(3) 重命名网卡名称,执行命令mv ifcfgeno16777736 ifcfgeth0,修改ifcfgeth0文件中DEVICE= eno16777736为DEVICE= eth0,如图313所示。
图313重命名网卡名称
(4) 重启服务器,并验证网卡名称是否为eth0,Reboot完成后,如图314所示。
图314验证网卡设备名称
3.9CentOS 7密码重置
修改CentOS 7 root密码非常简单,只需登录系统,执行命令passwd按Enter键即可,但是如果忘记root密码,无法登录系统,该如何去重置root用户的密码呢?以下为重置root用户密码的方法。
(1) Reboot重启系统,系统启动进入欢迎界面,加载内核步骤时,按E键,然后选中CentOS Linux (3.10.0327.e17.x86_64)7 (Core),如图315所示。
图315内核菜单选择界面
(2) 继续按E键进入编辑模式,找到ro crashkernel=auto xxx项,将ro改成rw init=/sysroot/bin/sh,如图316所示。
图316内核编辑界面
(3) 修改后如图317所示。
图317内核编辑界面
(4) 按Ctrl+X键进入单用户模式,如图318所示。
图318进入系统单用户模式
(5) 执行命令chroot /sysroot访问系统,并使用passwd修改root密码,如图319所示。
图319修改root用户密码
(6) 更新系统信息,touch /.autorelabel,执行命令touch /.autorelabel,在/目录下创建一个.autorelabel文件,如果该文件存在,系统在重启时就会对整个文件系统进行relabeling重新标记,可以理解为对文件进行底层权限的控制和标记,如果SELinux属于disabled关闭状态则不需要执行这条命令,如图320所示。
图320创建autorelabel文件
3.10远程管理Linux服务器
Linux系统安装完毕后,可以通过远程工具来连接到Linux服务器,远程连接服务器管理的好处在于可以跨地区管理服务器,例如用户在北京,想管理的服务器在上海某IDC机房,通过远程管理,不需要到IDC机房现场去操作,直接通过远程工具即可管理服务器。
远
丁超——百度集团公司技术经理、李志明——京东商城高级运维经理、王帅——阿里巴巴资深运维架构师、蔡正雄——京峰教育首席运营官、贾云龙——乐博学院首席执行官、华宇飞 中国教师研修网运维总监、萧田国——高效运维社区&DevOpsDays中国联合发起人联袂推荐。资深作者编著,图书质量更有保证;提供配套源码,便于读者动手实践;内含丰富实例,直接用于生产环境;提供配套练习,便于读者巩固技能。配套学习资源下载地址为清华大学出版社网站本书页面。