马哥教育网络班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

相关推荐

  • 难搞的grep、find练习题

    马哥教育网络班21期-第五周博客作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@caicai ~]# grep –color "^[[:space:]]\+" /boot/grub/grub.conf    …

    Linux干货 2016-07-26
  • iptables/netfilter入门到进阶

    iptables从入门到精通 本文主要围绕以下七点进行阐述:   一、防火墙简介 二、Iptables简介 三、Iptables的四张表及五条链 四、Iptables的filter应用详解 五、Iptables的nat应用详解       一、防火墙简介: 在网络中,所谓的防火墙是指一种将内部网络和公众访问网分开的方法…

    Linux干货 2017-03-15
  • Python之入门篇

    一、环境准备 环境准备 –> pyenv (安装python解释器,管理Python版本,管理python虚拟环境) https://github.com/pyenv/pyenv https://github.com/yyuu/pyenv-installer # yum -y install git # curl -L https://ra…

    Linux干货 2017-02-05
  • keepalived+nginx部署(单主模型)

    环境准备Centos7系统,后端服务器提供web服务。地址规划: VS1: 172.18.51.7 VS2:172.17.51.77 RS1:172.18.51.74 RS2:172.18.51.75 VirtualIP:172.18.51.82 拓扑图: 原理:nginx是高度模块化的应用程序,其中nginx_proxy模块即可实现负载均衡,将前端的用户请…

    Linux干货 2017-05-17
  • 输出重定向 输入重定向 管道简单介绍 -20160729

    输出重定向 输入重定向 管道简单介绍 标准输入和输出 我们先来了解下输入和输出的概念: 在计算机中我们了解到计算机的组成部分:其中有输入 输出设备。       输出重定向 对于程序来说: 程序 :指令 + 数据 对于数据来说,数据可以由我们通过键盘输入,或者程序直接使用存储设备上的数据,我们称为读入 数据,程序处理数据后需要返…

    Linux干货 2016-08-04
  • linux进程管理

    Linux内核:抢占式多任务 进程类型: 1、守护进程:在系统引导过程中启动的进程,与终端无关的进程; 2、前台进程:跟终端相关,通过终端启动的进程,注意:也可把前台启动的进程送往后台,以守护模式运行;   进程状态: 运行态:running 就绪态:ready 睡眠态:a、可中断:interruptable;b、不可中断:uninterrupta…

    Linux干货 2018-02-08

评论列表(1条)

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

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