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

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

设备 使用场景 功能 区别
集线器 局域网 共享同一网络 不能分隔冲突域
网桥 局域网 连接不同网段,拓展局域网 端口少,可以分隔冲突域
二层交换机 局域网 连接不同局域网段,数据交换 端口更多,可以分隔冲突域,速率更快
三层交换机 局域网,广域网 路由,高速数据交换,分隔广播域 转发数据速度快,路由功能较路由器弱
路由器 广域网 路由转发,分隔广播域 转发数据比三层交换机速度慢,主要用于路由

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

类别 范围 子网掩码
A 1~126 255.0.0.0
B 128~191 255.255.0.0
C 191~223 255.255.255.0
D 224~239
E 240~254

子网掩码作用:用来区分网络地址和主机地址

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

OSI模型 名称 功能 设备 TCP/IP模型 名称
第一层 物理层 定义物理设备通信的电气特性 集线器 第一层 物理层
第二层 数据链路层 物理地址寻址,流量控制,数据校验 网桥,交换机 第二层 数据链路层
第三层 网络层 路由选择 路由器、三层交换机 第三层 网络层
第四层 传输层 端到端通信、差错控制、流量控制 第四层 传输层
第五层 会话层 管理进程间通信 第五层 应用层
第六层 表示层 数据格式化、数据加密,代码转换
第七层 应用层 为操作系统或应用程序提供网络服务接口

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

 修改对应网卡配置文件

  [root@jumper ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0  #修改并添加以下选项

    ONBOOT=yes

    BOOTPROTO=none

    IPADDR=10.4.0.61

    NETMASK=255.255.255.0

    GATEWAY=10.4.0.10

    DNS=8.8.8.8

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

 a.修改配置文件方式(永久有效)

   vim 修改/etc/sysconfig/network-scripts/ifcfg-ethX,并保存

 b.命令行方式(当前有效)

   使用 ip,route命令指定ip地址,默认网关

 c.图形界面方式

   使用 setup 命令进入tui界面配置,或者是 system-config-network-tui

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

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

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

#!/bin/bash
#
server='172.16.250.'

for num in {1..254};do
 if ping -c 1 -w 1 $server$num &> /dev/null ;then
    echo -e "\t\033[32m$server$num online\033[0m"
 else
    echo -e "\t\033[31m$server$num offline\033[0m"
 fi
done

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

DEVICE=eth0    #设备名

HWADDR=00:50:56:80:7C:4A    #设备物理MAC地址

TYPE=Ethernet    #设备类型

UUID=2c6e71ce-5562-46b2-a7a7-a4a27f2e226a    #通用惟一标识符

ONBOOT=yes    #开机启动

NM_CONTROLLED=yes    #该设备是否接受 network manager 控制

BOOTPROTO=none    #启动此设备时的地址匹配协议

IPADDR=10.4.0.60    #ipv4地址

NETMASK=255.255.255.0    #子网掩码

GATEWAY=10.4.0.10    #默认网关

DNS=8.8.8.8    #域名解析服务器地址

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

 a、[root@server ~]# ifconfig lo:1 192.168.1.1/24 up  #使用 ifconfig 查看配置结果

 b、[root@server ~]# ip addr add 192.168.1.1/24 dev lo  #使用 ip addr show lo 查看配置结果

 c、新建/etc/sysconfig/network-scripts/ifcfg-ethX:X 文件

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

 1)ifconfig #查看所有网络接口信息

  ifconfig 网卡名 ip地址/子网掩码 #配置网卡ip,立即生效

 2)route #打印路由表

  route add|del 目标主机或ip地址 #添加/删除对应主机/ip路由条目

 3)netstat #显示网络连接、路由表、接口统计、伪装的连接,和组播成员

  netstat -tnlp #以数字形式显示正在监听的tcp协议相关进程

  netstat -unlp #以数字形式显示正在监听的udp协议相关进程

   -n:以数字格式显示ip及端口

   -t:tcp协议相关

   -l:处于监听状态

   -P:显示相关的进程和PID

  

 4)ss #显示网络连接状态,速度较netstat快

  ss -tnlp #以数字格式显示tcp协议套接字

  ss -unlp #以数字形式显示正在监听的udp协议相关进程

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

 1)使用rpm工具管理(本地包组管理,无需网络,需要rpm本地包,手动解决依赖关系)

    查询 rpm -q package …

    安装 rpm -i package …

    升级 rpm -U package …

    卸载 rpm -e package …

 2)使用yum工具管理(若无本地源,则必须要连接互联网,无需本地包,安装时自动解决依赖关系)

    查询 yum list …

    安装 yum install package …

    升级 yum upgrate package …

    卸载 yum remove package …

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

 1)挂载光盘 #mount -r -t iso9660 /dev/cdrom /media/cdrom

 2)编辑repo文件 #vim /etc/yum.repos.d/test.repo 

    [test-cent6]

    name=local_repo

    baseurl=file:///media/cdrom

    gpgcheck=1

    enabled=1

 3)检查结果 #yum repolist

  

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
dir_name="/etc/rc.d/rc3.d/"

for list in $(ls $dir_name);do
  if echo $list | grep ^K &> /dev/null;then
    echo "$list stop"
    let k++
  else
    echo "$list start"
    let s++
  fi
done
echo "kfile $k"
echo "sfile $s"

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

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

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

#!/bin/bash
#
declare -i sum=0

if [ $# -eq 0 ];then
  echo "Usage: $0 User_name ..."
  exit
fi
for list in $*;do
  if id $list &> /dev/null;then
    user_id=$(id -u $list)
    let sum+=$user_id
  else
   echo  "$list is not exist"
  fi
done
echo "id total is $sum"

14、写一个脚本

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

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

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

#!/bin/bash
#
declare -i dir_sum=0
declare -i file_sum=0

if [ $# -eq 0 ];then    
  echo "Usage: $0 dir_name ..."
fi
for list in $*;do
  if [ ! -d $list ];then
    echo "$list is not a directory,pls input directory name"
    exit
  fi
done

for list1 in $*;do
  for list2 in $(ls $list1);do
    if [ -d $list1/$list2 ];then
      let dir_sum++
    elif [ -f $list1/$list2 ];then
      let file_sum++
    fi
  done
done

echo "directory $dir_sum"
echo "file $file_sum"

15、写一个脚本

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

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

#!/bin/bash
#

if [ $# -ne 1 ];then
  echo "Usage: $0 user_name"
  exit
fi
if id $1 &> /dev/null;then
  num=$(id -u $1)
  if [ $num -gt 500 ];then
    echo "$1 is normal user"
  fi
fi

16、写一个脚本

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

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

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

#!/bin/bash
#
declare sum=0

Judge_user () {
  if id $1 &> /dev/null;then
    echo "$1 is exist"
  else
    useradd $1
    echo $1 | passwd --stdin $1 &> /dev/null
    let sum++
  fi
}

for list in $(seq 1 10);do
  Judge_user user$list
done

echo "$sum users is add in this operation"

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

#!/bin/bash
#
server='172.16.250.'

for num in {20..100};do
 if ping -c 1 -w 1 $server$num &> /dev/null ;then
    echo -e "\t\033[32m$server$num is online\033[0m"
 fi
done

18、打印九九乘法表;

#!/bin/bash
#

for ((b=1;b<=9;b++));do
  for ((a=1;a<=$b;a++));do
    echo -n -e "${a}x${b}=$[$a*$b]\t"
  done
  echo
done

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

(0)
Net21_木头Net21_木头
上一篇 2016-09-08 18:55
下一篇 2016-09-08 18:56

相关推荐

  • 企业实时同步方案—-Sersync介绍

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1433109 Sersync 项目利用 Inotify 和 Rsync 技术实现对服务器数据实时同步的解决方案,其中 Inotify 用于监控 Sersync…

    Linux干货 2016-08-15
  • 架构师第一天之:Nginx

    nginx: 诞生背景: prefork机制不能支持过大的并发请求, C10K问题的解决 官方站点: http://nginx.org 二次开发版: tengine,openresty 特性: 模块化设计,较好的拓展性 高可靠性:master/worker架构 支持热部署:不停机更新配置文件,更换日至文件,更新服务器版本 低内存消耗:10000个keep-a…

    Linux干货 2016-10-29
  • 马哥教育N22期第六周作业

    关于vim编辑器使用方法整理 编辑器分为文本编辑器、全屏编辑器、模式化编辑器 vim是最常用的编辑器之一,是vi的增强版 基本模式分为编辑模式、命令模式、输入模式、末行模式 下面我们介绍一下vim编辑器常用方法: 打开文件 vim +#:打开文件后,直接光标处于第#行行首 +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配 +…

    Linux干货 2016-10-09
  • 软连接与硬连接

    硬链接定义 新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 硬链接(hard link) ln   UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本。系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项…

    Linux干货 2017-07-22
  • 第二周作业

    1. Linux上文件管理类命令总结及示例 文件管理命令主要由查看类命令和管理类命令组成 查看类命令 cat:显示文本 cat [OPTION]… [FILE].. tac:倒序查看文件内容 tac [OPTION]… [FILE].. head:显示文件前几行内容 head [OPTION]… [FILE].. -n#:指定获取前#行,也可直接使用-# -…

    Linux干货 2016-12-10
  • Linux系统基础(二)

    一、Linux文件管理命令及其常用方法 1、cd(切换目录)这个命令应该是Linux中用的最频繁的一个命令之一了,因为我们经常需要进行目录的切换。在详解这个命令之前,首先得补充一个重要的知识,就是我们常用的一些比较特殊的目录: .        代表当前目录 .. &n…

    Linux干货 2016-09-24