Linux06(网络配置进程管理服务管理动态监控进程)

Posted Zephyr丶J

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux06(网络配置进程管理服务管理动态监控进程)相关的知识,希望对你有一定的参考价值。

Linux06

网络配置

原理图

(vmnet是虚拟网卡,连接虚拟机和主机之间的通信)
在这里插入图片描述

查看网络IP和网关

查看虚拟网络编辑器

在这里插入图片描述

修改ip地址

在这里插入图片描述

查看网关

在这里插入图片描述

查看windows环境的中VMnet8网络配置 (ipconfig指令)

在这里插入图片描述
查看网络IP和网关,也可以打开主机的网络和Internet设置,更改适配器设置,右键vmnet8,属性,双击Ipv4
在这里插入图片描述

查看linux环境的网络配置 (ifconfig指令)

在这里插入图片描述

ping 测试主机之间网络连通性

基本语法:
ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)

应用实例
测试当前服务器是否可以连接百度
ping www.baidu.com

linux网络环境配置

第一种方法(自动获取):

说明:登陆后,通过界面的来设置自动获取ip,特点:linux启动后会自动获取ip,缺点是每次自动获取ip地址可能不一样
在这里插入图片描述

第二种方法(指定ip):

1.说明
直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),
2.编辑 vim /etc/sysconfig/network-scripts/ifcfg-ens33
要求:将ip地址配置的静态的,ip地址为192.168.200.130

ifcfg-eth0文件说明

DEVICE=eth0       #接口名(设备,网卡)
HWADDR=00:0C:2x:6x:0x:xx   #MAC地址
TYPE=Ethernet   #网络类型(通常是Ethemet)
UID=26a57ba-92c6-4231-bacb-f27e5e6a9f44   #随机id
#系统启动的时候网络接口是否有效(yes/no)
ONBOOT=yes
#IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
#IP地址
IPADDR=192.168.200.130
#网关
GATEWAY=192.168.200.2
#域名解析器
DNS1=192.168.200.2

3.重启网络服务或者重启系统生效
service network restart 、reboot

设置主机名和hosts映射

(查看window的主机名,电脑右键属性)

设置主机名

为了方便记忆,可以给linux系统设置主机名,也可以根据需要修改主机名
1.命令 hostname   查看主机名
2.修改文件在 /etc/hostname 指定
3.修改后,重启生效

设置hosts映射

思考:如何通过主机名能够找到(比如ping)某个linux系统

windows在C:\\Windows\\System32\\drivers\\etc\\hosts 文件即可(需要管理员权限)
案例:192.168.200.130 hspedu100

linux
在 /etc/hosts 文件中指定
案例:192.168.200.1 ThinkPad-PC

主机名解析过程分析(Hosts、DNS)
  1. Hosts是什么
    一个文本文件,用来记录IP和Hostname(主机名)的映射关系

  2. DNS,就是Domain Name System的缩写,翻译过来就是域名系统;是互联网上作为域名和IP地址相互映射的一个分布式数据库

  3. 应用实例:用户在浏览器输入了www.baidu.com
    1)浏览器先检查浏览器缓存中有没有该域名解析IP地址,有就先调用这个IP完成解析;如果没有,就检查DNS解析器缓存,如果有直接返回IP完成解析。这两个缓存,可以理解为本地解析器缓存
    2)一般来说,当电脑第一次成功访问某一网站后,在一定时间内,浏览器或操作系统会缓存他的IP地址(DNS解析记录) 。如在cmd窗口中输入
    ipconfig /displaydns   //DNS域名解析缓存
    ipconfig /flushdns   //手动清理dns缓存

3)如果本地解析器缓存没有找到对应映射,检查系统中hosts文件中有没有配置对应的域名IP映射,如果有,则完成解析并返回。
4) 如果本地DNS解析器缓存和hosts文件中均没有找到对应的IP,则到域名服务DNS进行解析
在这里插入图片描述

进程管理(重点)

基本介绍

  1. 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号(pid,进程号。
  2. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。
    在这里插入图片描述

显示系统执行的进程

基本介绍
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。 可以不加任何参数.
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

ps详解
  1. 指令:ps –aux | grep xxx ,比如看看有没有sshd服务
  2. 指令说明
    • System V展示风格
    • USER:用户名称
    • PID:进程号
    • %CPU:进程占用CPU的百分比
    • %MEM:进程占用物理内存的百分比
    • VSZ:进程占用的虚拟内存大小(单位:KB)
    • RSS:进程占用的物理内存大小(单位:KB)
    • TTY:终端名称,缩写 .
    • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
    • STARTED:进程的启动时间
    • TIME:CPU时间,即进程使用CPU的总时间
    • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
应用实例
要求:以全格式显示当前所有的进程,查看进程的父进程。查看sshd的父进程信息
• ps -ef是以全格式显示当前所有的进程 
• -e 显示所有进程。-f 全格式。 
• ps -ef | grep xxx

在这里插入图片描述

• 是BSD风格
• UID:用户ID 
• PID:进程ID 
• PPID:父进程ID 
• C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
• STIME:进程启动的时间
• TTY:完整的终端名称
• TIME:CPU时间
• CMD:启动进程所用的命令和参数

终止进程kill和killall

  1. 介绍: 若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。
  2. 基本语法:
    kill [选项] 进程号(功能描述:通过进程号杀死进程)
    killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
  3. 常用选项:
    -9 :表示强迫进程立即停止

最佳实践:
案例1:踢掉某个非法登录用户
kill 进程号 ,比如 kill 11421
案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务
kill sshd对应的进程号; 重启:/bin/systemctl start sshd.service
案例3: 终止多个gedit 编辑器
killall gedit
案例4:强制杀掉一个终端
kill -9 对应的进程号

查看进程树pstree

基本语法:
pstree [选项] ,可以更加直观的来看进程信息
常用选项:
-p :显示进程的PID
-u :显示进程的所属用户

应用实例:
案例1:请你树状的形式显示进程的pid 
	pstree -p
案例2:请你树状的形式进程的用户id
	pstree -u

在这里插入图片描述

服务管理

1.介绍: 服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。

2.service管理指令:
service 服务名 [start | stop | restart | reload | status]
在CentOS7.0后 不再使用service ,而是 systemctl
service 指令管理的服务在 /etc/init.d 中查看(绿色的)
在这里插入图片描述
3.service管理指令案例:
service network status
在这里插入图片描述

查看服务名:

方式1:使用setup -> 系统服务 就可以看到。
前面有 * 的表示自启的,其他需要手动启动
在这里插入图片描述
方式2: /etc/init.d 看到service指令管理的服务
ls -l /etc/init.d

服务的运行级别(runlevel):

Linux系统有7种运行级别(runlevel):常用的是级别3和5
• 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
• 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
• 运行级别2:多用户状态(没有NFS),不支持网络
• 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
• 运行级别4:系统未使用,保留
• 运行级别5:X11控制台,登陆后进入图形GUI模式
• 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
(在centos7以后,简化了运行级别,一般指的是3和5,但是其他运行级别也存在,init 0可以进入0)
在这里插入图片描述

一个思考题
如果不小心将默认的运行级别设置成 0 或者 7 ,怎么处理?
进入单用户模式,修改成正常的即可。

chkconfig指令

• 介绍
通过chkconfig 命令可以给每个服务的各个运行级别设置自启动 / 关闭
chkconfig指令管理的服务在/etc/init.d中查看
注意:CentOS7.0以后,很多服务使用systemctl管理
• 基本语法

  1. 查看服务 chkconfig --list | grep xxx

  2. chkconfig 服务名 --list

  3. chkconfig --level 5 服务名 on/off

    案例演示:对network服务进行各种操作,把network在3运行级别,关闭自启动
    chkconfig --level 3 network off
    chkconfig --level 3 network on

使用细节:
chkconfig重新设置服务后自启动或关闭,需要重启机器reboot生效.
在这里插入图片描述

systemctl管理指令

基本语法: systemctl [start | stop | restart | status] 服务名
systemctl 指令管理的服务在 /usr/lib/systemd/system 查看

systemctl 设置服务的自启动状态

systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态,grep可以进行过滤)
systemctl enable服务名(设置服务开机启动)
systemctl disable服务名(关闭服务开机启动)
systemctl is-enabled服务名(查询某个服务是否是自启动的)

应用案例:

  1. 查看当前防火墙的状况,关闭防火墙和重启防火墙。=>firewalld.service
    systemctl stauts firewalld; systemctl stop firewalld; systemctl start firewalld

细节讨论:

  1. 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
  2. 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
  3. 如果希望设置某个服务自启动或关闭永久生效,要使用systemctl enable/disable 服务名
补充

Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦用户与远程主机建立了Telnet连接,用户便可以使用目标主机上的软、硬件资源,而用户的本地机只相当于一个只有键盘和显示器的终端而已。
telnet命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了
telnet服务的启用,在控制面板中,选择程序->打开或关闭windows功能->telnet客户端

打开或者关闭端口

在真正的生产环境,往往需要将防火墙打开,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如80、22、8080等,这个又怎么做呢?
在这里插入图片描述

firewall指令

1)打开端口: firewall-cmd --permanent --add-port=端口号/协议
2)关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
3)重 新载入,才能生效: firewall-cmd --reload,
4)查询端口是否开放:firewall-cmd --query-port=端口/协议

应用案例:
1) 启用防火墙, 测试111端口是否能telnet,不行
2) 开放111端口
firewall-cmd --permanent --add-port=111/tcp ;需要firewall-cmd --reload
3)再次关闭111端口
firewall-cmd --permanent --remove-port=111/tcp ;需要firewall-cmd --reload

动态监控进程

介绍:
top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
基本语法:
top [选项]
在这里插入图片描述

在这里插入图片描述
zombie表示僵死进程,代表进程已经死掉了,但是还占用内存
cpu占用情况中,us表示用户,sy系统,id表示空闲

交互操作说明

在这里插入图片描述

应用实例:
案例1.监视特定用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”,再输入用户名,即可
案例2:终止指定的进程。
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”,再输入要结束的进程ID号,(然后输入9强制删除)
案例3:指定系统状态更新的时间(每隔10秒自动更新):top -d 10

监控网络状态

查看系统网络情况netstat
• 基本语法
netstat [选项]

• 选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用

• 应用案例
请查看服务名为 sshd 的服务的信息。
在这里插入图片描述在这里插入图片描述

检测主机连接命令ping:

是一种网络检测检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。
如: ping 对方ip地址

以上是关于Linux06(网络配置进程管理服务管理动态监控进程)的主要内容,如果未能解决你的问题,请参考以下文章

Linux 实用指令 -- 服务管理服务运行级别动态监控进程监控网络状态

Linux crond任务调度 磁盘分区和挂载 网络环境 进程管理 服务(service)管理 动态监控进程 rpm和yum

linuxlinux实操篇之进程管理

Linux网络管理基础

Linux基础21 进程介绍, 进程监控状态ps, 进程相关命令pstree,pgrep,pidof, 动态进程监控top, 进程中断概念, kill停止进程信号介绍pkill, killall

Linux之网络管理网络监控工具