N22第八周作業

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

網橋從一個局域網接收MAC幀,拆封、校對、校驗之后,按另一個局域網的格式重新組裝,發往它的物理層。由于網橋是鏈路層設備,因此不處理數據鏈路層以上層次協議所加的報頭。
  集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI(開放系統互聯參考模型)參考模型第一層。
 二層交換機指的就是傳統的工作在OSI參考模型的第二層–數據鏈路層上交換機,主要應用于小型的局域網中,主要功能包括物理編址、錯誤校驗、幀序列以及流控。
 三層交換機主是二層交換機與路由器的合體,支持物理層,數據鏈路層及網絡層協議。三層交換機支持路由功能、支持網絡層的很多協議等,支持多VLAN的設置與IP地址配置!支持安全功能等
 路由器是連接因特網中各局域網、廣域網的設備,路由和交換機之間的主要區別就是交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。

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

A 類地址:(0-127)一個A 類IP地址僅使用第一個8位位組表示網絡地址且第一組8位數中第1位必須為0,即0.0.0.0到127.0.0.0,也即是
00000000.00000000.00000000.00000000到01111111.00000000.00000000.00000000

B 類地址::(128-191)一個B 類IP地址僅使用前兩個8位位組表示網絡地址且第一組8位數中前兩位必須為10,即128.1.0.0到191.254.0.0,也即是
10000000.00000001.00000000.00000000到10111111.11111110.00000000.00000000

C 類地址::(192-223)一個C 類IP地址僅使用前三個8位位組表示網絡地址且第一組8位數中前三位必須為110,即192.0.1.0 至223.255.254.0,也即是
11000000.00000000.00000000.00000000到11011111.00000000.11111110.00000000

D 類地址::(224-239)D 類地址用于在IP網絡中的組播( multicasting ,又稱為多目廣播)。D類地址第一組8位數中前四位必須為1110,即224.0.0.0到239. 255. 255.254,也即是
11100000.00000000.00000000.00000000到11101111.11111111.11111111.11111110

E 類地址:(240-255)保留作研究之用。因此Internet上沒有可用的E類地址。E類地址第一組8位數中前四位必須為1111,因此有效的地址范圍從240.0.0.0 至255.255.255.255
11110000.00000000.00000000.00000000到11111111.11111111.11111111.11111110

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

OSI七層模型:

應用層:提供應用程序之間通信,

表示層:處理數據格式、數據加密

會話層:建立,維護,管理會話連接涉及操作系統和網絡接口和各種數據

傳輸層:建立主機端到端連接,涉及物理設備:四層交換機

網絡層:尋址和路由選擇涉及物理設備:路由器

數據鏈路層:提供介質訪問,鏈路管理,將數據分幀并處理流控制。網卡,網橋,交換機

物理層:比特流傳輸,將數據轉換為可通過物理介質傳送的電子信號物理設備雙絞線、同軸電纜,集線器

TCP/IP4層模型:

網絡訪問層:功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀。基于不同硬件類型的網絡接口,定義了和物理介質的連接。相當于OSI參考模型的物理層和數據鏈路層。

網際層:處理來自傳輸層的分組發送請求;處理輸入數據報;處理ICMP報文,即處理網絡的路由選擇、流量控制和擁塞控制等問題。在功能上類似于ISO/OSI參考模型中的網絡層。

傳輸層:主要功能是可靠而又準確地傳輸并控制源主機與目的主機之間的信息流,提供端到端的控制,通過滑動窗口機制提供流控制,通過序列號和確認機制來保證可靠性。

應用層:包括所有的高層協議,與OSI的應用層協議相差不大,包括HTTP、Telnet、FTP、SMTP、POP3、DNS等。

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

A、使用ifconfig -a命令查看是否有發現網卡,如果未發現網卡,檢查網卡驅動是否正常

B、編輯/etc/sysconfig/network-script/目錄下網卡對應的配置文件,如ifcfg-eno16777736,配置啟動必要的參數,如:
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.150 
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=192.168.1.1
其他參數根據需要修改,然后保存。

C、/etc/init.d/network restart重啟網絡,檢查網絡是否連通。

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

A、ifconfig eno-16777736 IP/mask
B、ip addr add ip dev eno-16777736
C、使用net-tools工具中nmtui圖形化工具

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.詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;

網絡接口配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736
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地址

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

A、ip addr add IP/MASK dev eno16777736:1
B、cd /etc/sysconfig/network-scripts/
cp ifcfg-eno16777736{,:1}
vim ifcfg-eno16777736:1

DEVICE=eno16777736:1
IPADDR=IP
PREFIX=24

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

ifconfig:
ifconfig -a     查看所有網絡接口信息
ifconfig interface     查看指定網絡接口信息
ifconfig interface up|download     啟用或停用指定網絡接口
ifconfig interface ip/mask [up]     設定指定網絡接口IP地址和掩碼

route:
route -n    查看所有路由信息
route add    添加路由
    route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
    route add -net 目標網段IP/MASK gw 網關IP dev 網卡
    route add -host 目的IP gw 網關IP dev 網卡
route del刪除路由
    route del [-net|-host] target [netmask ] [gw Gw][dev] 
    route del -net 目標網段IP MASK
    route del -host 目的IP
    
netstat:
-t    tcp協議相關的連接
-u    udp協議相碰的連接
-w    raw socker相關的連接
-l    處于監聽狀態的連接
-a    所有的連接
-n    以數字顯示ip和端口
-e    擴展格式
-p    顯示相關進程及PID

ip:
ip link
    ip link set DEVICE IFACE up/down     激活或禁用指定接口
    ip link show up/dev     顯示所有激活狀態/指定接口信息
ip addr
    ip addr { add | del } IFADDR dev STRING     增加或刪除IP地址
    ip addr show     顯示網絡接口信息
ip route
    ip route { add | del | show}     添加、刪除或顯示路由
    
ss:
-t    tcp協議相關的連接
-u    udp協議相碰的連接
-w    raw socker相關的連接
-l    處于監聽狀態的連接
-a    所有的連接
-n    以數字顯示ip和端口
-e    擴展格式
-p    顯示相關進程及PID
-x    unix sock相關
-m    內存用量
-o    計時器信息

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

用rpm命令管理程序包

安裝    rpm -ivh     PACKAGE_FILE    安裝包
升級    rpm -Uvh    PACKAGE_FILE    升級包,無則安裝此包
          rpm -Fvh    PACKAGE_FILE    升級包,無則無變化
查詢    rpm -qa | grep FileName    查詢已安裝的某個軟件
          rpm -qf     FILE    查詢文件出處
          rpm -qc    PACKAGE_FILE    查詢包的配置文件
          rpm -ql    PACKAGE_FILE    查詢包的所有文件
          rpm -qd    PACKAGE_FILE    查詢包的信息
          rpm -qpi   PACKAGE_FILE    安裝之前查詢包信息
          rpm -qpl    PACKAGE_FILE    安裝之前查詢包的所有文件
卸載    rpm -e    PACKAGE_FILE    卸載包
驗證    rpm -V    PACKAGE_FIL    E驗證包
          rpm --import     PUBKEY    導入公鑰
維護    rpm initdb新建數據庫
           rpm rebuilddb重建數據庫
           
           
yum:
查看
    yum info PACKAGE_FILE            查看包信息
    yum historylist                        查看yum事務歷史
    yum deplistpackage1                查看包依賴
顯示
    yum repolist all    顯示yum倉庫列表
    yum list installed    顯示已安裝列表
    yum list available    顯示可用包
    yum list updates    顯示可升級的包
    yum list anaconda    顯示系統安裝的包
安裝 
    yum install PACKAGE_FILE    安裝包
    yum localinstall rpmfile1    安裝本地包
升級
    yum update PACKAGE_FILE    升級包
    yum downgrade PACKAGE_FILE    降級包
    yum check-update    檢查更新
卸載
     yum remove PACKAGE_FILE    卸載包
    yum providesfeature1    查看指定的特性
    yum clean    清理本地緩存
    yum search string1    搜索字符串
    yum info PACKAGE_FILE    查看包信息
包組管理
    yum groupinstall group1 [group2] [...]    安裝包組
    yum groupupdate group1 [group2] [...]    升級包組
    yum grouplist [hidden] [groupwildcard][...]    顯示包組
    yum groupremove group1 [group2] [...]    卸載包組
    yum groupinfo group1 [...]     查看包組信息

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

掛載光盤至某目錄:
mount -r /dev/cdrom /mnt/

創建配置文件:
vim /etc/yum.repos.d/CentOS-DVD.repo
[CentOS6.6]
name=CentOS cdrom    #倉庫的名字
baseurl=file:///mnt    #repodata目錄的倉庫訪問路徑
gpgchecked=0    #使用前是否檢驗包
enabled=1    #是否啟用此倉庫

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

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

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

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

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

#!/bin/bash
declare -i k=0,s=0
for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$");do
    echo "$i stop"
    let k++
done
for j in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do
    echo "$j start"
    let s++
done
echo "S開頭的文件有$s個,K開頭的文件有$k個!"

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

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

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

#!/bin/bash
declare -i sum
if [ $# -lt 1 ];then
    echo "At least one username"
    exit 1
else
    for name in $*;do
        if id $name &> /dev/null;then
            let sum+=$(grep "^\<$name\>" /etc/passwd | cut -d: -f3)
        fi
    done
    echo "id sum is $sum"
fi

14.寫一個腳本 

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

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

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

#!/bin/bash
if [ $# -lt 1 ];then
    echo "At  least a Directory"
    exit 1
fi
ls -l "$@" | grep ^d | awk '{print $NF}' > directory
ls -l "$@" | grep ^- | awk '{print $NF}' > files
ls -l "$@"
echo "Total $(wc -l directory) "
echo "Total $(wc -l files) "

15.寫一個腳本    

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

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

#!/bin/bash
if [ $# -lt 1 ];then
    echo "At least one username"
    exit 1
fi
if id $1 &> /dev/null;then
    uid=$(grep "^\<$1\>" /etc/passwd | cut -d: -f3)
    if [ $uid -ge 500 ];then
        echo "$1 is regular user"
else
    echo "$1 is system user"
fi
else
    echo "$1 is not exists"
fi

16.寫一個腳本     

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

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

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

#!/bin/bash
declare -i num
for((i=1;i<11;i++)){
    if ! id user$i &> /dev/null;then
        useradd user$i
        echo user$i:user$i | chpasswd
        let num++
    fi
}
echo "Add $num users!"

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

#!/bin/bash
net="172.16.250."
for((i=20;i<=100;i++)){
    ping -c 1 $net$i &> /dev/null
    if [ $? -eq 0 ];then
    echo $net$i
    fi
}

18.打印九九乘法表;

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

原創文章,作者:N22-無錫-沉默,如若轉載,請注明出處:http://www.www58058.com/52395

(0)
N22-無錫-沉默N22-無錫-沉默
上一篇 2016-12-26
下一篇 2016-12-26

相關推薦

  • Linux進程查看及管理(2)

    Linux進程查看及管理(2) CentOS5和6的啟動流程: Liunx中的啟動:kernel和rootfs(根文件系統) kernel:進程管理,內存管理,網絡管理功能,驅動程序,文件系統,安全功能(權限模型), rootfs:glibc(lib,lib64) 庫:函數集合,function(功能模塊)有其調用接口(頭文件是對函數功能或調用參數的功能進行…

    Linux干貨 2016-08-08
  • N22-?Linux系統的基礎命令

                                     Linux系統的基礎命令 命令的語法通用格式:# COMMAND OPTIONS  ARGUMENTS COMMA…

    Linux干貨 2016-08-15
  • 深入了解正則表達式與grep應用

    剛開始學習正則表達式時候,感覺和看無字天書沒什么分別,迷茫了一段時間后,仔細去理解,慢慢你會發現也沒什么的。認真去鉆研了,多練習,是可以理解他們的含義的。也許正如老師所言,學習linux ,入門的確很陡峭,對于我這個基礎薄弱,智商低于80的人來說的確很吃力。關于正則概念的就不去描述了,說起來真的不好表達,下面通過一些實例來進行深入理解吧。 1.顯示當前系統上…

    2017-11-01
  • Linux啟動之grub詳解,故障排除,自建linux

    概述     上篇我們以CentOS6為例介紹了一下系統啟動流程,本篇將承接上篇,詳細的介紹一下系統啟動流程中的grub,以及系統啟動過程中的各種故障的排除,以及利用現有內核自己構建一個能夠正常啟動的簡單Linux系統。具體分為一下幾個部分:     1、grub相關概念詳解 &…

    Linux干貨 2016-09-13
  • Linux三劍客之sed

    sed:全稱stream EDit 行文本編輯器 作用:是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在模式空間,接著用 sed命令處理緩沖區中的內容,處理完成后,把模式空間的內容輸出到標準輸出。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。 Sed主要用來自動編輯一個或多個文件,簡化對文件的反復操…

    Linux干貨 2016-08-12
  • 第十一周

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 2、描述創建私有CA的過程,以及為客戶端發來的證書請求進行辦法證書。 CA 服務器端: (1)生成 CA 服務器的私鑰 (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) (2)生成 CA服務器自謙證書 openssl req …

    Linux干貨 2017-03-30
欧美性久久久久