马哥教育网络班19期+第8周课程练习

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

集线器:工作于物理层,实现设备的接入,数据信号放大、中转,共享信道。

网桥:工作于数据链路层,实现多个lan之间数据的转发,隔离冲突域,类似二层交换机

二层交换机:工作于数据链路层,可连接多个lan,根据帧的mac来转发数据,隔离冲突域,端口较多。

三层交换机:工作于二、三层,可连接多个网段,实现数据包路由,实现部分路由器功能

路由器:工作于网络层,实现不同网段数据的转发,隔离广播域,多应用于广域网

 

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

A  01开头,0~127 默认掩码:255.0.0.0

B  10开头,128~191 默认掩码:255.255.0.0

C  110开头,192~223 默认掩码:255.255.255.0

D  1110,组播地址,224~239

E   11110,保留地址,240~255

子网掩码作用:用于计算出IP地址的网络位

 

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

(1)osi七层模型和tcp/ip模型

(2)每层功能:   

   物理层:在物理媒体上传输原始的数据比特流。

   数据链路层:将数据分成一个个数据帧,以数据帧为单位传输。有应有答,遇错重发。

   网络层:将数据分成一定长度的分组,将分组穿过通信子网,从信源选择路径后传到信宿。

   传输层:提供不具体网络的高效、经济、透明的端到端数据传输服务。

   会话层:进程间的对话也称为会话,会话层管理不同主机上各进程间的对话。

   表示层: 为应用层进程提供格式化的表示和转换数据服务。

   应用层:提供应用程序访问OSI环境的手段。

 (3)网络接口层:网络适配器、网络介质,交换机;网络层:路由器、三层交换机;传输层:;应用层。

 (4)ISO/OSI参考模型与TCP/IP协议模型中各层的对应关系:

aaaaaaaaaaaaaaa.png

 

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

      (1)编辑网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ethX

      (2)配置内容:

                 DEVICE=ethN

                BOOTPROTO=none

                HWADDR=xxx

                ONBOOT=yes

                TYPE=Ethernet

                 UUID="92fbbbe5-2f41-4c26-a4c2-f3c3a7e1ece8"

                 USERCTL=no

                 IPADDR=xxx

                NETMASK=xxx

                GATEWAY=xxx

 

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

    (1)命令:ifconfig device ip/netmask ip addr { add | del } IFADDR dev STRING

    (2)图形配置:setupnmtui

(3)编辑配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ethX

 

 

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

       #!/bin/bash

#

declare -i i

ip=172.16.250

for i in $(seq 1 254);do

    if ping -c 1 -w 1  $ip.$i &> /dev/null;then

       echo -e "\033[32m $ip.$i:host is up \033[0m"

    else

       echo -e "\033[31m $ip.$i:host is down \033[0m"

    fi

done

 

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

       DEVICE=eth#                               —》设备名称

       BOOTPROTO=none                    —dhcp表示动态获取IPstaticnone表示静态IP

       HWADDR=00:0c:29:52:59:e1      —》该网卡的mac

       IPV6INIT=no                                  —ipv6是否开启

       NM_CONTROLLED=no               —》是否开启nm管理

       ONBOOT=yes                              —》该网卡是否开机启动

       TYPE=Ethernet                             —》网卡网络的类型为以太网

        UUID="92fbbbe5-2f41-4c26-a4c2-f3c3a7e1ece8"   —》网卡的UUID标识

        USERCTL=no                              —》是否允许普通用户编辑

        IPADDR=10.0.0.219                     —ip地址

        NETMASK=255.255.255.0            —》掩码

        GATEWAY=10.0.0.1                      —》网关

         DNS#                                            —dns

 

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

      (1)临时有效。命令:ifconfig eth#:# 10.0.0.221 netmask 255.255.255.0 /ifconfig eth#:# 10.0.0.222/24

                   ip addr add 10.0.0.225/24 dev eth#

      (2)永久有效。配置文件:vim /etc/sysconfig/network-scripts/ifcfe-eth#:#

 

 

 

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

      ipifconfig:配置或查看系统IP情况

      netstat:查看当前系统的网络链接。如:netstat -tuanp

      ss:类型与netstat功能

     route:查看或添加路由。route -n route add -net|host  ip netmask mask gw gateway dev eth#

     dig/nslookup/host

 

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

     安装:rpm -ivh XXX.rpm

     升级:rpm -Uvh xxx/rpm –>后面接的套件若没有安装过,则系统将直接安装。

                rpm -Fvh xxx.rpm –>后面接的套件若没有安装过,则该套件不会安装。

     卸载:rpm -e xxx.rpm

 

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

(1)挂载光盘至/mnt

(2)开始配置本地yum,yum源为光盘

# cd /etc/yum.repos.d/                 

# mv CentOS-Base.repo CentOS-Base.repo.bak   

# vim CentOS-Media.repo             

         [c6-media]

         name=CentOS-$releasever-Media     

         baseurl=file:///mnt               

         gpgcheck=1                           

         enabled=1                            

         gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-6

   (3)验证是否yum源是否成功:yum repolist c6-media

 

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

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

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

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

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

#!/bin/bash

#

for file in $(ls /etc/rc.d/rc3.d/);do

    if [[ $file == K* ]];then

       echo "K start:${file}stop"

       let sum1++

    elif [[ $file == S* ]];then

       echo "S start:${file}start"

       let sum2++

    fi

done

echo "Number of files at the beginning of K:$sum1"

echo "Number of files at the beginning of S:$sum2"

 

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

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

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

#!/bin/bash

#

declare -i sum=0

declare -i id=0

read -t 30 -p "input username here:" -a uname

echo "===================="

[ "${uname[*]}" == ""  ]&&echo "users is empty"&&exit 1

for i in $(seq 0 $[${#uname[@]}-1]);do

     if id ${uname[$i]} &> /dev/null;then

       id=$(cat /etc/passwd | grep "^${uname[$i]}\>" |cut -d":" -f3)

       let sum+=$id

     else

        echo "user:${uname[$i]} do not exist"

     fi

done

echo "====================="

echo "all users id sum:$sum"

 

14、写一个脚本

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

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

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

 

 

 

15、写一个脚本

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

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

#!/bin/bash

#

if [ $# -gt 0 ];then

   for i in $(seq 1 $#);do

       if id ${!i} &>/dev/null&&[ $(cat /etc/passwd |egrep "^${!i}\>" |cut -d":" -f3) -ge 500 ];then

          echo "user:${!i} is common user "

       elif id ${!i} &>/dev/null&&[ $(cat /etc/passwd |egrep "^${!i}\>" |cut -d":" -f3) -lt 500 ];then

          echo "user:${!i} is sys user"

       else

          echo "user:${!i} is not exsit"

       fi

    done

else

   echo "usage:username.sh user1 user2 …"

fi

 

 

 

 

 

 

16、写一个脚本

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

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

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

#!/bin/bash

#

function adduser {

        if id $1 &> /dev/null;then

           echo "$1 is exist!"

         else

           useradd $1 &&echo $1 |passwd –stdin $1 &>/dev/null

           [ $? -eq 0 ] && echo "Add $1 finished." && let sum++ && return 0

         fi

}

for i in {1..10};do

adduser user$i

done

echo "add user sum:$sum"

 

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

 #!/bin/bash

#

declare -i i

ip=172.16.250

for i in $(seq 20 100);do

    if ping -c 1 -w 1  $ip.$i &> /dev/null;then

       echo -e "\033[32m $ip.$i:host is up \033[0m"

    fi

done

 

18、打印九九乘法表;

#!/bin/bash

#

for j in {1..9};do

for i in $(seq 1 $j);do        

        echo -n -e "${i}X${j}=$[$i*$j]\t"

    done

echo

done

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

(0)
snowsnow
上一篇 2016-06-26
下一篇 2016-06-26

相关推荐

  • 第六周课程作业

    1、复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中 的以至少一个空白字符开头的行的行首加# ~]# cp /etc/rc.d/init.d/functions /tmp~]# vim /tmp/functions %s@^[[:space:]]\+@#@g 2、复制/boot/gru…

    Linux干货 2016-12-12
  • linux磁盘管理及文件系统

    linux磁盘管理及文件系统 硬盘存储术语    head:磁头          track:磁道          cylinder: 柱面    &nbsp…

    Linux干货 2016-08-26
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至…

    系统运维 2016-07-12
  • puppet实现nginx反代tomcat+memcached

    puppet实现nginx反代tomcat+memcached

    2018-04-16
  • 文本全屏编辑器 vim

             vim在Linux中站着很重要的位置,是每一个学习Linux人员的必须掌握的技能之一,因为vim功能很强大为我们编辑文件和脚本带来了很大的方便。接下来我们来一起了解vim的功能。   文本编辑种类:     行编…

    Linux干货 2016-08-15
  • “拆”解RAID工作原理

    一、什么是RAID RAID:Redundant Arrays of Inexpensive(Independent)Disks,廉价(独立)的冗余磁盘阵列。1988年由加利福尼亚大学伯克利分校提出。使用多个相对便宜的磁盘通过某种方式组合成一个“阵列”,来提供更好的性能、冗余,或两者同时提供。 性能提高:     &n…

    Linux干货 2016-11-22

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:24

    写的很好,可以多注意一下排版问题,加油