N26 第八周作業

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

網橋(network bridge)
網橋工作于物理層與數據鏈路層,在終端設備較多的局域網中可以用網橋設備將局域網分離為不同的沖突域(collision domain),減少網絡沖突,提升網絡傳輸效率

集線器(network hub)
集線器具有多個I/O端口,一個端口的輸入信號會廣播到其他所有端口,其工作在OSI模型的物理層,目前這種設備已經很少使用,而被網絡交換機所取代

二層交換機(network switch)
采用包交換技術接收、處理、轉發數據到目標設備,與集線器不同,交換機只轉發數據到一個或多個需要接收數據在端口,工作于數據鏈路層,已是目前組網常用設備

三層交換機
合并路由功能的交換機,使用IP地址實現包轉發,工作于數據鏈路層和網絡層

路由
用于連接不同網絡并根據路由表和路由策略提供路由轉發功能工作于網絡層

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

IP地址主要分為ABC三類網絡
A類網絡,網絡位8位,主機位24位,起始地址0.0.0.0 結束地址 127.255.255.255
B類網絡,網絡位16位,主機位16位,起始地址128.0.0.0 結束地址 191.255.255.255
C類網絡,網絡位24位,主機位8位,起始地址192.0.0.0 結束地址 223.255.255.255

私網地址
A類網絡,包含1個私網地址 起始地址10.0.0.0 結束地址10.255.255.255
B類網絡,包含16個私網地址 起始地址172.16.0.0 結束地址17.31.255.255
C類網絡,包含256個私網地址 起始地址192.168.0.0 結束地址192.168.255.255

子網掩碼
用于與IP地址進行計算得到網絡地址,以確定通信目標主機與源主機是否位于同一網絡
其表示形式有點分十進制和網絡位長形式
示例:C類網絡主機地址192.168.0.10,其子網掩碼可以表示為255.255.255.0或192.168.0.0/24

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

TCP/IP模型分為四層

  • 應用層(Application layer)

  • 傳輸層(Transport layer)

  • 因特網層(Internet layer)

  • 鏈路層(Link layer)

OSI模型分為七層

  • 應用層(Application layer)

  • 表示層(Prsentation layer)

  • 會話層(Session layer)

  • 傳輸層(Transport layer)

  • 網絡層(Network layer)

  • 數據鏈路層(Data link layer)

  • 物理層(Physical layer)

物理層

定義數據連接的物理與電氣規范,定義設備與物理傳輸介質(銅線、光纖、無線電)之間的關系,包括針腳、電壓、阻抗、線纜規范、信號持續時間等特性,負責傳輸無結構在數據,傳輸模式有半雙工和全雙工,定義網絡拓撲,這個層次不會涉及協議,網卡,中繼器,集線器,調制解調器,光電轉換器是這一層的常見設備

數據鏈路層

負責直連設備節點之間的數據傳輸及傳輸過程中物理層錯誤檢查與流控,以數據幀為傳輸單元,根據MAC地址確定目標設備,這一層常見設備主要是交換機

網絡層

根據路由表和路由協議選擇傳輸路徑,傳輸過程可能需要將數據分片,這一層的設備主要有路由器,三層交換機

傳輸層

在發送端負責切分應用層數據并創建數據包,接收端重組數據包,通過流控,錯誤控制,盡量保證數據可靠性,有些傳輸層協議面向連接,可以提供錯包重傳與傳輸成功確認機制。

會話層

負責建立、管理、結束本機與遠程主機之間的連接

表示層

完成數據的格式化與加密等功能

應用層

負責標識通信伙伴,決定資源可用性,與同步通訊

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

通過設定網卡的IP地址、子網掩碼、網關、DNS服務器可以將Linux主機接入網絡
(1)新加的網卡,沒有配置文件,從dhcp獲取IP
  dhclient eth1
(2)新加網卡,沒有配置文件,命令設置IP、子網掩碼、網關
  # 設置ip
  ifconfig eth1 192.168.35.130 netmask 255.255.255.0
  # 設置網關
  route add default gw 192.168.35.2

(3)新加網卡,沒有配置文件,命令設置IP、子網掩碼、網關
 # 設置ip
 ip address add 192.168.35.130/24 dev eth1
 # 設置網關
 ip route add default via 192.168.35.2
(4)配置文件 (靜態地址)
 # DEVICE=eth1
   IPADDR=192.168.35.130
   NETMASK=255.255.255.0
   GATEWAY=293.168.35.2
   ONBOOT=yes
(5)配置文件(動態獲取IP)
   DEVICE=eth1
   BOOTPROTO=dhcp

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

1、編輯配置文件并重啟網絡服務(重啟系統有效)
2、命令設置(重啟后無效,需要重新配置)

配置文件路徑
/etc/sysconfig/network-scripts/ifcfg-<interface-name>
NAME=eth1 友好名稱
BOOTPROTO=none|bootp|dhcp (none指定靜態ip,bootp、dhcp指定動態獲取ip)
ONBOOT=yes|no 系統引導時是否啟用網卡
IPADDR=192.168.35.140 ip地址
GATEWAY=192.168.35.2 網關
PREFIX=24 網絡位長度


有三組命令可以配置網絡
(1) ifconfig 設置 IP
    route 設置路由
(2) ip address 設置 IP
    ip route 設置路由
(3) nmcli 命令
    同時設置ip和路由
    ~]# nmcli c modify eth1 ipv4.address 192.168.35.140/24 ipv4.gateway 192.168.35.2
    設置動態獲取ip
    ~]# nmcli c modify eth1 ipv4.method auto
    設置靜態ip
    ~]# nmcli c modify eth1 ipv4.method manual
(4) 通過界面設置
  nmtui

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

#!/bin/bash

ip="192.168.0."
for i in {100..105};do
        ping -c 1 -n -W 1 "$ip$i">/dev/null
        if [ $? -eq 0 ]; then
                echo -e "\033[32m $ip$i is online \033[0m"
        else
                echo -e "\033[31m $ip$i is offline \033[0m"
        fi
done

N26 第八周作業

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

NAME=網卡友好名稱
IPADDR=IPV4地址
GATEWAY=網關
BOOTPROTO=none|dhcp|bootp
PREFIX=網絡位長度
NETMASK=子網掩碼
DEVICE=物理設備名
ONBOOT=yes|no 系統引導時是否啟用網卡
MTU=最大傳輸單元
PEERDNS=yes|no 是否允許修改DNS文件 /etc/resolv.conf
DNS1=DNS1的ip地址
DNS2=DNS2的ip地址
HWADDR=MAC地址
MACADDR=指定MAC地址
IPV4_FAILURE_FATAL=yes|no 當設置yes時,如果dhclient失敗,ifup立即結束

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

 ~]# nmcli c modify eth1 +ipv4.address 192.168.35.132/24 網卡從啟后生效
 ~]# nmcli c up eth1
 ~]# nmcli d show eno33554984

 ~]# nmcli c modify eth1 -ipv4.address 3 刪除ip地址 索引從0開始

(2) 使用ifconfig命令
設置或修改ip
~]# ifconfig eth1 192.168.35.138/24


添加多個ip
~]# ifconfig eno33554984:2 192.168.35.143 netmask 255.255.255.0

刪除ip
~]# ifconfig eno33554984:2 down
(3) 使用ip命令

添加ip時指定label 以便ifconfig 命令可以識別
~]# ip addr add 192.168.35.142 broadcast 192.168.35.255 label eno33554984:0 dev eno33554984
刪除ip
~]# ip addr del 192.168.35.150/32 dev eth1

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

  •   ifconfig route netstat
  •   ip ss
  •   nmcli
  •   nutui

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

使用rpm命令和yum命令
yum


查看yum源
yum repolist
安裝程序包
yum -y install httpd
刪除程序包
yum remove httpd-tools
查看程序包
yum info httpd
檢查是否有升級程序包
yum check-update httpd-tools
升級程序包
yum update httpd-tools
列舉程序包組
yum grouplist
yum group list hidden
查看包組信息
groupinfo "Basic Web Server"
安裝包組
yum groupinstall "web-server"
刪除包組
yum group remove web-server


rpm


查看程序包版本
rpm -q httpd
卸載程序包
rpm -e keepalived
安裝程序包
rpm -ivh keepalived-1.2.13-8.el7.x86_64.rpm
查看程序包安裝過程生成的文件
rpm -ql keepalived
查看指定文件屬于哪個程序包
rpm -qf /usr/sbin/keepalived
查看未安裝包的配置文件
rpm -qpc keepalived-1.2.13-8.el7.x86_64.rpm
查看程序包配置文件
rpm -qc keepalived
查看程序包幫助文檔
rpm -qd bash

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

# 掛載光盤
[root@localhost ~]# mount /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
# 創建配置文件
vim /etc/yum.repos.d/cdrom.repo

[BaseCdRom]
name=Base from cd-rom
baseurl=file:///media/cdrom
gpgcheck=1
# 列出啟用的yum倉庫
[root@localhost ~]# yum repolist

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

#!/bin/bash
_listk() {
  local files=($1/[kK]*)
  local i
  local -i j=0;
  for i in ${files[@]};do
    let j++
    echo ${i}_STOP
  done
  return $j
}
_lists() {
  local files=($1/[sS]*)
  local i
  local -i j=0
  for i in ${files[@]};do
    echo ${i}_START
    let j++
  done
  return $j;
}
declare -i kn=0
declare -i sn=0;
for i in $@;do
  echo $i;
  _listk $i ;
  kn+=$?;
  _lists $i $sn;
  sn+=$?
done
echo The number of files begin with 'k' is $kn
echo The number of files begin with 's' is $sn

圖片.png

13、寫一個腳本,完成以下功能
   (1) 腳本能接受用戶名作為參數;
   (2) 計算此些用戶的ID之和;

#!/bin/bash
if [ $# -eq 0 ]; then
        echo "Please give one or more username as argument(s)" && exit 2
fi
param=$@
declare -a a_uid
str="(^${param// /\>)|(^}\>)"
a_uid=($(cat /etc/passwd | grep -E "$str" | cut -d: -f3))
declare -i sum=0;
for i in ${a_uid[@]};do
        echo $i
        sum+=$i
done
echo "The sum is $sum"

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

#!/bin/bash
function _ls_ftype {
  files=($(ls $1))

  for f in ${files[@]};do
    _ftype $1/$f
  done
  return ${#files[@]}
}
_ftype(){
  if [ -b $1 ]; then
    echo "$1 is block file"
  elif [ -c $1 ]; then
    echo "$1 is character file"
  elif [ -f $1 ]; then
    echo "$1 is regular file"
  elif [ -p $1 ]; then
    echo "$! is named pipe"
  elif [ -d $1 ]; then
    echo "$1 is a directory"
  elif [ -S $1 ]; then
    echo "$1 is socket"
  elif [ -h $1 ]; then
    echo "$1 is symbolic link"
  else
    echo "$1 unknow"
  fi
}
declare -i num=0;
for i in $@;do
  _ls_ftype $i
  num+=$?
done
echo "Total $# directory, $num filetype displayed"

15、寫一個腳本
  通過命令行傳遞一個參數給腳本,參數為用戶名
  如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

#!/bin/bash
declare -i uid_min=$(cat /etc/login.defs | grep -i "^uid_min" | grep -o "[0-9]\+$")
if [ $# -lt 1 ]; then
    echo "Usage: $(basename $0) username" && exit 2
fi
declare -i user_id=$(cat /etc/passwd | grep "^$1\>" | cut -d: -f3)
if [ $user_id -eq 0 ];then
    echo "User $1($user_id) is omnipotent administrative user"
elif [ $user_id -ge $uid_min ]; then
    echo "User $1($user_id) is ordinary user"
else
    echo "User $1($user_id) is system user"
fi

16、寫一個腳本
   (1) 添加10用戶user1-user10;密碼同用戶名;
   (2) 用戶不存在時才添加;存在時則跳過;
   (3) 最后顯示本次共添加了多少用戶;

#!/bin/bash
declare -i k=0;
for i in {1..10};do
  id "user$i" &> /dev/null
  if [ $? -ne 0 ]; then
    useradd "user$i" && echo "user$i" | passwd –stdin user$i > /dev/null  && let k++
  fi
done

圖片.png

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

#!/bin/bash

ip="192.168.0."
for i in {100..105};do
        ping -c 1 -n -W 1 "$ip$i">/dev/null
        if [ $? -eq 0 ]; then
                echo -e "$ip$i is online"
        fi
done

N26 第八周作業

18、打印九九乘法表;

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

圖片.png

原創文章,作者:和風細雨,如若轉載,請注明出處:http://www.www58058.com/68113

(0)
和風細雨和風細雨
上一篇 2017-02-25
下一篇 2017-02-25

相關推薦

  • Kickstart

    1、安裝所需軟件包? yum -y install createrepo mkisofs isomd5sum 上傳centos6.9原始鏡像內容 mkdir /mnt/centos?? 創建掛載目錄 mount -o loop centos6.9 /mnt/centos?? 上傳centos6.9鏡像并且掛載至centos目錄 mkdir /tmp/iso?…

    2018-03-26
  • linux計劃任務

    任務計劃的分類: 一次性的任務計劃:只執行一次 周期性的任務計劃:每隔一定的周期去做相同的事情 設置任務計劃功能的工具:at和crontab at:專門處理一次性的計劃任務 crontab:根據定義的周期信息,循環做一些事情 batch:系統自行選擇空閑時間去執行此處指定的任務 At命令: 查看atd狀態和啟動atd服務及其配置文件路徑: centos6:s…

    2017-09-09
  • Linux之高級文件系統管理

      Linux之高級文件系統管理       Linux高級文件系統管理包括以下內容   一, 磁盤配額quota管理二, 磁盤陣列RAID管理三, 邏輯磁盤LVM管理四, 磁盤LVM快照管理五, Btrfs文件系統管理         配置磁盤配額系統 在內核中執行以…

    Linux干貨 2016-09-02
  • 腳本進階筆記整理

    一、邏輯運算 變量:   本地變量、環境變量、局部變量、位置參數變量、特殊變量   變量賦值:name=value,export name=value,declare -x name=value   變量引用:$name,${name}   注意:有些時候{}不能省略,例如 &n…

    Linux干貨 2017-03-26
  • N25-第六周作業

    第6周作業 — 請詳細總結vim編輯器的使用并完成以下練習題 vim是模式化的全屏文本編輯器。vim分為三種模式:分別是編輯模式;輸入模式;末行模式; 打開文件的方式有:vim +# FILE打開文件FILE并把光標定位到#行的行首;vim +/PATTERN FILE打開文件并讓光標處于第一個被PATTERN匹配到的行的行首。(支持正則表達式)…

    Linux干貨 2017-02-22
  • 8月5日文本處理工具作業

    分析文本工具相關練習題 1 、找出ifconfig 命令結果中本機的所有IPv4 地址       ~]# ifconfig|tr -cs '[0-9].' '\n'|sort -ut '.…

    Linux干貨 2016-08-06

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-06 19:58

    寫的很是不錯呢

欧美性久久久久