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

相关推荐

  • 8.10 shell scripts 作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@CentOs6 bin]# systeminfo.sh        Hostname:&n…

    Linux干货 2016-08-12
  • Http虚拟主机的应用

    一、http 1、 基于主机名实现三个虚拟主机 (1)yum安装httpd (2)注释中心主机的网页路径 (3)创建三个虚拟机主机的文件路径 (4)创建三个虚拟机主机的文件网页index.html (5)更改hosts文件进行映射 (6)关闭防火墙和Selinux进行测试(测试步骤是在本机的虚拟机上测试) 2、每虚拟主机使用独立的访问日志和错误日志 (1)给…

    Linux干货 2016-10-08
  • find命令浅谈

    本章内容   使用locate命令 使用find命令 使用Gnome搜索工具 压缩和解压缩工具 文件查找 在文件系统上查找符合条件的文件; 文件查找:locate, find 非实时查找(数据库查找):locate 实时查找:find locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 依…

    Linux干货 2016-08-15
  • OpenSSL 的使用

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:     openssl:多用途的命令行工具     libcrypto:加密算法库     libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管…

    Linux干货 2017-06-07
  • CentOS7的启动及Systemd的管理✧

    CentOS7的启动流程     POST–>Boot Sequence–>Bootloader–>kernel+initramfs(initrd)–>rootfs–>/sbin/init    &n…

    Linux干货 2016-09-21
  • 【福利贴-招聘】上海长江联合金属交易中心

    公司名称:上海长江联合金属交易中心 招聘对象:初中级运维 薪资:6-10k 要求: 1. 计算机、软件相关专业大专以上学历,至少1-2年以上项目运维或实施工作经验 ; 2. 精通Linux等操作系统,具备较高的shell/perl/python(至少一种)脚本编写能力; 3. 精通Oracle/mysql/db2(至少一种)数据库的安装和配置,能熟悉编写SQ…

    Linux职位 2015-02-09

评论列表(1条)

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

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