馬哥教育網絡班19期+第8周課程練習

1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。

集線器:工作于物理層,實現設備的接入,數據信號放大、中轉,共享信道。

網橋:工作于數據鏈路層,實現多個lan之間數據的轉發,隔離沖突域,類似二層交換機

二層交換機:工作于數據鏈路層,可連接多個lan,根據幀的mac來轉發數據,隔離沖突域,端口較多。

三層交換機:工作于二、三層,可連接多個網段,實現數據包路由,實現部分路由器功能

路由器:工作于網絡層,實現不同網段數據的轉發,隔離廣播域,多應用于廣域網

 

2、IP地址的分類有哪些?子網掩碼的表示形式及其作用

A  01開頭,0~127 默認掩碼:255.0.0.0

B  10開頭,128~191 默認掩碼:255.255.0.0

C  110開頭,192~223 默認掩碼:255.255.255.0

D  1110,組播地址,224~239

E   11110,保留地址,240~255

子網掩碼作用:用于計算出IP地址的網絡位

 

3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。

(1)osi七層模型和tcp/ip模型

(2)每層功能:   

   物理層:在物理媒體上傳輸原始的數據比特流。

   數據鏈路層:將數據分成一個個數據幀,以數據幀為單位傳輸。有應有答,遇錯重發。

   網絡層:將數據分成一定長度的分組,將分組穿過通信子網,從信源選擇路徑后傳到信宿。

   傳輸層:提供不具體網絡的高效、經濟、透明的端到端數據傳輸服務。

   會話層:進程間的對話也稱為會話,會話層管理不同主機上各進程間的對話。

   表示層: 為應用層進程提供格式化的表示和轉換數據服務。

   應用層:提供應用程序訪問OSI環境的手段。

 (3)網絡接口層:網絡適配器、網絡介質,交換機;網絡層:路由器、三層交換機;傳輸層:;應用層。

 (4)ISO/OSI參考模型與TCP/IP協議模型中各層的對應關系:

aaaaaaaaaaaaaaa.png

 

4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)

      (1)編輯網絡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ethX

      (2)配置內容:

                 DEVICE=ethN

                BOOTPROTO=none

                HWADDR=xxx

                ONBOOT=yes

                TYPE=Ethernet

                 UUID="92fbbbe5-2f41-4c26-a4c2-f3c3a7e1ece8"

                 USERCTL=no

                 IPADDR=xxx

                NETMASK=xxx

                GATEWAY=xxx

 

5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。

    (1)命令:ifconfig device ip/netmask ip addr { add | del } IFADDR dev STRING

    (2)圖形配置:setupnmtui

(3)編輯配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ethX

 

 

6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;在線的主機使用綠色顯示;不在線的主使用紅色顯示;

       #!/bin/bash

#

declare -i i

ip=172.16.250

for i in $(seq 1 254);do

    if ping -c 1 -w 1  $ip.$i &> /dev/null;then

       echo -e "\033[32m $ip.$i:host is up \033[0m"

    else

       echo -e "\033[31m $ip.$i:host is down \033[0m"

    fi

done

 

7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;

       DEVICE=eth#                               —》設備名稱

       BOOTPROTO=none                    —dhcp表示動態獲取IP;staticnone表示靜態IP

       HWADDR=00:0c:29:52:59:e1      —》該網卡的mac

       IPV6INIT=no                                  —ipv6是否開啟

       NM_CONTROLLED=no               —》是否開啟nm管理

       ONBOOT=yes                              —》該網卡是否開機啟動

       TYPE=Ethernet                             —》網卡網絡的類型為以太網

        UUID="92fbbbe5-2f41-4c26-a4c2-f3c3a7e1ece8"   —》網卡的UUID標識

        USERCTL=no                              —》是否允許普通用戶編輯

        IPADDR=10.0.0.219                     —ip地址

        NETMASK=255.255.255.0            —》掩碼

        GATEWAY=10.0.0.1                      —》網關

         DNS#                                            —dns

 

8、如何給網絡接口配置多個地址,有哪些方式?

      (1)臨時有效。命令:ifconfig eth#:# 10.0.0.221 netmask 255.255.255.0 /ifconfig eth#:# 10.0.0.222/24

                   ip addr add 10.0.0.225/24 dev eth#

      (2)永久有效。配置文件:vim /etc/sysconfig/network-scripts/ifcfe-eth#:#

 

 

 

9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。

      ip、ifconfig:配置或查看系統IP情況

      netstat:查看當前系統的網絡鏈接。如:netstat -tuanp

      ss:類型與netstat功能

     route:查看或添加路由。route -n route add -net|host  ip netmask mask gw gateway dev eth#

     dig/nslookup/host

 

10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。

     安裝:rpm -ivh XXX.rpm

     升級:rpm -Uvh xxx/rpm –>后面接的套件若沒有安裝過,則系統將直接安裝。

                rpm -Fvh xxx.rpm –>后面接的套件若沒有安裝過,則該套件不會安裝。

     卸載:rpm -e xxx.rpm

 

11、如何使用發行版光盤作為yum repository,請描述該過程。    

(1)掛載光盤至/mnt

(2)開始配置本地yum,yum源為光盤

# cd /etc/yum.repos.d/                 

# mv CentOS-Base.repo CentOS-Base.repo.bak   

# vim CentOS-Media.repo             

         [c6-media]

         name=CentOS-$releasever-Media     

         baseurl=file:///mnt               

         gpgcheck=1                           

         enabled=1                            

         gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-6

   (3)驗證是否yum源是否成功:yum repolist c6-media

 

12、寫一個腳本,完成以下功能

   (1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;

   (2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;

   (3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;

   (4) 分別統計S開頭和K開頭的文件各有多少;

#!/bin/bash

#

for file in $(ls /etc/rc.d/rc3.d/);do

    if [[ $file == K* ]];then

       echo "K start:${file}stop"

       let sum1++

    elif [[ $file == S* ]];then

       echo "S start:${file}start"

       let sum2++

    fi

done

echo "Number of files at the beginning of K:$sum1"

echo "Number of files at the beginning of S:$sum2"

 

13、寫一個腳本,完成以下功能

   (1) 腳本能接受用戶名作為參數;

   (2) 計算此些用戶的ID之和;

#!/bin/bash

#

declare -i sum=0

declare -i id=0

read -t 30 -p "input username here:" -a uname

echo "===================="

[ "${uname[*]}" == ""  ]&&echo "users is empty"&&exit 1

for i in $(seq 0 $[${#uname[@]}-1]);do

     if id ${uname[$i]} &> /dev/null;then

       id=$(cat /etc/passwd | grep "^${uname[$i]}\>" |cut -d":" -f3)

       let sum+=$id

     else

        echo "user:${uname[$i]} do not exist"

     fi

done

echo "====================="

echo "all users id sum:$sum"

 

14、寫一個腳本

   (1) 傳遞一些目錄給此腳本;

   (2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;

   (3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;

 

 

 

15、寫一個腳本

  通過命令行傳遞一個參數給腳本,參數為用戶名

  如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

#!/bin/bash

#

if [ $# -gt 0 ];then

   for i in $(seq 1 $#);do

       if id ${!i} &>/dev/null&&[ $(cat /etc/passwd |egrep "^${!i}\>" |cut -d":" -f3) -ge 500 ];then

          echo "user:${!i} is common user "

       elif id ${!i} &>/dev/null&&[ $(cat /etc/passwd |egrep "^${!i}\>" |cut -d":" -f3) -lt 500 ];then

          echo "user:${!i} is sys user"

       else

          echo "user:${!i} is not exsit"

       fi

    done

else

   echo "usage:username.sh user1 user2 …"

fi

 

 

 

 

 

 

16、寫一個腳本

   (1) 添加10用戶user1-user10;密碼同用戶名;

   (2) 用戶不存在時才添加;存在時則跳過;

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

#!/bin/bash

#

function adduser {

        if id $1 &> /dev/null;then

           echo "$1 is exist!"

         else

           useradd $1 &&echo $1 |passwd –stdin $1 &>/dev/null

           [ $? -eq 0 ] && echo "Add $1 finished." && let sum++ && return 0

         fi

}

for i in {1..10};do

adduser user$i

done

echo "add user sum:$sum"

 

17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;

 #!/bin/bash

#

declare -i i

ip=172.16.250

for i in $(seq 20 100);do

    if ping -c 1 -w 1  $ip.$i &> /dev/null;then

       echo -e "\033[32m $ip.$i:host is up \033[0m"

    fi

done

 

18、打印九九乘法表;

#!/bin/bash

#

for j in {1..9};do

for i in $(seq 1 $j);do        

        echo -n -e "${i}X${j}=$[$i*$j]\t"

    done

echo

done

原創文章,作者:snow,如若轉載,請注明出處:http://www.www58058.com/20449

(0)
snowsnow
上一篇 2016-06-26
下一篇 2016-06-26

相關推薦

  • AWK文本工具和軟件包管理

    AWK文本工具 兩種版本1.nawk ??2.gawk gawk ?? 模式掃描和處理語言 選項: -F 指明輸入時用到的字段分隔符 -v ?var=value:自定義變量 基本格式: awk [options] ’program’???file…. program:pattern{action statrments;………

    Linux干貨 2018-03-15
  • 常見RAID磁盤陣列組合簡介

    常見RAID磁盤陣列組合簡介    RAID,是Redundant Arrays of Inexpensive Disks的簡寫,磁盤陣列。現今的計算機世界,最值錢的是什么?軟件、硬件?都不對,應該是承托在其之上的數據。對于我們來說,數據是無價的,硬件損壞了,可以重新購置。軟件損壞了,也可以重新安裝,但數據一旦丟失,就有可能再也找不回來了…

    Linux干貨 2016-06-01
  • FHS文件系統介紹及各目錄功能說明

    作者:M21-陸東貴 FHS文件系統介紹及各目錄功能說明 FHS簡介 Filesystem Hierarchy Standard(文件系統目錄標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾…

    Linux干貨 2016-10-18
  • TCP 的那些事兒(上)

       TCP是一個巨復雜的協議,因為他要解決很多問題,而這些問題又帶出了很多子問題和陰暗面。所以學習TCP本身是個比較痛苦的過程,但對于學習的過程卻能讓人有很多收獲。關于TCP這個協議的細節,我還是推薦你去看W.Richard Stevens的《TCP/IP 詳解 卷1:協議》(當然,你也可以去讀一下RFC793以及后面N多的RFC)。另…

    Linux干貨 2015-04-01
  • bash的重定向

    一、簡介         bash的數據流重定向(redirect)是將程序的執結果重新定向到另一文件或者設備?;蛘甙岩晃募囟ㄏ蚪o一程序作為數據來源。默認情況下,命令的執行結果顯示在屏幕上。文件系統中,分為:標準輸入,標準輸出,錯誤輸出。 二、用法   &n…

    Linux干貨 2015-08-11

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 15:24

    寫的很好,可以多注意一下排版問題,加油

欧美性久久久久