首页 > 系统相关 >云计算学习之磁盘管理案例、进程管理、交换路由器配置

云计算学习之磁盘管理案例、进程管理、交换路由器配置

时间:2024-12-16 21:58:15浏览次数:11  
标签:管理 root 网卡 etc 0.0 进程 磁盘 config 路由器

一.磁盘管理相关案例

1.1磁盘重点回顾

``bash 重点: 机械磁盘 固态磁盘 接口: SATA # 笔记本 台式机 服务器 SAS # 企业服务器标配 PCI-E # 缓存的业务场景

转速: SAS 300G 600G 900G 15K 用户可以访问的服务器

RAID级别 0 1 5 10 几块盘 存储大小 冗余(安全) 性能 使用场景

磁盘分区: 小于2T的磁盘 MBR格式 使用fdisk 大于2T磁盘 GPT格式 使用parted ```

1.2PARTED磁盘分区

```bash
大于2T的磁盘使用parted  可以分128个主分区
分区后直接写入磁盘,直接生效。不需要保存。
第一步: 虚拟机插入大于2T的磁盘

第二步: 添加后重启系统
[root@oldboyedu ~]# reboot
[root@oldboyedu ~]# fdisk -l
Disk /dev/sdc: 3.91 TiB, 4294967296000 bytes, 8388608000 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

1.3SWAP分区

企业中常用的方式: 
1.插入磁盘
2.格式化
[root@oldboyedu ~]# mkfs.xfs -f /dev/sdc
meta-data=/dev/sdc               isize=512    agcount=4, agsize=262144000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=1048576000, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=512000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


3.挂载使用写入开机自启
[root@oldboyedu ~]# mount /dev/sdc /data
[root@oldboyedu ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               963M     0  963M   0% /dev
tmpfs                  979M     0  979M   0% /dev/shm
tmpfs                  979M  8.9M  970M   1% /run
tmpfs                  979M     0  979M   0% /sys/fs/cgroup
/dev/mapper/klas-root   47G  4.8G   43G  11% /
tmpfs                  979M     0  979M   0% /tmp
/dev/sda1             1014M  169M  846M  17% /boot
tmpfs                  196M     0  196M   0% /run/user/0
/dev/sdc               4.0T   28G  3.9T   1% /data

######  企业案例1:java环境内存不够用,大量占用swap

```bash
swap磁盘分区: 大小是内存的1-1.5倍 如果内存大于8G,则最多swap给8G即可。
什么情况下使用swap: 
       测试服务器 
       内部服务器 
       自己用的虚拟机 
       流量波动的业务。
线上服务器,业务服务器禁止使用swap,增加内存的方式解决OOM问题。

创建swap分区的方式:
方法1: 安装操作系统的时候

方法2: 安装完成操作系统
# 测试服务器上测试软件内存不够用,也无法添加内存,为了正常让测试业务正常运行,临时创建swap分区。
第一步: 生成一个1G的设备文件。
[root@oldboyedu ~]# dd if=/dev/zero of=/opt/1g bs=1M count=1000

第二步: 格式化成swap类型  # 磁盘是使用 mkfs.xfs /dev/sdb1
[root@oldboyedu ~]# mkswap /opt/1g 
mkswap: /tmp/1g: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 978.1 MiB (1025601536 bytes)
no label, UUID=0d5ab310-02fa-4a73-b4e2-d489ba2f06b1

1.4磁盘案例

```bash
第一种情况:磁盘空间满
需要查找系统中的大文件,找出磁盘中大于1G的文件。
# 注意mount 会隐藏原来目录下的文件
[root@oldboyedu ~]# dd if=/dev/zero of=/data/2g bs=1M count=2000
[root@oldboyedu ~]# find / -type f -size +1G

[root@oldboyedu ~]# find / -type f -size +1G
/data/2g


第二种情况: inode号满
# 需要找出磁盘中大量的小文件
[root@oldboyedu ~]# find / -type d -size +1M
```

###### 企业案例3.解决磁盘不够用的问题

```bash
需求: 目前磁盘不够用
1.业务会持续输出日志内容到 /var/log/nginx.log文件中 10G
[root@oldboyedu ~]# dd if=/dev/zero of=/var/log/10g bs=1M count=100000

1.5网卡配置文件

###### 企业案例4.删除文件

```bash
磁盘上有个一39G的文件,删除后发现磁盘没有释放。
文件如果被进程所占用,会出现删除文件磁盘没有释放的问题。
查看当前的文件被哪个进程所占用:
[root@oldboyedu ~]# lsof |grep 10g
tail      2873                          root    3r      REG               8,32 41838247936        132 /data/10 (deleted)

杀死进程或者重启或者重新加载
[root@oldboyedu ~]# kill -9 2873
```

##### 04.系统重要配置文件

```bash
1.网卡配置文件
[root@oldboyedu ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet        # 网卡类型 以太网
BOOTPROTO=none        # IP地址的配置方式 none或者static表示手动高配置IP地址 DHCP自动获取IP地址
NAME=ens33            # 网卡系统显示的名称
UUID=cbf46e75-ff6d-4d92-96d8-795522a2652f    # 设备的唯一标识 类似每个设备都有一个身份证,可以删除
DEVICE=ens33        # 网卡硬件的名称
ONBOOT=yes            # 开机自动启动网卡
IPADDR=10.0.0.200    # IP地址 局域网内唯一
PREFIX=24            # 子网源码 决定了局域网内可用的IP地址数量 10.0.0.1-10.0.0.254
GATEWAY=10.0.0.2    # 网关 去往不同网段的必经之路
DNS1=223.5.5.5        # 域名解析 将域名解析成IP地址过程

DNS解析流程:  www.baidu.com ---->DNS223.5.5.5返回www.baidu.com对应的IP地址
             浏览器--->百度服务器的IP地址建立连接。
先备份在修改

1.6hosts文件

#云服务器作业
1.将dns删除 无法上网
2.访问自己搭建网站

2.resolv.conf  # DNS配置文件 配置完成即可生效
面试: DNS配置文件是哪个? resolv.conf


3./etc/hosts  
作用: 本地DNS解析
浏览器访问www.baidu.com---->查找本地的DNS /etc/hosts--->hosts中是否有www.baidu.com对应的IP地址,有就返回给浏览器,如果没有浏览器才会去找223.5.5.5询问有没有百度对应的IP地址

windows的hosts解析较常用
C:\Windows\System32\drivers\etc\hosts


4./etc/hostname
作用: 主机名称的配置文件
临时修改主机名称,重启失效,重连xshell生效
[root@oldboyedu ~]# hostname test

永久修改,修改配置文件
方法1.直接修改/etc/hostname 重启生效

 # 临时生效并且写入配置文件
方法2.hostnamectl set-hostname 主机名称

1.7磁盘案例小结

5./etc/rc.local  
作用: 开机自动执行此脚本 给源文件执行权限,是一个软链接
系统执行此脚本的方式按照路径执行:
[root@test ~]# /etc/rc.local
-bash: /etc/rc.local: Permission denied    # 默认此脚本没有执行权限

给源文件x执行权限
源文件的位置: /etc/rc.d/rc.local
[root@oldboy ~]# ll /etc/rc.local 
lrwxrwxrwx 1 root root 13 Apr 20  2022 /etc/rc.local -> rc.d/rc.local
[root@oldboy ~]# ll /etc/rc.d/rc.local 
-rw-r--r-- 1 root root 493 Nov 21 14:48 /etc/rc.d/rc.local
[root@oldboy ~]# chmod +x /etc/rc.d/rc.local
[root@oldboy ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 493 Nov 21 14:48 /etc/rc.d/rc.local

在测试rc.local重启是否可以执行里面的命令。

知识点小结: 重点
小于2T磁盘分区用fdisk
大于2T磁盘分区用parted
1.parted 流程做笔记 命令需要记住
2.磁盘相关案例
  查找大文件find
  查找小文件find
  swap分区 做笔记
  解决磁盘不够用,使用软链接方式。
3.删除大文件,但是磁盘空间不释放
  文件被进程所占用
  查看文件被哪个进程所在用 面试题
  lsof
4.系统重要配置文件
  网卡优化
  可以使用network重启 需要安装network-scripts

1.8系统重要文件

给源文件x执行权限
源文件的位置: /etc/rc.d/rc.local
[root@oldboy ~]# ll /etc/rc.local 
lrwxrwxrwx 1 root root 13 Apr 20  2022 /etc/rc.local -> rc.d/rc.local
[root@oldboy ~]# ll /etc/rc.d/rc.local 
-rw-r--r-- 1 root root 493 Nov 21 14:48 /etc/rc.d/rc.local
[root@oldboy ~]# chmod +x /etc/rc.d/rc.local
[root@oldboy ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 493 Nov 21 14:48 /etc/rc.d/rc.local

在测试rc.local重启是否可以执行里面的命令。


6./etc/fstab
#作用 开机自动挂载


7./etc/inittab 
作用: 没用  开机设置默认运行级别的配置文件
运行级别: 7个运行级别 每个级别表示不同的功能 面试题或者笔试题
0   # 表示关机
1   # 表示单用户模式,忘记root密码 可以修改root密码
2   # 表示多用户模式,缺少很多功能比如NFS
3   # 表示完全多用户  默认的级别
4   # 保留待开发
5   # 桌面模式 需要安装DESKTOP包
6   # 重启

1.9ect下重要系统

init 0 关机
init 6 重启
# 扩展忘记linux密码 修改root密码

查看当前的运行级别:
[root@oldboy ~]# runlevel
N 3

8./etc/profile 
作用: 存放环境变量,每次重启系统或者远程连接系统 都会执行此文件中所有的变量
[root@oldboy ~]$tail -1 /etc/profile
export PS1="[\[\e[35;1m\]\u@\[\e[0m\]\[\e[36;1m\]\H\[\e[0m\]\[\e[33;1m\] \w\[\e[0m\]]\$"

9. /etc/os-release
# 查看系统版本
centos: /etc/redhat-release

10./etc/passwd

11./etc/crontab

12./etc/sudoers

13./etc/motd   # 开机显示里面的字符串

1.10系统配置文件

/etc/重要系统配置文件
1./etc/passwd
2./etc/crontab
3./etc/rc.local
4./etc/fstab
5./etc/hosts
6./etc/hostname
7./etc/profile
8./etc/sysconfig/network-scripts/ifcfg-ens33
9. /etc/os-release
# 查看系统版本
centos: /etc/redhat-release
10./etc/sudoers
11./etc/motd   # 开机显示里面的字符串
12./etc/resolv.conf


/var/
1./var/log/messages  # 系统日志
2./var/log/secure    # 系统登录和退出日志
nginx-->/var/log/nginx/

cat
less
awk
sed
grep
head
tail
wc

/proc
1./proc/cpuinfo  # cpu信息 笔记
[root@oldboy ~]$lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   45 bits physical, 48 bits virtual
CPU(s):                          4            # cpu的核心数量
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1            # CPU的个数

二.进程管理

2.1 面试开放性问题

1.什么是进程

  当我们运行一个程序,那么我们将运行的程序叫进程

  PS1:当程序运行为进程后,系统会为该进程分配内存,以及进程运行的身份和权限

  PS2:在进程运行的过程中,服务器上会有各种状态来表示当前进程的指标信息

2.程序和进程的区别

  程序是数据和指令的集合,是一个静态的概念,比如/bin/ls /bin/cp 等二进制文件,同时程序可以长期存在系统中

  进程是程序运行的过程,是一个动态的概念,进程是存在生命周期概念的,也就是说进程随着程序的终止而销毁,不会永久存在系统中

3.程序的生命周期

一个对象从无到有、从有到无过程称为生命周期

2.2 进程管理

当父进程接收到任务调度时,会通过fock派生子进程来处理,子进程会继承父进程衣钵(相当于完全复制了一份父进程的信息)

  1. 子进程在处理任务代码时,父进程会进入等待状态中
  2. 子进程在处理任务代码后,会执行退出,然后唤醒父进程来回收子进程的资源
  3. 如果子进程在处理任务过程中,父进程退出,子进程没有退出,子进程没有被父进程管理,则变为僵尸进程
  4. 每个进程都有自己的PID号,子进程称为PPID

二、监控进程状态

程序在运行后,我们需要了解进程的运行状态,查看进程的状态分为:静态和动态两种方式

  1. 使用ps命令查看当前的进程状态(静态)

ps –auxf常用组合方式查看进程、PID、占用cpu百分比,占用内存百分比,状态、执行的命令等

-a显示所有终端机下执行的进程,除了阶段作业领导者之外

     -u以用户为主的格式来显示进程状况

-x显示所有进程,不以终端机来区分

2.3 查看进程状态

程序在运行后,我们需要了解进程的运行状态,查看进程的状态分为:静态和动态两种方式

  1. 使用ps命令查看当前的进程状态(静态)

ps –auxf常用组合方式查看进程、PID、占用cpu百分比,占用内存百分比,状态、执行的命令等

-a显示所有终端机下执行的进程,除了阶段作业领导者之外

   -u以用户为主的格式来显示进程状况

-x显示所有进程,不以终端机来区分

   -f用ASCII字符显示树状结构,表达进程间的相互关系

标志

意义

USER

该 process 属于那个使用者账号的

PID

该 process 的号码

%CPU

该 process 使用掉的 CPU 资源百分比

%MEM

该 process 所占用的物理内存百分比

VSZ

该 process 使用掉的虚拟内存量 (Kbytes)

RSS

该 process 占用的固定的内存量 (Kbytes)

TTY

该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT

该程序目前的状态

START

该 process 被触发启动的时间

TIME

该 process 实际使用 CPU 运作的时间

COMMAND

该程序的实际指令[]内核态进程 无[] 用户进程

STAT基本状态

描述

STAT状态+符号

描述

R

进程运行

s

进程是控制进程, Ss进程的领导者,父进程

S

可中断睡眠

<

进程运行在高优先级上,S<优先级较高的进程

T

进程被暂停

N

进程运行在低优先级上,SN优先级较低的进程

D

不可中断睡眠

+

当前进程运行在前台,R+该表示进程在前台运行

Z

僵尸进程

l

进程是多线程的,Sl表示进程是以线程方式运行

案例1:

1)在终端1上运行vim

[root@lzy ~]# vim test

2)在终端2上运行ps命令查看状态

[root@lzy ~]# ps axu|grep test  #S表示睡眠模式 +表示前台运行

root     14240  0.1  0.5 151868  5676 pts/1    S+   10:48   0:00 vim test

root     14271  0.0  0.0 112660   968 pts/2    R+   10:48   0:00 grep --color=auto test

3)在终端1上挂起vim命令按下: ctrl+z

4) 回到终端2再次运行ps命令查看状态

root@lzy ~]# ps axu|grep test   # T表示停止状态   

2.4 进程软硬终端

  1. 使用top命令查看当前的进程状态 动态

任务

含义

Tasks:73 total

当前进程的总数

2 running

正在运行的进程数

71 sleeping

睡眠的进程数

0 stopped

停止的进程数

0 zombie

僵尸进程数

%Cpu(s):  49.2 us

系统用户进程使用CPU百分比

5.7 sy

内核进程占用CPU百分比,内核是于硬件进行交互

ni

调整过优先级进程占用百分比

45.2 id

空闲CPU的百分比

0.0 wa

CPU等待IO完成的时间

0.0 hi

硬中断,占的CPU百分比

0.0 si

软中断,占的CPU百分比

0.0 st

比如虚拟机占用物理CPU的时间

什么是中断?

2.5 进程管理

管理进程状态

当程序运行为进程后,如果希望停止进程,怎么办呢?那么此时我们可以使用linux的kill命令对进程发送关闭新号,当然除了kill 还有killall pkill

  1. 使用kill –l列出当前系统所支持的信号

虽然Linux信号很多,但是我们仅仅使用最常用的3个信号

  1. SIGHUP 重新加载配置文件 1      不停机维护
  2. SIGKILL 强制杀死进程      9
  3. SIGTERM 终止进程,默认kill使用该信号 15

[root@lzy ~]# ps axu|grep nginx    

root     15688  0.0  0.1  87384  1132 ?        Ss   12:19   0:00 nginx: master process /usr/sbin/nginx

nginx    15689  0.0  0.3  89096  3176 ?        S    12:19   0:00 nginx: worker process

root     15691  0.0  0.0 112660   968 pts/3    R+   12:19   0:00 grep --color=auto nginx

# 发送重新加载信号 nginx配置文件发生改变,可用此重新加载

[root@lzy ~]# kill -1 15688

[root@lzy ~]# ps axu|grep nginx

nginx    15692  0.0  0.3  89376  3648 ?        S    12:19   0:00 nginx: worker process

root     15722  0.0  0.0 112660   968 pts/3    R+   12:20   0:00 grep --color=auto nginx

发送停止信号 kill pid

2.6 后台执行进程

screen的使用 常用

  1. 安装

yum –y install screen

2) 使用方法

   # screen 指定一个任务名称后进入到一个新bash中

   screen -S wget_jenkins

# 在新bash中执行一条下载命令

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm --no-check-certificate

# 平滑退出screen 不会终止任务,如果使用exit则退出

ctrl+a+d   # 平滑退出screen任务

# 查看正在运行的screen有哪些任务

[root@lzy ~]# screen -list

There is a screen on:

        43698.wget_jenkins      (Detached)

1 Socket in /var/run/screen/S-root.

# 进入正在执行的screen任务中 或者使用PID即可进入

[root@lzy ~]# screen -r wget_jenkins

Nohup命令

nohup sleep 600 &

nohup在运行过程中会在当前的目录生成一个nohup.out的临时文件

2.7 进程知识点

面试题:

让一个进程在后台持续运行的方式

Screen

       Screen -S wget_test

       输入在后台一直运行的命令

    Ctrl+a+d 退出screen空间   # exit摧毁此空间

    Screen -r  wget_test  # 进入到screen空间

    Screen -list # 查看空间戒指

Nohup

  Nohup 后台持续运行的命令  &

  Ps axu|grep 进程名称

进程的优先级

  1. 在启动进程时,为不同的进程使用不同的调度策略

nice 值越高 表示优先级越低,例如+19 该进程容易将CPU使用量让给其他进程

nice值越低 表示优先级越高,例如-20, 改进程更不倾向于让出CPU

使用top或ps敏玲查看进程的优先级

# 使用top可以查看nice优先级 NI:实际nice级别,默认是0 动态修正CPU调度。范围(-20~19)。越大,cpu调度越一般,越小,cpu调度越偏向它。一般用于后台进程,调整也是往大了调,用来给前台进程让出CPU资源

PR: 优先级 显示nice值,PR默认是20,越小,优先级越高。修改nice可以同时修改PR   -20映射到0, +19映射到39  

三.交换路由配置

3.1 测试题讲解

    1.  简述centos7运行级别 

0   关机

1   单用户

2   多用户,不支持NFS

3   完全多用户

4   保留待开发

5   桌面

6   重启

  1. 2 简述什么是负载和查看负载的命令

负载是衡量系统的繁忙程度

w

uptime

top

  1. 3 简述企业硬件服务器增加一块磁盘步骤和命令

第一步: 插入磁盘

第二步: 格式化磁盘 mkfs.xfs

第三步: 挂载磁盘

mount

1.4 什么是inode什么是block

inode 文件索引存放文件的属性 df -i

block 存放数据的位置   df -h

​​​​​​​1.5 /etc/fstab含义及每一列含义

开机自动挂载

设备名称或者UUID 挂载点 文件类型 defaults  0 0

  1. 6简述软硬连接的区别

inode

软链接inode号不同

硬链接inode相同

创建方式

     软 ln -s   硬 ln

     目录不能创建硬链接

     目录可以创建软链接

      文件可以硬可以软

     软链接可以跨文件系统

     硬链接不能跨文件系统

删除

  删除软链接不影响源文件

删除软链接源文件影响链接文件

删除硬链接不影响源文件

3.2 网络网线

所谓网络,就是通过一定的形式连接起来的物体,物体与物体之间可以实现通信。
用什么连接:
    网线
        网线分类: 五类线 超五类 六类线(千兆) 按箱子305米  
        水晶头 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕 568B线序(568A线序)    
        8芯线: 4芯 1236芯 用来传输数据 其他4芯没用(额外供电 反向供电 POE供电)
        传输距离100米(超过100米需要加信号放大器 交换机 HUB)
    光纤 千兆万兆
        多模光纤 传输距离近  2公里
        单模光纤 传输距离远  120公里
    wifi
    
物体于物体:
    计算机-计算机
    计算机-服务器
    服务器-服务器
    计算机-交换机
    计算机-路由器
    交换机-交换机
    路由器-路由器
    
    物联网: 所有的物体都是由网络进行互通互联
           ip不够用
#网络的重要性

所有的系统都有网络!
我们的生活已经离不开网络。
运维生涯50%的生产故障都是网络故障!

```

***1. 如何通过网络实现多台主机之间的通讯\***

```

1)在两台主机之间需要有传输介质(网线、光纤、无线等)

2)在两台主机上面需要有网卡设备
  网卡: 全球唯一的地址(MAC)  类似家的位置

    在发送信息时:将二进制(数字信号)信息转换为高低电压(电信号)      #调至过程
    在接收信息时:将高低电压(电信号)信息转换为二进制数(数字信号)    #解调过程


3)在进行数据传输之前,需要协商网络传输速率。

    网卡速度参数  100Mbps==100M bit 每秒==每秒钟传输多少个bit(0或1)
    1M=1000k 100M=100000k
    1k=1000b 100000k=100000000b
    
    网络传输数据单位:比特  bit    1bit=1/8byte
    磁盘存储数据单位:字节  byte   1byte=8bit
网卡的100Mbps同样是以bit/s来定义的 所以100Mb/S=100000KByte/s=(100000/8)KByte/s=12500KByte/s
在理论上1秒钟可以传输12.5MB的速据 考虑到 干扰的因素每秒传输只要超过10MB就是正常了 现在出现了1000Mbps的网卡那么速度就是100MB/S 
K是千 M是兆 G是吉咖 T是太拉

1Byte(字节)=8bit(位)

1KB=1024Byte(字节)

1MB=1024KB

1024MB=1GB

3.3 网络光纤

实现一个网络内多台主机之间的通讯

#如何利用交换机实现通讯

   1. 在数据前面设置目标地址和源地址,目标地址和源地址用mac地址进行标识
      mac称为物理地址,每块网卡上都有的一个标识身份信息的
      mac地址全球唯一,不能进行修改,mac地址用16进制标识
      
   2. 在网络通讯初期,会利用广播方式进行发送数据包,在通讯的过程,数据包的发送一定是有去有回的。
      在一个交换网路中,如果产生了大量广播数据包时会产生广播风暴,影响主机性能,这样的问题称为广播风暴问题
      
#解决广播风暴问题思路:

    减少广播产生数量,将一个大的交换网络切割为几个小的交换网络(局域网,广播域)

#交换机的种类

    傻瓜交换机(TP-link/Dlink/水星...)
    4口 8口 12口 16口 24口 48口
    程控交换机(存储程序控制交换机,配置管理,思科、华为、华三、锐捷、中兴、瑞斯康达)
    二层交换  支持数据转发 vlan隔离端口
    三层交换  功能比较多 DHCP ACL访问控制列表 支持路由器功能
OSI七层模型
```

![image-20210817155756979](新建文本文档.assets/image-20210817155756979.png)

​                                                                                           思科交换机硬件设备

***2. 什么是路由器\***

```

实现不同局域网之间主机通讯,可以隔离广播风暴(路由不同的接口连接不同广播域)

    路由类似于现实生活中从A地去往B地可能需要先步行,在坐车,在做飞机才能到达B地,这样的整个过程在网络中对应数据的传递过程就称为路由。因此一个数据信息跨越不同的网段传递到目的地址,就可以把传递数据的过程称为路由,也可以看做每条传递数据的路径。

1)需要有身份标识信息:ip地址
   逻辑地址(可以改变的地址/???) 利用10进制方式进行显示
   IP地址由两部分组成: 交换网络标识信息+主机地址标识信息===网段地址+主机地址
                        192.168.16 网段 1-254 主机地址
                        10.0.0   网段  1-254 主机地址
                        昌平区  网段  xx地址 192.168.11.X
                        海淀区  网段  xx地址 192.168.10.X
   内网卡---交换机   192.168.11.0/24(192.168.11.1~192.168.11.254)
   外网卡---运营商   IP    : 221.218.210.53

3.4 网络带宽

高级路由器还有上网行为管理器和防火墙功能
论坛:鸿鹄论坛(网络工程师)

2)路由实现数据传输通讯时,会根据路由表信息进行数据包路由
   实现不同网段之间通讯需要经过一条必经之路,这条路称为网关
       
3) 查看路由条目信息方法
[root@qls ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
[root@qls ~]# netstat  -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
172.16.1.0      0.0.0.0         255.255.255.0   U         0 0          0 eth1

第一列:所能去往网段的信息 
第二列:0.0.0.0  通过局域网即可到达
       10.0.0.254 想去往其他网段的必经节点,称为网关
第三列:子网掩码(告诉网段内可以容纳多少主机)
最后一列:到达指定目标,通过哪一个接口出去

实现不同的网段通信:
两个网段中间加路由器

Router>  ---> 用户模式
Router> enable   # 进入特权模式
Router#  --- >特权模式
Router# config t    # 进入全局配置模式
Router# config terminal # 简写 conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#
Router(config)#int fa0/0    # 进入到fa0/0第一个接口
Router(config-if)#
Router(config-if)#ip address 10.0.0.1 255.255.255.0   # 配置接口的IP地址
Router(config-if)#no shut                              # 开启接口
Router(config-if)#int fa0/1            # 直接切换到fa0/1接口进行配置IP
Router(config-if)#ip ad
Router(config-if)#ip address 11.22.33.1 255.255.255.0 
Router(config-if)#no shut

3.5 交换机通信过程

```bash
静态路由: 手动指定路由表信息
R1先配置接口地址: 
Router>enable
Router#config t
Router(config)#hostname R1
R1(config)#
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int fa0/0
R1(config-if)#ip add 10.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#int fa0/1
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)# no shut


R2路由器:
Router>enable
Router#config t
Router(config)#hostname R2
R2(config)#
R2(config)#
R2(config)#int fa0/0
R2(config-if)#ip add 1.1.1.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int fa0/1
R2(config-if)#ip add 2.2.2.1 255.255.255.0
R2(config-if)#no shut

R3路由器:
Router#config t
Router(config)#hostname R3
R3(config)#
R3(config)#int fa0/0
R3(config-if)#ip add 2.2.2.2 255.255.255.0
R3(config-if)#no shut
R3(config-if)#int fa0/1
R3(config-if)#ip add 11.22.33.1 255.255.255.0 
R3(config-if)#no shut


R1配置静态路由:
R1(config)#ip route 11.22.33.0 255.255.255.0 1.1.1.2

R2配置静态路由:
R2(config)#ip route 11.22.33.0 255.255.255.0 2.2.2.2
R2(config)#ip route 10.0.0.0 255.255.255.0 1.1.1.1

R3配置静态路由:
R3(config)#ip route 10.0.0.0 255.255.255.0 2.2.2.1

检测ping:
```

![image-20240725162257532](%E7%BD%91%E7%BB%9C2.assets/image-20240725162257532.png)

```bash
动态路由:

R1:
Router>enable
Router#config t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int fa0/0
Router(config-if)#ip add 10.0.0.1 255.255.255.0
Router(config-if)#no shut

Router(config-if)#int fa0/1
Router(config-if)#ip add 1.1.1.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#hostname R1
R1(config)#
R1(config)#

R1(config)#router rip            # 开启rip协议
R1(config-router)#network 1.1.1.0   # 宣告1网段
R1(config-router)#network 10.0.0.0  # 宣告10网段

3.6 交换机

基本网络层次划分标准示意图

***2. 网络类型\***

```

   局域网:本地私有的一个网络范围。规模较大的局域网,也会称为园区网。
   教室 家庭  公司内 校园
   公网: 全球任意一个可以上网的地方都可以直接访问到
   
   城域网:网络的覆盖面积达到了一个城市,就可以称为城域网。
   
   广域网:覆盖面积 达到了全国或全球,就称为广域网,全球最大的广域网就是Internet互联网。

```

***3. 网络层次模型(OSI7层模型)\***

```

    OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

```

**OSI七层模型功能介绍**

![image-20210817160109314](新建文本文档.assets/image-20210817160109314.png)

​                                                                                    OSI 7层模型形象比喻示意图

![image-20210817160213069](新建文本文档.assets/image-20210817160213069.png)

​                                                                                    OSI 7层模型结构示意图

***4. OSI七层模型详解\***

**应用层** 

面试题说一下七层模型都有哪七层?

![image-20210817160301909](新建文本文档.assets/image-20210817160301909.png)

```

主要就是提供应用程序可以接入网络接口,并根据程序的不同对应不同的接口协议。

```

**表示层**

![image-20210817160315608](新建文本文档.assets/image-20210817160315608.png)

**会话层**

![image-20210817160328747](新建文本文档.assets/image-20210817160328747.png)

**传输层**

![image-20210817160338799](新建文本文档.assets/image-20210817160338799.png)

```

负责网络中端到端的连接(TCP、UDP)。

```

**网络层**

![image-20210817160349954](新建文本文档.assets/image-20210817160349954.png)

```

网络层的主要作用就是路由和寻址,主要接触到的是IP协议,即IP地址。 

```

**数据链路层**

![image-20210817160415249](新建文本文档.assets/image-20210817160415249.png)

**物理层**

![image-20210817160440042](新建文本文档.assets/image-20210817160440042.png)

```

Layer1物理层:物理层标准规定了信号、连接器和电缆要求、接口类型、线缆类型、设备(集线器hub)。

单工: (广播电台)通讯时候。只有一方作为发送方,另一方作为接受方

半双工:(对讲机) 通讯的某一时刻,只有一方作为发送方,另一方作为接受方,通讯时刻发生转变,发送方可以变为接收方,接收方可以变为发送方
               
全双工:(电话)    同一时刻,双方皆可以是发送方,又可以是接收方

```
 

3.7 路由器功能介绍

#实例
企业中遇到无法远程连接拍错流程: IDC机房服务器 云服务器
1.ping通
2.通过页面或者机房插显示器连接服务器抓包
tcpdump -nni eth0 port 12345
3.在公司windows电脑使用telnet连接测试
cmd窗口-->telnet 服务器IP地址  12345

结果: 
1.如果服务端可以看到来源公网IP地址 说明服务端做的限制
2.如果服务端来源IP地址不是公司公网IP地址 则需要放行抓取到的公网(打电话解决)
3.如果服务端收不到任何信息,说明是公司网络问题

保存到文件中
[root@oldboy:~]# tcpdump -w 1.txt -nnvvi ens33 dst www.baidu.com
查看文件中的内容
[root@oldboy:~]# tcpdump -r 1.txt


1、默认启动

tcpdump -vv        #普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

2、过滤主机

tcpdump -i eth1 host 192.168.1.1        #抓取所有经过eth1,目的或源地址是192.168.1.1的网络数据

tcpdump -i eth1 src host 192.168.1.1    #指定源地址,192.168.1.1

tcpdump -i eth1 dst host 192.168.1.1    #指定目的地址,192.168.1.1

3、过滤端口

tcpdump -i eth1 port 80            #抓取所有经过eth1,目的或源端口是80的网络数据

tcpdump -i eth1 src port 80        #指定源端口

tcpdump -i eth1 dst port 80        #指定目的端口

4、协议过滤

tcpdump -i eth1 arp

tcpdump -i eth1 ip

tcpdump -i eth1 tcp

tcpdump -i eth1 udp

tcpdump -i eth1 icmp

#抓tcp某端口的数据包

tcpdump -i eth0 tcp port 21 -nn

5、常用表达式

非 : ! or "not" (去掉双引号) 

且 : && or "and" 

或 : || or "or"

#抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数

tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'

#抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据

tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

#抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据

tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'
```
 

3.8 路由器配置

***1. 网卡命令规则\***

```
CentOS-6之前基于传统的命名方式如:eth1,eth0....

Centos-7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名是全自动的、可预知的,缺点是比eth0、wlan0更难读。比如enp5s0

biosdevname和net.ifnames两种命名规范

#net.ifnames的命名规范为:   

    设备类型+设备位置+数字

#设备类型:

    en 表示Ethernet

    wl 表示WLAN

    ww 表示无线广域网WWAN

#实际的例子:

    eno1     #板载网卡

    enp0s2  #pci网卡

    ens33   #pci网卡

    wlp3s0  #PCI无线网卡

    wwp0s29f7u2i2   #4G modem

    wlp0s2f1u4u1   #连接在USB Hub上的无线网卡

#biosdevname的命名规范为:

    根据系统BIOS提供的信息对网络接口进行重命名。
    
    em[1-N] #表示主板(嵌入式)NIC (对应机箱标签)
    
    pci        #表示PCI插槽中的卡,端口1至N
    
实际的例子:

    em1     #板载网卡

    p3p4     #pci网卡

    p3p4_1     #虚拟网卡
    
CentOS-7

默认内核参数(biosdevname=0(dell服务器默认是1),net.ifnames=1):  网卡名 "enp5s2"

biosdevname=1,net.ifnames=0:网卡名 "em1"

biosdevname=0,net.ifnames=0:网卡名 "eth0" (最传统的方式,eth0 eth1)

3.9 静态路由配置

***2. 网卡配置文件详解\***

```
#动态ip
[root@qls ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
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="eth0"
UUID="fb32c09d-5a9f-40b9-852b-0f44ff2202ed"
DEVICE="eth0"
ONBOOT="yes"

#静态ip
[root@qls ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"                
BOOTPROTO="static"             
NAME="eth0"                    
DEVICE="eth0"                  
ONBOOT="yes"                   
IPADDR="10.0.0.88"            
NETMASK="255.255.255.0"        
GATEWAY="10.0.0.254"        
DNS1="223.5.5.5"            
DNS2="223.6.6.6"            


#详解:

TYPE=Ethernet        #网卡类型,一般是Ethernet,还有其他的如bond,bridge

BOOTPROTO=dhcp        #获取IP地址的方式,启动的协议,获取配置的方式。
                        dhcp表示动态获取
                        static或none表示静态手工配置,若想使用本地配置好的IP则应该设置成这个
                        
DEFROUTE=yes        #是否设置默认路由,若为yes则可以在该文件通过PREFIX这个参数来设置子网掩码        

PEERDNS=yes            #yes表示由DHCP来获取DNS, no表示/etc/resolv.conf来控制,默认为yes。
                        yes:如果DNS设置,修改/etc/resolv.conf中的DNS
                        no:不修改/etc/resolv.conf中的DNS
                
NAME=eth0            #这个参数对应的值是网卡名,是给用户看的

UUID=...            #通用唯一识别码,若vmware克隆的虚拟机无法启动网卡可以去除此项

DEVICE=eth0            #系统逻辑设备名

ONBOOT=yes            #开机启动时是否激活网卡设备,centos7装完网卡后默认设置成no

HWADDR=...            #以太网硬件地址,mac地址)。若是vmware克隆的虚拟机无法启动网卡,也要改这个。

NM_CONTROLLED=yes    #是否通过NetworkManager管理网卡设备

IPADDR=...            #设置网卡对应的IP地址,网络服务启动,网卡激活后会自动将该地址配置到网卡上
                    前提(BOOTPROTO=static)而不是dhcp
                    
PREFIX=24            #子网掩码长度,不要这么写PREFIX=255.255.255.0

NETMASK=255.255.255.0    #生产环境中一般用这种方式指定子网掩码

GATEWAY=10.0.0.254    #该网卡配置的IP对应的网关(默认路由)
                    若主机是多网卡设备,该参数只能在一个网卡配置文件里面出现,一台主机只有一个默认路由
                    
DNS1=...            #主DNS,若这里设置了值,则会优先于/etc/resolv.conf中设置的DNS服务器的地址
                    需要和“PEERDNS=no”配合使用
                    
DNS2=...            #次dns

USERCTL=no            #USERCTL=yes/no是否允许非root用户控制该设备

IPV6INIT=no         #是否启用IPV6

BROADCAST=...        #广播地址

PROXY_METHOD=none    #代理方式,一般不用这个参数

BROWSER_ONLY=no        #没有什么用。

网络重点:
1.网络常用命令
ping
ip add 
route -n
ifconfig
nslookup
tracert
tcpdump
nmap
iftop
iotop
netstat -tnulp
ss -an|grep tcp
telnet

windows
ping
nslookup 
mstsc
cmd
ipconfig/all
ipconfig/flushdns
ipconfig/displaydns

2.OSI七层模型

3.TCP三次握手

4.TCP四次挥手

5.DNS解析流程

6.子网掩码决定IP可用数量

7.静态路由动态路由理解

标签:管理,root,网卡,etc,0.0,进程,磁盘,config,路由器
From: https://blog.csdn.net/qq_27302885/article/details/144491174

相关文章

  • one-java-agent-00-统一管理众多的Java Agent
    javaagent系列javaagent介绍javaagent-02-JavaInstrumentationAPIjavaagent-03-JavaInstrumentation结合bytekit实战笔记agentattachjavaagent-03-JavaInstrumentation结合bytekit实战笔记agentpremainjavaagent-04-统一管理众多的JavaAgentjavaage......
  • 24.11.07 用户管理补充
    sudo提权,用于普通用户普通用户可以临时成为root,去运行对应的命令类似于皇帝给大臣尚方宝剑需要root用户去配置,普通用户进行使用eg:授权oldboy用户,以root权限运行tail,cat,less,head,more,grep1、先给oldboy用户设置一个密码[root@oldboyedu~]#echo'Lidao996'|passwd--stdi......
  • 24.11.08 用户管理安全补充
    ssh服务远程连接服务:openssh远程连接端口号:22默认22,可以修改端口号禁止root远程登录:普通用户登录,普通用户sudosu-配置文件/etc/ssh/sshd_config修改远程连接端口号为52013#1、检查系统正在使用的端口号[root@oldboyedu~]#ss-lntupNetidStateRecv-QSend-QLoc......
  • 24.11.06 用户管理
    用户分类一般看用户名,本质要看用户的uid和giduiduserid用户id,相当于身份证号码,也是我们最关注的gidgroupid组id,相当于户口本号码用户的分类本质要看uid和命令解释器用户分类uid说明root0权限高/root普通用户一般>=1000权限低,只能管理自己的家目......
  • k8s阶段08 k8s扩展(kubectl插件), 调度器(亲和调度, 污点和容忍度调度), 集群日常管理
    Kubernetes扩展机制扩展Kubernetes1.kubectl插件2.APIServer扩展身份认证、鉴权和动态准入控制相关插件3.API扩展,以支持更多的资源类型4.调度器扩展以支持更多调度算法5.控制器扩展以支持更多的Controller或Operator6.网络插件,扩展Kubelet以配置Pod网络7.设备插件,扩展......
  • 基于ssm的心理预约咨询管理系统的设计与实现+vue
    开发技术简介开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器后台路径地址:localhost:8080/项目名称/admin/dist/index.html前台路径地......
  • flask毕设信息职业技术学院学生宿舍管理系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着信息技术的快速发展和高校管理信息化的不断推进,学生宿舍管理系统的建设已成为提高学校管理水平、优化资源配置的重要途径。关于学生宿......
  • flask毕设信用卡风险管理系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着金融行业的快速发展,信用卡作为一种重要的支付工具,在方便消费者购物的同时,也带来了诸多风险问题。目前,关于信用卡风险管理的研究在国内......
  • flask框架家庭自助医疗管理毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于家庭自助医疗管理问题的研究,现有研究多聚焦于医疗体系整体的信息化建设或者特定疾病的医疗辅助工具开发,专门针对家庭环境下综合自......
  • springboot096基于springboot的租房管理系统
    ......