马哥教育网络班20期+第8周博客作业

1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
  网桥:链接层设备,基于MAC地址过滤。

  集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。

  二层交换机:基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。

  三层交换机:功能齐全的交换机,具备都静态路由、动态路由、VLAN、policy、DHCP等功能。可用于网络的汇聚与核心设备。

  路由器:一般用于局域网的出口、不同网络之间的连接的位置,常用的功能主要有各种路由协议、VPN、NAT等功能
2、IP地址的分类有哪些?子网掩码的表示形式及其作用

   IP地址的分类:
   A类:1-127
   B类:128-191
   C类:192-223 
   D类:组播 224-239
   E类:240-255

   子网掩码的表现形式:
   十进制:172.16.100.100/255.255.0.0
   简写:172.16.100.100/16

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

  应用层 (Application):
  网络服务与最终用户的一个接口。
  协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET
  设备:

  表示层(Presentation Layer):
  数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
  格式有,JPEG、ASCll、DECOIC、加密格式等
  设备:

  会话层(Session Layer):
  建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
  对应主机进程,指本地主机与远程主机正在进行的会话
  设备:

  传输层 (Transport):
  定义传输数据的协议端口号,以及流控和差错校验。
  协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
  设备:

  网络层 (Network):
  进行逻辑地址寻址,实现不同网络之间的路径选择。
  协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
  设备:路由器、防火墙

  数据链路层 (Link):
  建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
  将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
  设备:交换机

  物理层(Physical Layer):
  建立、维护、断开物理连接。(由底层网络定义协议)
  设备:集线器、网络


  对应tcp、ip的4层:
  应用层
  tcp udp
  ipv4  ipv6
  设备驱动程序和硬件
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
  要配置这些:
    IP/mask
    路由
    DNS服务器
    
   IP: 
   vim /etc/sysconfig/network-scripts/ifcfg-eth0

   改2项:   
      BOOTPROTO=dhcp 
      ONBOOT=yes

   如果改成static,则需要添加网关;否则没网

   保存退出
   

  DNS:
   vim /etc/resolv.conf

   把nameserver=192.168.1.1 改成=8.8.8.8 
   
   保存退出

   ping  www.baidu.com

   service network restart  (centos7:systemctl restart network )
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
    静态指定: 有3种
      ifconfig
      ip;
      配置文件

    例如:
    ifconfig eth0 172.16.100.12 netmask 255.255.0.0
    ip addr add 172.16.100.13/16 dev eth0

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;

    DEVICE:此配置文件应用到的设备;

    HWADDR:对应的设备的MAC地址;

    BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp;

    NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”;

    ONBOOT:在系统引导时是否激活此设备;

    TYPE:接口类型;常见有的Ethernet, Bridge;

    UUID:设备的惟一标识;

    PADDR:指明IP地址;

    NETMASK:子网掩码;

    GATEWAY: 默认网关;

    DNS1:第一个DNS服务器指向;此处的DNS配置优先于/etc/resolv.conf文件中的DNS配置

    DNS2:第二个DNS服务器指向;

    USERCTL:普通用户是否可控制此设备;

    PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;
8、如何给网络接口配置多个地址,有哪些方式?
      ifconfig
      ip;
      配置文件
      都可以实现。
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
    ifconfig/route/netstat
    ifup/ifdown
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
    rpm命令
    yum命令

例如:
rpm命令:
    安装
    rpm {-i|--install} [install-options] PACKAGE_FILE(包文件) ...
        -v: verbose
        -vv: more verbose
        -h: 以#显示程序包进度;每个#表示2%的进度


    升级
        rpm -Uvh PACKAGE_FILE ...
        rpm -Fvh PACKAGE_FILE ...

    卸载
    rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] 
         rpm -e zsh  
         rpm -q zsh 


yum命令:
    安装程序包:
        install package1 [package2] [...]
        reinstall package1 [package2] [...]  (重新安装)

    升级程序包:
        update [package1] [package2] [...]
        downgrade package1 [package2] [...] (降级)

    卸载程序包:
        remove | erase package1 [package2] [...]  依赖的程序包也会被卸载
11、如何使用发行版光盘作为yum repository,请描述该过程。

    cd /etc/yum.repos.d/    
    ls  
    vim centos-local.repo

    [epel]
    name=EPEL for EL6 x86_64
    baseurl=http://mirrors.aliyun.com/epel/6/x86_64/   
    gpgcheck=1
    enabled=1  

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

      #!/bin/bash
      k=0
      s=0
      for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do
          echo "$i stop"
          let k=$k+1
      done
      for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do
          echo "$i start"
          let s=$s+1
      done
      echo "K file: $k; S file: $s" 


      第二种实现:

      #!/bin/bash

      declare -i k=0
      declare -i s=0

      for i in $(ls /etc/rc.d/rc3.d/); do
         file1=(grep "^K*$" /etc/rc.d/rc3.d/$i)
         if [ -n "$file1" ]; then
            echo "$i stop"
          let k++
         file2=(grep "^S*$" /etc/rc.d/rc3.d/$i)
         if [ -n "$file2" ]; then
            echo "$i start"
          let s++
           fi
         fi
      done

      echo "K file: $k"
      echo "S file: $s"
13、写一个脚本,完成以下功能
   (1) 脚本能接受用户名作为参数;
   (2) 计算此些用户的ID之和;
    
    #!bin/bash

    declare -i sum=0

    for i in $*;do
       if id $i &>/dev/null;then
         sum+=$(id -u $i)
       fi
    done  
    echo "sum uid:$sum"
14、写一个脚本
   (1) 传递一些目录给此脚本;
   (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
   (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
    
    #!/bin/bash
    declare -i dsum=0,fsum=0

    if [ $# -eq 0 ]; then
            echo "input at least a filepath!"
        fi

    for i in $*;do
        if [ -d $i -a -x $i ]; then
           ls -l $i  |grep ^d |awk '{print $NF}'
           let dsum+=$(ls -l /tmp/ |grep ^d |wc -l)
           let fsum+=$(ls -l /tmp/ |grep -v ^d |wc -l)
        else
            echo "The $i is not exist or Permission denied,please check it!"
            exit 2
        fi
    done
           
    echo "the directories sum:$dsum"
    echo "the file sum:$fsum"
15、写一个脚本
  通过命令行传递一个参数给脚本,参数为用户名
  如果用户的id号大于等于500,则显示此用户为普通用户;
      #!/bin/bash

      for i in $*; do
        if id $user &> /dev/null; then
            userid=`id -u $i`
            if [ $userid -ge 500 ]; then
            echo "common user"
        fi
      done
16、写一个脚本
   (1) 添加10用户user1-user10;密码同用户名;
   (2) 用户不存在时才添加;存在时则跳过;
   (3) 最后显示本次共添加了多少用户;

      #!/bin/bash
      #
      declare -i i=1
      declare -i users=0  

      while [ $i -le 10 ]; do  
          if ! id user$i &> /dev/null; then  
        useradd user$i  
          echo "Add user: user$i."  
              let users++ 
          fi
          let i++  
      done

      echo "Add $users users."
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
    #!/bin/bash
    #
    declare -i i=1
    declare -i uphosts=0
    declare -i downhosts=0
    net='172.16.250'

    while [ $i -le 20 ]; do
        if ping -c 1 -w 1 $net.$i &> /dev/null; then
        echo "$net.$i is up."
        let uphosts++
        else
        echo "$net.$i is down."
        let downhosts++
        fi
        let i++
    done

    echo "Up hosts: $uphosts."
    echo "Down hosts: $downhosts."
18、打印九九乘法表;
    #!/bin/bash
    #
    declare -i i=1 
    declare -i j=1 

    while [ $j -le 9 ]; do
        while [ $i -le $j ]; do
        echo -e -n "${i}X${j}=$[$i*$j]\t"
        let i++  
        done

        echo   
        let i=1  
                                 
        let j++
    done

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

(1)
mississippimississippi
上一篇 2016-09-09
下一篇 2016-09-10

相关推荐

  • 脚本例子

    1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 #!/bin/bash #author:Zhu Chaoming #date:20160816 #version:0.1 # while   true…

    学员作品 2016-08-22
  • 【福利贴-招聘】- 维护工程师

    地点:黄浦–人民广场  职位:技术支持/维护 要求:招1人| 大专| 1-2年 薪资范围: 8-12k 职位职能:技术支持/维护工程师 岗位职责: 1.熟悉Linux及其远程维护; 2.熟练掌握Linux网络安装、日常管理、安全、备份、恢复、故障处理、日志分析等技能; 3.熟悉Web、mysql优化管理、apache等常见的问题及处理 …

    Linux职位 2015-05-14
  • 马哥教育网络班20期-第八周课程作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。 集线器的英文称为“Hub”。主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它…

    学员作品 2016-09-08
  • 马哥教育网络班20期+第10周博客作业

    4、写一个脚本   (1) 能接受四个参数:start, stop, restart, status    start: 输出“starting 脚本名 finished.”    …   (2) 其它任意参数,均报错退出;     #!bin/b…

    学员作品 2016-12-05
  • linux中用ACL实现灵活的权限管理

    ACL是什么?? ACL英文原意是Access Control List(访问控制列表).它能够实现灵活的权限管理,除了文件的所有者,所属组和其他人,设置相应的权限外,ACL允许你给任何用户或是用户组设置任何文件/目录的访问权限(注意的是有些不支持数字模式的权限给定) ACL有什么用?? 作为UGO权限管理的补充,acl有GUO办不到或者是难以办到的功能 &…

    Linux干货 2016-08-05
  • Linux 用户,组和用户权限的使用

    echo -e "Hello,I am 'whoami',the system version is here,please helcheck ist  thanks! \n'lsb_release'"| mail -s 'help'root cmd1 |cmd 2 cma1 2&…

    2016-08-05