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 ${str/abc/666}
    
  •      # 全局替换
    
  •      echo ${str//abc/666}
    
    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  阅读(0)  评论(0)    收藏  举报