Linux系统网络管理练习

    1. 解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式?
  • 答:vim /etc/sysconfig/network-scripts/ifcfg-eth0

  • ip addr=

  • prefix=

  • gateway=

  • DNS1=

  • 删除UUID

  • :wq

  • nmcli con

  • nmcli con down eth0

  • systemctl restart NetworkManager

  • 2.使用脚本判断 你主机所在网络内在线的主机IP有哪些? ping通则在线。

  • 答:apt install fping

  • vim ip_online.sh

  • !/bin/bash

  • 显示在线主机

  • fping -a -g 10.0.0.0/24

  • 图片

    1. 使用while read line和/etc/passwd,计算用户id总和。
  • 答:#!/bin/bash

  • sum=0

  • while read line

  • do

  • uid=$(echo $line | awk -F: '{print $3}')

  • sum=$((sum+uid))

  • done < /etc/passwd

  • echo "计算机用户id总和:$sum"

    1. 总结索引数组和关联数组,字符串处理,高级变量使用及示例。
  • 答:shell里面的数组就是列表

  • 一维数组是简单的数组,按照顺序将一系列数据排列下来即可,数组本身没有场景含义。

  • 数组的表现样式:

  • 数组[下标] #下标就是索引,从0开始

  • 数组的定义:

  • 数组名=(a b c d e f )

  • 数组名[下标]=元素

  • 关联数组:

  • declare -A声明,自定义 key,键值存储

  • 字符串处理:

  • 长度:$

  • 截取:$

  • 删除:#删前缀、%删后缀

  • 替换:/单个、//全局

  • str="abc123abc"

  • 替换第一个abc

  • echo $

  • 全局替换

  • echo $

    1. 求10个随机数的最大值与最小值。
  • 答:#!/bin/bash

  • 1.定义空数组

  • arr=()

  • 2.循环生成10个随机数 $RANDOM

  • for ((i=0;i<10;i++))

  • do

  • num=$RANDOM

  • arr+=($num)

  • done

  • 输出10个随机数

  • echo "生成的10个随机数:${arr[@]}"

  • 3.初始化最大、最小值

  • max=$

  • min=$

  • 4.遍历比较

  • for n in $

  • do

  • if [ $n -gt $max ];then

  • max=$n

  • fi

  • if [ $n -lt $min ];then

  • min=$n

  • fi

  • done

  • 5.输出结果

  • echo "最大值:$max"

  • echo "最小值:$min"

    1. 使用递归调用,完成阶乘算法实现。
    1. 总结主机到主机的包传递过程。
  • 答:主机A到主机B,先经历OSI七层模型,由上到下(应用层、表示层、会话层、传输层、网络层、链路层、物理层)层层封装;

  • 主机B收到数据包后再根据七层模型由下到上,层层解封装。

    1. 总结IP地址 A, B, C, D 类,并解析IP地址的组成
  • 答:结构:20字节、源ip【4字节】、目标ip【4字节】、IP地址由网络位与主机位组成,

  • 版本:ipv4【32位】、ipv6【128位】

  • ipv4样式:

  • 10.0.0.12 255.255.255.0

  • 10.0.0.12/24(CIDR模式)

  • 私网IP分类:

  • A【10.0.0.0/8】

  • B【172.16.0.0/16~172.31.0.0/16】

  • C【192.168.0.0/24~192.168.255.0/24】

  • D【224-239】

    1. 201.222.200.111/18计算主机数?子网掩码?说明计算方法。
  • 答:网络位:18

  • 主机位:32-18=14,2的14次方-2=16382(网络地址、广播地址不可用,需减 2)

  • 子网掩码:前 18 位 为网络位,18/8=2余2,

  • 换成二进制是11111111 11111111 11000000 000000

  • 在换算成十进制:255.255.192.0(也就是最终子网掩码)

    1. 当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?
  • 答:在同一网段,根据掩码位数计算对方的IP判断,不能通信

    1. 如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。
  • 答:计算借位数量(借的是主机位数)

  • 公式:2的n次方大于等于子网数,由此得出2的5次方等于32

  • 原网络位数是8,所以子网掩码是8+5=13,换算成十进制是255.148.0.0

  • 主机数:32-13=19,2的19次方-2=524286

posted @ 2026-05-05 19:45  kevin-579  阅读(23)  评论(0)    收藏  举报