馬哥教育網絡班20期+第8周博客作業

1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
  網橋:鏈接層設備,基于MAC地址過濾。

  集線器:物理層設備,基本都屬于半雙工模式。集線器與網橋在現在的局域網中基本都不用了。

  二層交換機:基本MAC轉發數據,功能齊全的可支持VLAN等功能。常見的有100/1000M、16口/24口/48口。

  三層交換機:功能齊全的交換機,具備都靜態路由、動態路由、VLAN、policy、DHCP等功能??捎糜诰W絡的匯聚與核心設備。

  路由器:一般用于局域網的出口、不同網絡之間的連接的位置,常用的功能主要有各種路由協議、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.www58058.com/45085

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

相關推薦

  • 第六次作業

    1 、取本機ip地址 Centos6.8 ifconfig | head -2|tail -1|cut -d: -f2|cut -d" " -f1 ifconfig | head -2|tail -1|cut&…

    學員作品 2016-08-10
  • 鳥哥馬哥齊相聚,linux界最強音

    臺灣著名Linux網站——“鳥哥的Linux私房菜”的站長蔡德明,2015年3月28日受邀到51CTO進行交流,51cto學院還特此邀請大陸linux權威專家馬哥參與了本次活動,在輕松愉快的氛圍下,馬哥和鳥哥以及其他專家人員對于“容器虛擬化下運維調度層的設計”,“Linux在云計算的應用”,“可視化集成運維平臺最佳實踐”等三個議題展開思想的碰撞。本次馬哥和鳥…

    2015-03-30
  • 馬哥教育網絡班20期-第十周課程作業

    請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 1)POST:加電自檢 2)BOOT Sequence:按次序查找各引導設備,第一個有grub的設備即為本次啟動用到設備 3)加載kernel,先自身初始化,探測可識別到的所有硬件設備,加載硬件驅動程序,以只讀方式掛載根文件系統,運行用戶空間的第一個應用程序:/sbin/init 4)i…

    學員作品 2016-09-08
  • 馬哥linux特推出“你學習,我買單—免費公開課”的活動

    馬哥linux特推出“你學習,我買單—免費公開課”的活動 為了感謝廣大linux愛好者對馬哥教育的一路陪伴和支持。時值五一佳節來臨之際,馬哥linux特推出“你學習,我買單—免費公開課”的活動,本期分享主題為:“Linux運維架構師成長必經之路”,后期我們將會不斷的推出更多免費精彩課程和大家一起分享, 具體報名方式以及問題咨詢,請加入…

    學員作品 2015-04-22
  • 文本處理工具筆記

    1.文件查看相關命令      (1)cat命令      cat [OPTION]… [FILE]…      -E:顯示行結束符      -n:對顯示除的每一行進行編號 …

    學員作品 2016-08-10
  • 馬哥教育網絡班20期-第九周課程作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash nologinsum=$(awk -F: '$NF~/\/sbin\/nologin$/{print $1}'&n…

    學員作品 2016-09-08
欧美性久久久久