• 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
  • 相关阅读:
    Python自动发邮件-yagmail库
    使用Network Emulator Toolkit工具模拟网络丢包测试(上)
    Fiddler实战之使用Fiddler模拟弱网环境(限速)
    Jmeter接口测试之SSHCommand测试Linux服务器资源文件信息
    Fiddler实战之将抓到接口导入Jmeter接口测试
    Could not get lock /var/lib/dpkg/lock
    OPMS是什么?
    Docker是什么?
    Docker容器中启动OPMS项目
    Docker容器部署Tomcat服务器
  • 原文地址:https://www.cnblogs.com/liujiaqi1101/p/13556317.html
Copyright © 2020-2023  润新知