马哥教育网络班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
下一篇 2016-09-08

相关推荐

  • Linux简述与部分基础命令

    Linux简述与基础命令

    Linux干货 2017-12-04
  • Linux 基础知识(二)

    一、Linux文件管理类命令的使用方法及其相关示例演示? 1、文件管理 2、文件查看 二、Bash特性详解 1、命令行展开 (1)在/tmp目录下创建:a_c,a_d,b_c,b_d 方法一:mkdir -pv {a,b}_{c,d} (2)在/tmp目录下创建mylinux目录,其结构如下:         方法一:…

    Linux干货 2016-09-26
  • Linux之账号管理

    Linux之账号管理 一、新增与删除用户:useradd,相关配置文件,passwd,usermod,userdel 在Linux登录系统时会输入账号和密码,所以创建用户也需要这两个数据。新建用户用useradd命令,密码的给予则用passwd命令。 useradd 1.添加新用户 -u: -u  uid username 创建用户时指定uid(如…

    2017-07-23
  • 一起学WINS系列(三)界面、概览

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/159542 上节我们讨论了有关WINS服务器的安装,本节将开始讨论WINS配置等内容。 一般情况下,我们可以在控制面板的管理工具中找到WINS,或者在【运行】内…

    Linux干货 2015-03-25
  • N21—-第一周课程练习题

    1、描述计算机的组成及其功能。 我们现在通常理解为计算机是由硬件系统+软件系统组成的,根据冯·诺依曼体系结构。计算机主要由五大部件组成:      运算器(Datapath): 计算机中执行各种算术和逻辑运算操作的部件      控制器(Control):是整个计算机的中枢神经,…

    Linux干货 2016-07-12
  • Javascript 装载和执行

    一两个月前在淘宝内网里看到一个优化Javascript代码的竞赛,发现有不少的人对Javascript的执行和装载的基础并不懂,所以,从那天起我就想写一篇文章,但一直耽搁了。自上篇《浏览器渲染原理简介》,正好也可以承前启后。 首先,我想说一下Javascript的装载和执行。通常来说,浏览器对于Javascript的运行有两大特性:1)载入后马上执行,2)执…

    Linux干货 2016-07-10