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

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

网桥:也叫做桥接器,工作在OSI七层中第二层数据链路层,主要是用来连接两个局域网的一种存储或者转发设备,它能将一个大的LAN分隔
     为多个网段,也可以将多个LAN互联为一个逻辑LAN,网桥是在数据层上实现的局域网互联;即使两个采用不同数据链路层协议,不同
     的传输介质或不同的传输速率;网桥以接受、存储、地址过滤与转发的方式实现互联的网络之间的通信,并且需要互联的网络在数据
     链路层采用相同的协议。
集线器:工作在OSI七层中的第一层物理层,功能是对接受到的信号进行再生整形放大以扩大网络的传输距离,同时把所有节点集中在以它为
       中心的节点上,它属于局域网中的基础设备。
二层交换机:工作于OSI七层模型中的第二层数据链路层,故称为二层交换机,它可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并
           将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
三层交换机:简单的来说就是具有部分路由功能的交换机, 三层交换机最重要的目的是加快大型局域网的数据交换,它所具有的路由功能也是
           为了这一目的服务的,能够做到一次路由,多次转发。三层交换机技术就是二层交换机+三层转发技术,传统的交换技术是在OSI
           的第二层数据链路层进行工作,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又
           可以根据不同的网络状况做到最优网络性能。
路由器:工作在OSI七层中的第三层网络层,用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网, 当数据从
       一个子网传输到另外一个子网时,可以通过路由器的路由功能来完成,因此路由既有判断网络地址和选择IP路径的功能,它能在多网
       络互联环境中,建立灵活的连接。

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

IP地址可分为局域网IP与互联网IP
而局域网IP又可分为三类(局域网IP又称私有地址)
A类:10.0.0.0/8
B类:172.16.0.0/16----172.31.0.0/16
C类:192.168.0.0/24----192.168.255.0/24
互联网IP可分为5类(互联网IP又称为公有地址)
A类: 1-127    127.0.0.1为本机地址
B类:128-191
C类:192-223
D类:224-239
E类:240-254
子网掩码的表示形式可分为三种:
第一种A类网络缺省子网掩码:255.0.0.0      也可以表示为8    例:10.0.0.1/8
第二种B类网络缺省子网掩码:255.255.0.0    也可以表示为16   例:172.16.0.1/16
第三种C类网络缺省子网掩码:255.255.255.0  也可以表示为24   例:192.168.0.1/24
作用:网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和
      主机标识,并说明该IP地址是在局域网上,还是互联网上。二是用于将一个大的IP网络划分为若干小的子网络。

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

112.jpg

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

~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:FE:4A:E5
TYPE=Ethernet
UUID=c2aae0c9-b347-49b1-8027-bf4e5e22865c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.110
PREFIX=24
GATEWAY=192.168.0.1
DNS1=218.30.19.50
DNS2=61.134.1.4
~]# service network restart

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

添加IP地址
第一种
~]# ifconfig eth0 192.168.0.110/24
第二种
~]# ifconfig eyh0 192.168.0.110 netmask 255.255.255.0
第三种(只是在原来的基础上添加一个新的地址,不会对原来的地址造成影响)
~]# ip addr add 192.168.0.111/24 dev eth0
第四种(别名网卡地址)
~]# ip addr add 192.168.0.112/24 dev  eth0 lable eth0:0
删除IP地址
~]# ip addr del 192.168.0.111/24 dev eth0
删除别名网卡的IP地址
~]# ip addr del 192.168.0.112/24 dev eth0 lable eth0:0
使用命令
~]# setup
改变配置文件
~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

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

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

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

#!/bin/bash
for ((i=1;i<=254;i++));do
        ping -c 1 -w 1 172.16.250.$i &> /dev/null
        if [ $? -eq 0 ];then
                echo -e "\e[1;32m172.16.250.$i is up\e[0m"
        else
                echo -e "\e[1;31m172.16.250.$i is down\e[0m"
        fi
done

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

~]#cat /etc/sysconfig/network 
NETWORKING=yes            表示网络正在运行中  
HOSTNAME=ns1.magedu.com   计算机名
GATEWAY=192.168.0.1        网关的设置
~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search magedu.com
nameserver 218.30.19.50    修改DNS
nameserver 61.134.1.4      DNS
~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0                          网卡名
HWADDR=00:0C:29:FE:4A:E5             MAC地址
TYPE=Ethernet                        连接方式(桥接)
UUID=c2aae0c9-b347-49b1-8027-bf4e5e22865c  UUID
ONBOOT=yes                                 开机自动启动
NM_CONTROLLED=yes                          
BOOTPROTO=static                           静态地址
IPADDR=192.168.0.110                       IP地址
PREFIX=24                                  子网掩码 
GATEWAY=192.168.0.1                        网关
DNS1=218.30.19.50                          DNS
DNS2=61.134.1.4                            DNS

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

~]# ip addr add 192.168.0.112/24 dev eth0
~]# ip addr add 192.168.0.113/24 dev eth0 lable eth0:0
~]# setup

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

1.jpg

2.jpg

3.jpg

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

4.jpg5.jpg

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

~]# mkdir /media/cdrom
~]# mount /dev/cdrom /media/cdrom
~]# vim /etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/        
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

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
declare -i o=0
for i in {$(ls -l /etc/rc.d/rc3.d/ |awk '{print $(NF-2)}'| sed 1d)};do
    if [[ $i =~  ^K ]];then
        echo $i stop
        let k++
    elif [[ $i =~ ^S ]];then
         echo $i start
         let s++
     else
         let o++    
     fi
done     
 echo "S开头的文件为$s个"
 echo "K开头的文件为$k个"
 echo "其他文件总共为$o个"

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

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

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

#!/bin/bah
#
declare -i sum=0
for i in $(cat /etc/passwd | awk -F: '{print $1}');do
        echo "username $i UID is $(id $i -u)"
         sum+=$(id $i -u)
done
 echo "UID sum is $sum"

14、写一个脚本

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

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

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

#!/bin/bash
#
#
declare -i dir=0
declare -i b=0
declare -i c=0
declare -i s=0
declare -i p=0
declare -i f=0
declare -i h=0

if [ $# -lt 1 ];then
  echo "Please give at least a directory"
else
  for i in $@;do
      for n in $(ls $i);do
        cd $i    		        
	if [ -b $n ];then
	  echo "$n is block device file"
          b=1
	elif [ -c $n ];then
          echo "$n is character device file"
          c=1
        elif [ -S $n ];then
          echo "$n is socket file"
          s=1
        elif [ -p $n ];then
          echo "$n is name pipes file"
          p=1
        elif [ -h $n ];then
          echo "$n is symbolic link file"
          h=1
        elif [ -d $n ];then
	  echo "$n is diretory"
          let dir++
          d=1
        elif [ -f $n ];then
          echo "$n is ordinary file"
           f=1     
        else
          echo "$n is other file"
        fi
    done
       let sum=$b+$c+$s+$p+$f+$h+$d
   done
fi
 echo "The directory is $dir"
 echo "File type class is $sum"

15、写一个脚本

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

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

#!/bin/bash
#
read -p "please enter the username:" option
     id $option &> /dev/null
     if [ $? -ne 0 ];then
      echo "user does not exist"
     else
        uid=$(id $option -u)
        if [ $uid -ge 500 ];then
        echo "$option is common user"
        else
        echo “$option is system user”  
        fi
      fi

16、写一个脚本

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

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

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

#!/bin/bash
#
declare -i name=0
for i in {1..10};do
    id user$i &> /dev/null
   if [ $? -eq 0 ];then
        echo "user$i exist"
   else
     useradd user$i && echo "user$i" | passwd --stdin user$i  > /dev/null
        let name++
   fi
done
 echo "add user sum is $name"

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

#!/bin/bash
#
ip=192.168.0.
for i in {100..120};do
   ping -c 1 -w 1  $ip$i &> /dev/null
 if [ $? -eq 0 ];then
 echo "$ip$i On line"
 fi
done

18、打印九九乘法表;

for 实现
#!/bin/bash
#
for i in {1..9};do
    for j in $(seq 1 $i);do
       echo -e -n "${j}X${i}=$[$i*$j]\t"
     done
     echo
done
while 实现
#!/bin/bash
#
declare -i i=1
declare -i j=1
while [ $i -le 9 ];do
  while [ $j -le $i ];do
    echo -e -n "${j}X${i}=$[$i*$j]\t"
    let j++
   done
    echo
    j=1
    let i++

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

(0)
微
上一篇 2016-09-08
下一篇 2016-09-08

相关推荐

  • samba服务部署WordPress

    简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Inter…

    Linux干货 2017-04-28
  • 操作系统图形界面发展史(1981-2009)

    注意,本文这罗列了从1981年以来有重大意义的操作系统的图形界面。 首先,先介绍两个网站: http://www.guidebookgallery.org/ 如果你比较关注图形化UI的设计, 可以上这个网站上看看。 http://toastytech.com/guis/index.html 这是一个操作系统图形界面收集的网站,上面几科包括…

    Linux干货 2016-05-17
  • LVS介绍

    LVS介绍     LVS是linux virtual server的简写,是服务器集群的一种负载均衡解决方案,作为netfilter的补充套件,工作于内核空间。     常见的术语 CIP:客户端ip地址 RIP:后端服务器ip地址 VIP:lvs面向客户端的ip地址 DIP:lvs面向…

    Linux干货 2017-08-04
  • 函数式编程

    当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不好维护。(你可以试想一下如果你的程序有个复杂的状态,当以后别…

    Linux干货 2016-08-15
  • Linux计算机基础及Linux入门

    计算机,Linux发型版,Linux 哲学思想,基本命令,startx ,pwd tty ,shutdown ,ifconfig , echo, export, historybo, poweroff,reboot, date, hwclock, Linux 获取命令帮助信息,Linux发行版的基础目录,

    2017-09-18
  • linux-第一周

    inux命令:(type)                  1,集成在bash中的命令,内部命令。依赖于shell类型。                  2,在文件系统路径下有…

    Linux干货 2017-05-20