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 15:44
下一篇 2017-02-25 21:46

相關推薦

  • Mariadb數據庫復制系列(一):主從復制

      實驗一:MySQL主從復制的實現 1、實驗環境 確保各節點之間的時間同步 2、修改主節點的mysql服務配置文件,讓其符合主從架構中主節點的要求 3、查看主節點現有數據情況和二進制日志使用情況 4、對主節點的數據利用xtrabackup進行完全備份 由于兩個從節點是后期加入,故采取備份主節點的數據,還原到從節點上,然后讓從節點從備份時刻的二進制日志的位置…

    2016-11-24
  • Linux不同發行版之間的聯系與區別

    Linux發行版有商業版、社區版兩類。兩者的共同點都是GNU/Linux發行版,區別在于商業版是由商業公司維護,社區版是社區組織維護。由于linux發行版都要遵循GPL協定,任何人都有使用、共享、修改軟件源代碼的自由,所以商業版的收入主要來自向企業提供支持服務,它的軟件基本都是免費的。

    Linux干貨 2018-03-04
  • Linux發行版之間的聯系與區別及其哲學思想。

    一、Linux發行版之間的聯系與區別。 隨著Linux不斷發展,Linux所支持的文件系統類型也在迅速擴充。很多的數據中心服務器上都運行著Linux,可以節省大量的許可證費用及維護費用。但伴隨著Linux新版本的發行,其中每一個不同版本的Linux所支持的文件系統類型都有所不同。Linux的發行版有數百種之多。 1、Debian:是指一個致力于創建自由操作系…

    Linux干貨 2016-10-30
  • Linux文件系統管理

    一、什么是文件系統     我理解的文件系統就是管理磁盤分區上數據的索引信息,其實文件系統就是一種應用程序,只不過是用來維護和管理分區上的數據而已,就跟操作系統是用來管理底層硬件一樣。不同的分區可以有不同的文件系統。 二、文件系統類型     在linux系統上主要有如下類型的文件系統: &nbsp…

    Linux干貨 2016-03-03
  • 程序包管理rpm&yum&編譯安裝

    centos6.6程序包管理 二進制應用程序的組成部分: 二進制文件,庫文件,配置文件和幫助文件 程序包管理器:rpm rpm包管理器的前端工具:yum 程序包之間存在依賴關系 rpm的命名方式: name_VERSION_release.arch.rpm     VERSION: major.minor.r…

    Linux干貨 2016-07-07
  • N22- 第五周

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost Packages]# grep -E "^(root|fedora|user1\>)" /etc/passwd | cut -d: -f…

    Linux干貨 2016-11-21

評論列表(1條)

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

    寫的很是不錯呢

欧美性久久久久