马哥教育网络班21期-第八周课程练习

1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。

设备 使用场景 功能 区别
集线器 局域网 共享同一网络 不能分隔冲突域
网桥 局域网 连接不同网段,拓展局域网 端口少,可以分隔冲突域
二层交换机 局域网 连接不同局域网段,数据交换 端口更多,可以分隔冲突域,速率更快
三层交换机 局域网,广域网 路由,高速数据交换,分隔广播域 转发数据速度快,路由功能较路由器弱
路由器 广域网 路由转发,分隔广播域 转发数据比三层交换机速度慢,主要用于路由

2、IP地址的分类有哪些?子网掩码的表示形式及其作用

类别 范围 子网掩码
A 1~126 255.0.0.0
B 128~191 255.255.0.0
C 191~223 255.255.255.0
D 224~239
E 240~254

子网掩码作用:用来区分网络地址和主机地址

3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。

OSI模型 名称 功能 设备 TCP/IP模型 名称
第一层 物理层 定义物理设备通信的电气特性 集线器 第一层 物理层
第二层 数据链路层 物理地址寻址,流量控制,数据校验 网桥,交换机 第二层 数据链路层
第三层 网络层 路由选择 路由器、三层交换机 第三层 网络层
第四层 传输层 端到端通信、差错控制、流量控制 第四层 传输层
第五层 会话层 管理进程间通信 第五层 应用层
第六层 表示层 数据格式化、数据加密,代码转换
第七层 应用层 为操作系统或应用程序提供网络服务接口

4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)

 修改对应网卡配置文件

  [root@jumper ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0  #修改并添加以下选项

    ONBOOT=yes

    BOOTPROTO=none

    IPADDR=10.4.0.61

    NETMASK=255.255.255.0

    GATEWAY=10.4.0.10

    DNS=8.8.8.8

5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。

 a.修改配置文件方式(永久有效)

   vim 修改/etc/sysconfig/network-scripts/ifcfg-ethX,并保存

 b.命令行方式(当前有效)

   使用 ip,route命令指定ip地址,默认网关

 c.图形界面方式

   使用 setup 命令进入tui界面配置,或者是 system-config-network-tui

6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;

     在线的主机使用绿色显示;

     不在线的主使用红色显示;

#!/bin/bash
#
server='172.16.250.'

for num in {1..254};do
 if ping -c 1 -w 1 $server$num &> /dev/null ;then
    echo -e "\t\033[32m$server$num online\033[0m"
 else
    echo -e "\t\033[31m$server$num offline\033[0m"
 fi
done

7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;

DEVICE=eth0    #设备名

HWADDR=00:50:56:80:7C:4A    #设备物理MAC地址

TYPE=Ethernet    #设备类型

UUID=2c6e71ce-5562-46b2-a7a7-a4a27f2e226a    #通用惟一标识符

ONBOOT=yes    #开机启动

NM_CONTROLLED=yes    #该设备是否接受 network manager 控制

BOOTPROTO=none    #启动此设备时的地址匹配协议

IPADDR=10.4.0.60    #ipv4地址

NETMASK=255.255.255.0    #子网掩码

GATEWAY=10.4.0.10    #默认网关

DNS=8.8.8.8    #域名解析服务器地址

8、如何给网络接口配置多个地址,有哪些方式?

 a、[root@server ~]# ifconfig lo:1 192.168.1.1/24 up  #使用 ifconfig 查看配置结果

 b、[root@server ~]# ip addr add 192.168.1.1/24 dev lo  #使用 ip addr show lo 查看配置结果

 c、新建/etc/sysconfig/network-scripts/ifcfg-ethX:X 文件

9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。

 1)ifconfig #查看所有网络接口信息

  ifconfig 网卡名 ip地址/子网掩码 #配置网卡ip,立即生效

 2)route #打印路由表

  route add|del 目标主机或ip地址 #添加/删除对应主机/ip路由条目

 3)netstat #显示网络连接、路由表、接口统计、伪装的连接,和组播成员

  netstat -tnlp #以数字形式显示正在监听的tcp协议相关进程

  netstat -unlp #以数字形式显示正在监听的udp协议相关进程

   -n:以数字格式显示ip及端口

   -t:tcp协议相关

   -l:处于监听状态

   -P:显示相关的进程和PID

  

 4)ss #显示网络连接状态,速度较netstat快

  ss -tnlp #以数字格式显示tcp协议套接字

  ss -unlp #以数字形式显示正在监听的udp协议相关进程

10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。

 1)使用rpm工具管理(本地包组管理,无需网络,需要rpm本地包,手动解决依赖关系)

    查询 rpm -q package …

    安装 rpm -i package …

    升级 rpm -U package …

    卸载 rpm -e package …

 2)使用yum工具管理(若无本地源,则必须要连接互联网,无需本地包,安装时自动解决依赖关系)

    查询 yum list …

    安装 yum install package …

    升级 yum upgrate package …

    卸载 yum remove package …

11、如何使用发行版光盘作为yum repository,请描述该过程。

 1)挂载光盘 #mount -r -t iso9660 /dev/cdrom /media/cdrom

 2)编辑repo文件 #vim /etc/yum.repos.d/test.repo 

    [test-cent6]

    name=local_repo

    baseurl=file:///media/cdrom

    gpgcheck=1

    enabled=1

 3)检查结果 #yum repolist

  

12、写一个脚本,完成以下功能

   (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;

   (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;

   (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;

   (4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
#
declare -i k=0
declare -i s=0
dir_name="/etc/rc.d/rc3.d/"

for list in $(ls $dir_name);do
  if echo $list | grep ^K &> /dev/null;then
    echo "$list stop"
    let k++
  else
    echo "$list start"
    let s++
  fi
done
echo "kfile $k"
echo "sfile $s"

13、写一个脚本,完成以下功能

   (1) 脚本能接受用户名作为参数;

   (2) 计算此些用户的ID之和;

#!/bin/bash
#
declare -i sum=0

if [ $# -eq 0 ];then
  echo "Usage: $0 User_name ..."
  exit
fi
for list in $*;do
  if id $list &> /dev/null;then
    user_id=$(id -u $list)
    let sum+=$user_id
  else
   echo  "$list is not exist"
  fi
done
echo "id total is $sum"

14、写一个脚本

   (1) 传递一些目录给此脚本;

   (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;

   (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash
#
declare -i dir_sum=0
declare -i file_sum=0

if [ $# -eq 0 ];then    
  echo "Usage: $0 dir_name ..."
fi
for list in $*;do
  if [ ! -d $list ];then
    echo "$list is not a directory,pls input directory name"
    exit
  fi
done

for list1 in $*;do
  for list2 in $(ls $list1);do
    if [ -d $list1/$list2 ];then
      let dir_sum++
    elif [ -f $list1/$list2 ];then
      let file_sum++
    fi
  done
done

echo "directory $dir_sum"
echo "file $file_sum"

15、写一个脚本

  通过命令行传递一个参数给脚本,参数为用户名

  如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
#

if [ $# -ne 1 ];then
  echo "Usage: $0 user_name"
  exit
fi
if id $1 &> /dev/null;then
  num=$(id -u $1)
  if [ $num -gt 500 ];then
    echo "$1 is normal user"
  fi
fi

16、写一个脚本

   (1) 添加10用户user1-user10;密码同用户名;

   (2) 用户不存在时才添加;存在时则跳过;

   (3) 最后显示本次共添加了多少用户;

#!/bin/bash
#
declare sum=0

Judge_user () {
  if id $1 &> /dev/null;then
    echo "$1 is exist"
  else
    useradd $1
    echo $1 | passwd --stdin $1 &> /dev/null
    let sum++
  fi
}

for list in $(seq 1 10);do
  Judge_user user$list
done

echo "$sum users is add in this operation"

17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;

#!/bin/bash
#
server='172.16.250.'

for num in {20..100};do
 if ping -c 1 -w 1 $server$num &> /dev/null ;then
    echo -e "\t\033[32m$server$num is online\033[0m"
 fi
done

18、打印九九乘法表;

#!/bin/bash
#

for ((b=1;b<=9;b++));do
  for ((a=1;a<=$b;a++));do
    echo -n -e "${a}x${b}=$[$a*$b]\t"
  done
  echo
done

原创文章,作者:Net21_木头,如若转载,请注明出处:http://www.178linux.com/42104

(0)
Net21_木头Net21_木头
上一篇 2016-09-08 18:55
下一篇 2016-09-08 18:56

相关推荐

  • N25期—第一周作业

    计算机的组成及其功能 计算机主要由硬件和软件两部分组成, 硬件目前由5大部件组成 控制器:类似人类的大脑!控制整个计算机的运作 运算器:对数据进行逻辑运算处理 存储器:存放数据部件 输出设备:比如显示器,打印机 输入设备:比如键盘,鼠标 Linux发行版本 主要三大分之:Debian系,Reb Hat系,Slackware系。 1.Debian GNU / …

    Linux干货 2016-12-01
  • 2017全球运维技术大会第二届12大技术专场等你来!

    去年9月,InfoQ在北京主办了第二届CNUTCon全球容器技术大会,大会邀请了来自Netflix、CoreOS、Docker公司、Mesosphere、阿里巴巴、腾讯、百度、京东、携程、搜狗等公司的技术负责人,共同探讨容器相关的应用场景、技术方案以及架构演进,得到了社区的一致好评。 到今年,CNUTCon已经是第三年了,前两年我们的方向是容器,随着技术的发…

    2017-06-20
  • bash基础特性(一)之命令历史,命令补存,路劲补存,命令行展开,命令执行状态结果和引用

    bash是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。 Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同…

    2017-09-20
  • 程序包管理

    Windows与Linux不兼容 库级别虚拟化: Linux:WINE Windows:Cygwin   程序包管理器: debian:deb,dpt redhat:rpm,rpm   Archlinux Gentoo   获取rpm程序包的途径: 1、系统发行版光盘或官方的服务器 centos镜像: http://mirror…

    Linux干货 2018-01-04
  • 文件查找作业

    1、查找/var目录下属主为root,且属组为mail的所有文件 [root@wzc ~]# find /var/ -user root -a -group mail /var/spool/mail /var/spool/mail/root 2、查找/var目录下不属于root、…

    Linux干货 2016-08-15
  • Week 1–Linux基础1

    一. 计算机是由什么组成的? 计算机有什么作用呢?  1.计算机是由硬件系统与软件系统两大部分组成的. 那么是什么呢?  硬件系统: 1.1 输入组件(如鼠标,键盘等); 输出组件(显示器,打印机等); 1.2 核心大脑–CPU(里面包含有 算术逻辑、控制、记忆等单元); 1.3 为了与以上2大重要部件连接的,肯定需要一个可以…

    Linux干货 2016-12-05