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

相关推荐

  • Linux新增磁盘分区

    磁盘的分区        主分区与扩展分区最多可以有4个(分区表64字节,每分区占16字节);        扩展分区最多只能有一个;        逻辑分区是由扩展分区持续分出来的分区;       &nbs…

    Linux干货 2016-05-29
  • nginx模块–proxy,upstream,header,stream

    ngx_http_proxy_module     proxy模块的作用:将请求传递给对应的服务器     示例:     location / {        &nb…

    Linux干货 2016-10-29
  • LVS四种模式

    马哥教育网络班18期 第17周课程练习1 LVS工作模式图解 LVS-NAT模式 TCP请求报文的目的IP地址被Director调度服务器重写为RIP后发送给RS,RS的默认网关配置为Director的DIP,Director接受到RS响应报文后修改源IP地址发送给用户IP RS网关指向DIP,RIP,DIP和RIP必须在同一网段内 Director转发请求…

    Linux干货 2016-06-23
  • Linux 计划任务快速理解入门

    计划任务简单来说是一个我们规定的时间去执行我们需要的脚本、命令及需要Linux做的事情。 以前写过一个脚本,由于当时没有学过计划任务,所以写起来特别痛苦,该脚本的需求是每天晚上11:00 备份/etc目录 当时特别小白,于是这么写的: VimrebootScript ‘ #!/bin/bash whiletrue;do If [ -d/app/e…

    Linux干货 2017-05-15
  • 选择判断专题脚本编程_第九周练习

    Q1:写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i y=0 declare -i n=0 for i in $(cut…

    Linux干货 2016-12-25
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习下

    在LAMP架构中,请分别以fpm工作为独立守护进程的方式来支持http yum groupinstall "Development Tools" "Server Platform Development"——>安装包组1、编译安装Apacheht…

    Linux干货 2016-09-26