09-常用指令(3)

网络管理

网络地址转换 NAT

NAT 概述

  • 需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫作 NAT路由器,它至少有一个有效的外部全球IP地址
  • 所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接

NAT 路由器工作原理


VMWare 配置 NAT

虚拟机设置

每一个 VMnet* 相当于一个网络,虚拟机如果想要上网,就设置成 VMnet 的网段内的 IP 地址。通过默认网关(也就是在宿主机中虚拟出来的网卡地址,它也在这个网段里,也是该网段的默认网关),发给物理机,宿主机的虚拟网卡收到该数据报后,再将数据报源地址改为物理机的公网地址,最后向外转发(就是 NAT 的过程)。

  • VMnet* 相当于你物理机里的一个网段,上网的时候统统用物理机的公网地址替换了(NAT 行为)
  • 要想让虚拟机上网,必须把物理机的网卡放入和虚拟机一个网段,数据才能出去
  • 虚机若想访问物理机的共享资源 / Ping,地址应该写物理机虚拟网卡的地址而不是物理机公网地址

虚拟网络编辑器

Linux 网络环境配置

自动获取 IP

  • 说明:登陆后,通过界面的来设置自动获取 IP
  • 特点:Linux 启动后会自动获取 IP,缺点是每次自动获取的 IP 地址可能不一样



指定固定 IP

说明:通过修改配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33 来指定 IP。

监控网络状态

netstat

  • 基本语法:netstat [选项]
  • 功能描述:查看系统网络服务的情况
  • 选项说明
    • -an 按一定顺序排列输出
    • -p 显示哪个进程在调用
  • 示例
    • 查看系统所有的网络服务:netstat -anp | more
    • 查看服务名为 sshd 的服务的信息

ping

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

进程管理

基本介绍

  • 在 Linux 中,每个执行的程序(代码)都称为一个"进程"。每一个进程都分配一个 ID 号。
  • 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如 www 服务器。
  • 每个进程都可能以 2 种方式存在的:前台与后台
    • 前台进程就是用户目前的屏幕上可以进行操作的
    • 后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行
  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

显示系统执行的进程

  • 指令格式:ps –aux | grep xxx
  • 功能描述:是用来查看目前系统中,有哪些正在执行,以及它们执行的状况
  • 常用的参数有 aux,也可以不加任何参数
    • ps -a 显示当前终端的所有进程信息
    • ps -u 以用户的格式显示进程信息
    • ps -x 显示后台进程运行的参数
  • 若只希望查看 sshd 服务的进程状况:ps -aux | grep sshd
  • 查询结果的列名说明

查看进程的父进程

  • 要求:以全格式显示当前所有的进程,查看进程的父进程
  • ps -ef 是以全格式显示当前所有的进程。参数 -e 显示所有进程,-f 表示"全格式"
  • 若只关心个别进程,可通过 ps -ef | grep xxx 对查询结果进行过滤
  • 查询结果的列名说明

查看进程树,可以更加直观的来看进程信息

  • 基本语法:pstree [选项]
  • 常用选项:
    • -p 显示进程的 PID
    • -u 显示进程的所属用户
  • 应用实例:
    • 以树状的形式显示进程的 pid
    • 以树状的形式进程的用户 id

终止进程

  • 基本介绍:若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill 命令来完成此项任务。
  • 基本语法
    • kill [选项] 进程号:通过进程号杀死进程
    • killall 进程名称:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
  • 常用选项:-9 表示强迫进程立即停止
  • 最佳实践
    • 踢掉某个非法登录用户
    • 终止远程登录服务 sshd,在适当时候再次重启 sshd 服务
    • 终止多个 gedit 编辑器:killall gedit
    • 强制杀掉一个终端

动态监控进程

  • 基本语法:top [选项]
  • 功能描述:top 与 ps 命令很相似。它们都用来显示正在执行的进程。top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。
  • 选项说明
  • 交互操作说明
  • 应用实例
    • 监视特定用户
      • top:输入此命令,按回车键,查看执行的进程
      • u:然后输入 u 回车,再输入用户名即可
    • 终止指定的进程
      • top:输入此命令,按回车键,查看执行的进程
      • k:然后输入 k 回车,再输入要结束的进程 ID 号
    • 指定系统状态更新的时间(每隔10秒自动更新):top -d 10

服务管理

简述

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

systemctl

指令:systemctl [start | stop | restart | reload | status] 服务名

举例:查看当前防火墙的状况,关闭防火墙和重启防火墙

  • iptables 是 Linux 中对网络数据包进行处理的一个功能组件,就相当于防火墙,可以对经过的数据包进行处理,例如:数据包过滤、数据包转发等等。iptables 其实是一堆规则,防火墙根据 iptables 里的规则,对收到的网络数据包进行处理。iptables 里的数据组织结构分为:表、链、规则。
  • iptables 在 CentOS 7 版本上需要自行安装:yum install iptables-services
  • 检查是否安装成功
  • 启动 iptables:systemctl start iptables.service
  • 有关命令
    systemctl start iptables #启动
    systemctl status iptables #查看运行状态
    systemctl restart iptables.service #重启
    systemctl stop iptables.service #停止
    systemctl enable iptables.service #设置开机启动
    systemctl disable iptables.service #禁止开机启动
    
  • 关闭或者启用防火墙后,立即生效。[telnet 测试某个端口即可]
  • 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。如果希望设置某个服务自启动或关闭永久生效,要使用 chkconfig 指令

查看服务名

  1. 使用 setup → 系统服务 就可以看到
  2. 查看 /etc/init.d/服务名称

服务的运行级别

  • 查看或者修改默认级别:vi /etc/inittab
  • Linux 有 7 种运行级别(RunLevel):常用的是级别 3 和 5
    • 运行级别0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动
    • 运行级别1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆
    • 运行级别2:多用户状态(没有NFS),不支持网络
    • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    • 运行级别4:系统未使用,保留
    • 运行级别5:X11 控制台,登陆后进入图形 GUI 模式
    • 运行级别6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动
  • 开机的流程说明
  • 如果不小心将默认的运行级别设置成 0 或者 7 ,怎么处理?进入单用户模式,修改成正常的即可

通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭。 chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 才能生效。

  • chkconfig --list | grep xxx
  • chkconfig 服务名 --list
  • chkconfig --level 5 服务名 on/off
  1. 请显示当前系统所有服务的各个运行级别的运行状态 chkconfig --list
  2. 请查看 sshd 服务的运行状态 service sshd status
  3. 将 sshd 服务在运行级别 5 下设置为不自动启动 chkconfig --level 5 sshd off
  4. 当运行级别为 5 时,关闭防火墙 chkconfig --level 5 iptables off
  5. 在所有运行级别下,关闭防火墙 chkconfig iptables off
  6. 在所有运行级别下,开启防火墙 chkconfig iptables on

RPM 包管理

简述

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有 .RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 Windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。

Linux 的分发版本都有采用 (如 suse,redhat,centos ...),可以算是公认的行业标准了。

查询 rpm

  • rpm 包的简单查询指令:rpm –qa | grep xx
  • rpm 包名基本格式
  • 其它查询指令
    • rpm -qa | more 查询所安装的所有 rpm 软件包
    • rpm -qi 软件包名 查询软件包信息
    • rpm -q 软件包名 查询软件包是否安装
    • rpm -ql 软件包名 查询软件包中的文件
    • rpm -qf 文件全路径名 查询文件所属的软件包

卸载 rpm

  • 基本语法:rpm -e RPM包的名称
  • 细节讨论
    • 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。如:rpm -e foo
      removing these packages would break dependencies:foo is needed by bar-1.0-1
      
    • 如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行。如:rpm -e --nodeps foo

安装 rpm

  • 基本语法:rpm -ivh RPM包全路径名称
  • 参数说明
    • i=install 安装
    • v=verbose 提示
    • h=hash 进度条
  • 以安装 Firefox 为例,需要先找到 rpm 包:挂载当初安装 Linux 的 ISO 文件

YUM

  • Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装(要求联网),可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
  • yum 的基本指令
    • 查询 yum 服务器是否有需要安装的软件:yum list | grep xxx
    • 安装指定的 yum 包:yum install xxx
  • 示例:使用 yum 的方式来安装 Firefox
原文地址:https://www.cnblogs.com/liujiaqi1101/p/13556317.html