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

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

网桥:是将广播域划分为多个小的冲突域,但广播域没有变。工作在OSI模型的数据链路层,端口很少;基于软件;可以处理上层事务。
集线器:对接收到的信号进行再生整形放大,扩大网络传输距离;属于纯硬件网络底层设备,工作在OSI模型的物理层,不具有交换机的”智能记忆”和”学习”的能力;
也不具备交换机所具有的MAC地址表,发送数据时没有针对性,采用广播方式发送。当它要向某节点发送数据时,是通过把数据包发送到与集线器相连的所有节点。

二层交换机:工作于OSI模型的第2层(数据链路层),可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
三层交换机:具有部分路由器功能的交换机,加快大型局域网内部的数据交换,能够做到一次路由,多次转发。由硬件高速实现数据包转发等规律性的功能,由软件实现路由信息更新、路由表维护、路由计算、路由确定等功能。
三层交换技术就是二层交换+三层转发。传统交换技术工作于OSI模型的数据链路层,而三层交换技术是在网络层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。

路由器:是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号;属网络层的一种互联设备。
又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。
具有判断网络地址和选择IP路径的功能,能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,只接受源站或其他路由器的信息。
路由器和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。
这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。

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

A 类:1-127    默认子网掩码:255.0.0.0    私网地址:10.0.0.0/8
B 类:128-191    默认子网掩码:255.255.0.0    私网地址:172.16.0.0/16-172.31.0.0/16
C 类:192-223    默认子网掩码:255.255.255.0    私网地址:192.168.0.0/24-192.168.255.0/24
D 类:223-254
子网掩码表现形式有两种:一种与IP地址表现方法一样,即点分四组表示法,如:255.255.0.0;
另一种叫无类别域间路由(CIDR)表示法,如192.168.0.0/24
子网掩码是用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码

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

OSI模型分层如下:
应用层;提供应用程序之间通信;
表示层:处理数据格式、数据加密;
会话层:建立,维护,管理会话连接涉及操作系统和网络接口和各种数据;
传输层:建立主机端到端连接。涉及物理设备:四层交换机
网络层:寻址和路由选择。涉及物理设备:路由器
数据链路层:提供介质访问,链路管理,将数据分帧并处理流控制。涉及物理设备:网卡,网桥,交换机
物理层:比特流传输,将数据转换为可通过物理介质传送的电子信号。涉及物理设备:双绞线、同轴电缆,集线器
TCP/IP模型包括:应用层(对应OSI模型的应用层,会话层,表示层)、传输层、网络互连层、网络接口层(对应OSI模型的数据链路层和物理层)

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

1) 编辑/etc/sysconfig/network-script/eth0,设置IP,MAC,网关,地址分配是静态或动态
2) 编辑 /etc/hosts,添加IP
3) 编辑/etc/resolv.conf
4) 启动网络服务,service network restart
5) 测试连接网络

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

1) ifconfig eth0 IP/mask
2) ip addr add ip device eth0
3) Linux网络属性配置的tui(text user interface):system-config-network-tui
4) 使用setup;

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

#!/bin/bash
for ip in 172.16.250.{1..254}
do
  ping $ip -c 2 &>/dev/null
  if [ $? -eq 0 ];then
    echo -e "\e[1;32m $ip is alive \e[0m"
    sleep 1
  else
    echo -e "\e[1;31m $ip is down \e[0m"
    sleep 1
  fi
done

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

1)网络接口配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
DEVICE                      #网卡名
BOOTPROTO            #ip地址分配方式, dhcp、static
HWADDR                  #MAC地址
NM_CONTROLLED="yes"            #network manager参数,
ONBOOT=                #网卡是否开机激活
TYPE=                       #网络类型
IPV6INIT=no             #禁止IPV6
USERCTL=no            #是否允许非root用户控制该设备,为no,只能root用户更改
IPADDR=                  #IP ADDR
GATEWAY=              #gateway地址
NETMASK=               #掩码
DNS2=                      #dns2地址
DNS1=                      #dns1地址

2)路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE
3)配置当前主机的主机名:/etc/sysconfig/network HOSTNAME=
4)网络接口识别并命名相关的udev配置文件: /etc/udev/rules.d/70-persistent-net.rules

8、如何给网络接口配置多个地址,有哪些方式?
1) ifconfig eth0 IP/mask
2) ip addr add IP device eth0
3) Linux网络属性配置的tui(text user interface):system-config-network-tui
4) 使用setup;

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

netstat:

1)、查看网络连接 netstat –tan

2)、查看路由 netstat –r 

3)、 显示网络接口 netstat –i

route:

1)、查看:route -n 

2)、添加:route add default gw 192.168.126.2

3)、删除:route del -net 0.0.0.0/0 gw 192.168.126.2

ip:

1)、激活或禁用指定接口:ip link set dev IFACE up /down

2)、配置IP:ip addr { add | del } IFADDR dev IFACE
3)、添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
4)、配置路由:ip route del TARGET
ss:

1)、查看端口监听状态: ss -tnl

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

rpm命令实现程序管理:
安装:-ivh, –nodeps, –replacepkgs
卸载:-e, –nodeps
升级:-Uvh, -Fvh, –nodeps, –oldpackage
查询:-q, -qa, -qf, -qi, -qd, -qc, -q –scripts, -q –changlog, -q –provides, -q –requires
校验:-V
导入GPG密钥:–import, -K, –nodigest, –nosignature
数据库重建:–initdb, –rebuilddb

Yum 命令实施软件包管理
repolist [all|enabled|disabled]
显示程序包:list
# yum list [all | glob_exp1] [glob_exp2] […]
# yum list {available|installed|updates} [glob_exp1] […]

安装程序包: install package1 [package2] […]
reinstall package1 [package2] […] (重新安装)

升级程序包:
update [package1] [package2] […]
downgrade package1 [package2] […] (降级)
检查可用升级:
check-update
卸载程序包:
remove | erase package1 [package2] […]
查看程序包information:
info […]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2] […]
清理本地缓存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
makecache

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

1)编辑/etc/yum.repos.d/centos_iso.repo
[Packages]
name=centos_iso
baseurl=file:///mnt #本地iso的挂载路径
enabled=1 #可以使用yum
gpgcheck=0 #设置不检查gpgkey
gpgkey=file:///mnt/RPM-GPG-KEY-centos
2)挂载光盘至某目录,例如/mnt
# mount -r -t iso9660 /dev/cdrom /mnt
3) yum clean ; yum repolist

12、写一个脚本,完成以下功能
   (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
   (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
   (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
   (4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
DIR=/etc/rc.d/rc3.d/
sumofk=0
sumofs=0
K="stop"
S="start"
cd $DIR
for i in `ls |grep ^K`
do
  echo ${i}$K
  let sumofk++
done
for i in `ls|grep ^S`
do
  echo ${i}$S
  let sumofs++
done
echo "the sum of K is:" $sumofk
echo "the sum of S is:" $sumofs

13、写一个脚本,完成以下功能
   (1) 脚本能接受用户名作为参数;
   (2) 计算此些用户的ID之和;

#!/bin/bash
sum=0
echo "please input the username:"
read p
for i in $p
do
  a=`grep ^"\b${i}\b" /etc/passwd|cut -d: -f3`
  let sum=${sum}+${a}
done
echo ${sum}

14、写一个脚本
   (1) 传递一些目录给此脚本;
   (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
   (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash
declare -i D=0
declare -i F=0
for d in $@
do
  for i in `ls $d`
  do
    FT=`file $i|cut -d: -f2`
    echo "$i's type is:$FT"
    let F++
    if [ $FT == "directory" ];then
      let D++
    fi
  done
done
echo "Directory count is $D"
echo "File count is $F"

15、写一个脚本
  通过命令行传递一个参数给脚本,参数为用户名
  如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
while true ;do
  read -p  "please input a username:" username
  case $username in
  exit)
    exit 1
    ;;
  *)
    echo $username
    uid=` grep ^"\b${username}\b" /etc/passwd|cut -d: -f3 `
    echo $uid
    if [ $uid -gt 500 ];then
      echo "$username is a common user"
    fi
    ;;
  esac
done

16、写一个脚本

   (1) 添加10用户user1-user10;密码同用户名;
   (2) 用户不存在时才添加;存在时则跳过;
   (3) 最后显示本次共添加了多少用户;

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

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

#!/bin/bash
for ip in 172.16.250.{20..100}
do
  ping $ip -c 2 &>/dev/null
  if [ $? -eq 0 ];then
    echo -e "\e[1;32m $ip is online \e[0m"
    sleep 1
  fi
done

18、打印九九乘法表

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

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

(0)
ππ
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • 从Linux小白到大牛——与狼共舞的日子4

    马哥教育网络班21期+第4周课程练习 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -a /etc/skel/ /home/tuser1/ [root@localhost&n…

    Linux干货 2016-08-02
  • 计算机的组成及其功能

    计算机由五大组成部分 运算器 运算器主要负责数据的算术运算或者逻辑运算 控制器 控制器负责调度系统指令 存储器 存储数据的地方,如硬盘和内存 输入设备和输出设备 主要用于人机交互,如键盘、鼠标,显示器

    2018-03-04
  • 马哥教育网络班22期+第13周作业

    week13 1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为…

    Linux干货 2016-11-21
  • 推荐-LINUX磁盘管理

    Evernote Export LINUX磁盘管理 linux学习笔记 磁盘分区 文件系统 挂载 在操作系统中,磁盘管理属于设备管理的范畴。一块硬盘安装到主机之后称为裸设备,若要能够在Linux系统中使用必须对其进行如下步骤:分区=>格式化(创建文件系统)=>挂载 LINUX系统的设备类型 Linux沿袭Unix的风格,将所有设备认成是一个文件 …

    Linux干货 2016-04-05
  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2017-04-08
  • 多方面修复linux系统

    在这篇文章,您将看到以下方面的修复方法: ●内核文件和虚拟 ●grub.conf ●grub目录 ●boot分区 ●fstab文件 ●root密码破解   首先,要想很愉快的修复linux启动的各种问题,就必然要把linux的启动流程搞清楚。 1. 加载 BIOS 的硬件信息和进行自我测试,并依据设定取得第一个可开机的装置; 2. 读取并执行第一个…

    Linux干货 2016-09-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 13:27

    如果将上面的文字描述换成图文并茂就更好了,直观