第八周作業(網絡、bash腳本)

1-3,計算機網絡基礎博客已總結,簡要補充

協議的分層

為了使那些比較復雜的網絡協議更加簡單化。ISO根據各通信協議的功能將網絡體系分成七層。

在這個分層中,下層為上一層提供服務。上下層之間進行交互時所遵循的約定叫做“接口”。同層之間的交互所遵循的約定叫做“協議”

第八周作業(網絡、bash腳本)

說的更形象一點,兩個中國人打電話這個通信。就可以分為兩層,同層之間的叫協議,我說漢語,你也說漢語,我跟個韓國人打電話,肯定溝通不了。電話之間也要有協議,我用我的電話打到你的吹風機上也不行吧。我跟電話之間的聯系,叫做接口,就是錄音、揚聲器吧,將聲波轉化為電磁波,發送給你。

第八周作業(網絡、bash腳本)

OSI參考模型

每層的功能如下:

第八周作業(網絡、bash腳本)

通信過程如下:

第八周作業(網絡、bash腳本)

A對B發一句“早上好”的電子郵件,內容早上好

在應用層加上應用層首部,作用是指明目標地址,發件人為用戶A;

到達表示層加上表示層首部,作用將數據從主機特有的格式轉化為網絡標準傳輸格式;

到達會話層加上會話層首部,作用是選擇采用哪個連接,何種方法傳輸數據;

到達傳輸層,傳輸層作用是保證所傳輸的數據到達目標地址,如果沒有到達則會負責重發;

到達網絡層,A到B之間有很多路要走,選擇哪一條路是靠網絡層

到達數據鏈路層,數據鏈路層的作用是,在這些通過傳輸介質互聯的設備之間進行數據處理,將數據轉化為0,1的形式。

到達物理層,將數據的0,1轉化為電壓和脈沖傳給B主機的地址,這個地址被稱之為MAC地址,也叫物理地址。

然后B主機拿到0,1的數據再經過層層轉變,就變為B主機應用層可讀的信息。

網絡的構成要素

第八周作業(網絡、bash腳本)

網橋/2層交換機

第八周作業(網絡、bash腳本)

路由器/3層交換機

第八周作業(網絡、bash腳本)

網關

第八周作業(網絡、bash腳本)

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

修改/etc/sysconfig/network-scripts/ifcfg-eth0,添加以下內容
                                BOOTPROTO=static
                                ONBOOT=yes
                                DNS1=10.1.1.254
                                IPADDR=10.1.1.100
                                GATEWAY=10.1.1.254
                                DNS1=10.1.1.254

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

方法一:使用ifconfig或者ip 臨時添加網絡信息,并使用route命令添加默認網關

     ifconfig IF_NAME IP_ADDR network MASK

例子:ifconfig eth0:1  192.168.0.3

       route add default gw GATEWAY
例子:route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1

方法二:使用修改/etc/sysconfig/network-scripts/ifcfg-IF_NAME文件

    ifcfg-IFACE 配置文件參數:
    DEVICE:此配置文件對應的設備的名稱;
    ONBOOT:在系統引導過程中,是否激活此接口;
    UUID:此設備的惟一標識;
    IPV6INIT:是否初始化 IPv6;
    BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有 dhcp、bootp、
    static、none;
    TYPE:接口類型,常見的有 Ethernet, Bridge;
    DNS1:第一 DNS 服務器指向;
    DNS2:備用 DNS 服務器指向;
    DOMAIN:DNS 搜索域;
    IPADDR: IP 地址;
    NETMASK:子網掩碼;CentOS 7 支持使用 PREFIX 以長度方式指明子網掩碼;
    GATEWAY:默認網關;
    USERCTL:是否允許普通用戶控制此設備;
    PEERDNS:如果 BOOTPROTO 的值為“dhcp”,是否允許 dhcp server 分配的 dns 服務器指
    向覆蓋本地手動指定的 DNS 服務器指向;默認為允許;
    HWADDR:設備的 MAC 地址;      

方法三:CentOS 7 使用nmtui命令配置網絡信息,Centos 7是setup。

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

#!/bin/bash
 echo -e "\033[34m Find the online users. Input 'Ctrl + C' to end script run.\033[0m"
                   for ip in {250..254}; do
                            trap 'echo ; echo "Secrpt stoping by user.."; echo ;exit' INT
                            ping -c 1 -w 1 "172.16.250.$ip" &>/dev/null
                            if [ $? -eq 0 ]; then
                                        echo -e "\033[32m 172.16.250.$ip online \033[0m"
                           else
                                        echo -e "\033[31m $1.$ip time out !!!\033[0m"
                           fi
                  done

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

ifcfg-IFACE 配置文件參數:
        DEVICE:此配置文件對應的設備的名稱;
        ONBOOT:在系統引導過程中,是否激活此接口;
        UUID:此設備的惟一標識;
        IPV6INIT:是否初始化 IPv6;
        BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有 dhcp、bootp、
        static、none;
        TYPE:接口類型,常見的有 Ethernet, Bridge;
        DNS1:第一 DNS 服務器指向;
        DNS2:備用 DNS 服務器指向;
        DOMAIN:DNS 搜索域;
        IPADDR: IP 地址;
        NETMASK:子網掩碼;CentOS 7 支持使用 PREFIX 以長度方式指明子網掩碼;
        GATEWAY:默認網關;
        USERCTL:是否允許普通用戶控制此設備;
        PEERDNS:如果 BOOTPROTO 的值為“dhcp”,是否允許 dhcp server 分配的 dns 服務器指
        向覆蓋本地手動指定的 DNS 服務器指向;默認為允許;
        HWADDR:設備的 MAC 地址;

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

方法一:ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0
方法二:
      CentOS 6:vim /etc/sysconfig/network-scripts/ifcfg-eth0
                添加  IPADDR1、IPADDR2...
      CentOS 7:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
                添加  IPADDR1、IPADDR2...

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

 ifconfig 
    常見用法:
        查看網卡信息:ifconfig [interface]
        查看所有網卡信息:ifconifg -a
        開啟或關閉網卡:ifconfig IFACE [up|down]
        配置網卡參數:ifconfig interface [aftype] options | address ...
        配置網卡IP地址:
            ifconfig IFACE IP/mask [up]
            ifconfig IFACE IP network MASK

 ip:顯示/配置路由,接口,策略路由和隧道
        常見用法:
             網卡添加多一個IP地址,并設置別名為eth0:0
                 ip addr IPADDR/MASK dev eth0 label 'eth0:0'
            顯示網卡設備的信息: ip addr show 
            清除IP地址信息:ip addr flush dev interface
            添加路由:ip route add TARGET via GW dev INTERFACE src SOURCE_IP
            刪除單條路由: ip route del TARGET 


 route:路由管理命令
            查看路由條目:route -n
            添加路由條目:route add
            route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] if]
            刪除路由:route del
            route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]


netstat :顯示網絡連接、路由表、接口數據統計、偽裝連接、組播成員關系
    常用選項:
                        -t : 顯示TCP協議相關已建立的連接(ESTABLISHED)
                        -u : 顯示UDP協議相關已建立的連接(ESTABLISHED)
                        -r : 顯示raw socket(裸套接字)相關已建立的連接(ESTABLISHED)
                        -l : 處于監聽狀態的連接
                        -n : 以數字顯示IP和協議端口(默認顯示協議名稱,如SSH)
                        -a : 顯示所有狀態的連接
                        -e : 擴展格式
                        -p : 顯示相關進程及PID

常用組合:
                        -tan , -uan , -tnl, -unl,-tunlp

ss:網絡狀態查看工具
常見選項:
    -t : tcp協議相關
    -u : udp協議相關
    -w : 裸套接字相關
    -x : unix sock相關
    -l : listen狀態的連接
    -a : 所有
    -n : 數字格式
    -p : 相關的程序及PID
    -e : 擴展的信息
    -m : 內存用量
    -o : 計時器信息
    常用組合:
                        -tan , -tanl , -tanlp , -uan,-tunlp

10、11題見博客

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

(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干; (2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串; (3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串; (4) 分別統計S開頭和K開頭的文件各有多少; #!/bin/bash #

        for  i in  $(ls /etc/rc.d/rc3.d/  |grep "^K");do
                echo $i.stop
                let sum1+=1
        done

        for  j in  $(ls /etc/rc.d/rc3.d/  |grep "^S");do
                echo $j.start
                let  sum2+=1
        done

        echo   "the number of "K" is  $sum1 "
        echo   "the number of "S" is $sum2 "

第八周作業(網絡、bash腳本)

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

(1) 腳本能接受用戶名作為參數; (2) 計算此些用戶的ID之和; #/bin/bash #

        if [ $# -lt 1 ];then
                echo "at least one username"
                exit 0
        fi

        for i in $*;do
                for j in $(id -u $i);do

                        let sum+=$j
                done
                echo "id.$i =  $(id -u $i) "
        done

        echo "sum=$sum"

第八周作業(網絡、bash腳本)

14、寫一個腳本

(1) 傳遞一些目錄給此腳本; (2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型; (3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型; #!/bin/bash #

    if [ $# -lt 1 ];then
            echo "at least one file"
            exit 1
    fi

    for i in $*;do
            if [ -b $j ];then
                    echo "$j is block file."
                    let sum1+=1
            elif [ -c $j ];then
                    echo "$j is character file."
                    let sum1+=1
            elif [ -d $j ];then
                    echo "$j is a directory."
                    let sum1+=1
            elif [ -f $j ];then
                    echo "$j is a common file."
                    let sum1+=1
            elif [ -L $j ];then
                    echo "$j is a symbolic link."
                    let sum1+=1
            elif [ -p $j ];then
                    echo "$j is a pipe file."
                    let sum1+=1
            elif [ -S $j ];then
                    echo "$j is a socket file."
                    let sum1+=1
            else    
                    echo "$j is unknown file."
                    let sum1+=1
            fi
    done

                    echo "$sum1"

第八周作業(網絡、bash腳本)

15-18 前面bash腳本總結過

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

(0)
N24_yeziN24_yezi
上一篇 2016-12-18
下一篇 2016-12-18

相關推薦

  • 一起學DHCP系列(二)三種途徑

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/162176 《一起學DHCP》系列第二節。      和WINS服務類似,DHCP大體上也由兩部分組成,DHC…

    Linux干貨 2015-03-25
  • 26期全程班-第六周博客作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp # vim /tmp/rc.sysinit :%s@^\([[:space:]]\+\)@#\1@g 2…

    Linux干貨 2017-03-07
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@CentOS7 ~]# fdisk /dev/sdb Command (m for help): n Select…

    Linux干貨 2016-08-22
  • LVS管理平臺使用手冊(第一版)[原創]

     為了更好管理、維護LVS平臺,本人基于Django+certmaster+func開發了一套管理平臺,主要功能模塊分為性能圖表、數據中心、虛擬IP池、主機管理、監控模塊等功能,基本上是按F5-LTM管理平臺思路來設計,下面只要對這幾大塊功能進行說明。1、性能圖表 功能說明:以小時、日、星期、月、年的圖表展示LVS SERVER、VIP、SERVE…

    Linux干貨 2015-03-28
  • Bash的基礎特性之命令執行狀態返回值和命令行展開

    Bash的基礎特性之命令的執行狀態 Linux的命令執行結果狀態有兩種,分別為:1、成功2、失敗bash使用特殊變量 $? 保存最近一條命令的執行狀態結果使用echo $? 命令來查看命令執行狀態返回值:0:成功1-255:失敗 示例:         [root@localho…

    Linux干貨 2016-11-04
  • N25 the second week

    1.文件管理命令 1.1.cat concatenate files and print on the standard output # 正序打印文件 cat [OPTION]… [FILE]… # 常用參數 -n 編號顯示每行 -E 顯示每行的結束符 1.2.tac concatenat…

    Linux干貨 2016-12-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 12:13

    贊,針對自己的理解再加上幾幅圖更能體現知識~最后一個腳本能加個使用說明會更好一點~繼續加油~

欧美性久久久久