馬哥教育網絡班21期-第八周課程練習

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

設備 使用場景 功能 區別
集線器 局域網 共享同一網絡 不能分隔沖突域
網橋 局域網 連接不同網段,拓展局域網 端口少,可以分隔沖突域
二層交換機 局域網 連接不同局域網段,數據交換 端口更多,可以分隔沖突域,速率更快
三層交換機 局域網,廣域網 路由,高速數據交換,分隔廣播域 轉發數據速度快,路由功能較路由器弱
路由器 廣域網 路由轉發,分隔廣播域 轉發數據比三層交換機速度慢,主要用于路由

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

類別 范圍 子網掩碼
A 1~126 255.0.0.0
B 128~191 255.255.0.0
C 191~223 255.255.255.0
D 224~239
E 240~254

子網掩碼作用:用來區分網絡地址和主機地址

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

OSI模型 名稱 功能 設備 TCP/IP模型 名稱
第一層 物理層 定義物理設備通信的電氣特性 集線器 第一層 物理層
第二層 數據鏈路層 物理地址尋址,流量控制,數據校驗 網橋,交換機 第二層 數據鏈路層
第三層 網絡層 路由選擇 路由器、三層交換機 第三層 網絡層
第四層 傳輸層 端到端通信、差錯控制、流量控制 第四層 傳輸層
第五層 會話層 管理進程間通信 第五層 應用層
第六層 表示層 數據格式化、數據加密,代碼轉換
第七層 應用層 為操作系統或應用程序提供網絡服務接口

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

 修改對應網卡配置文件

  [root@jumper ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0  #修改并添加以下選項

    ONBOOT=yes

    BOOTPROTO=none

    IPADDR=10.4.0.61

    NETMASK=255.255.255.0

    GATEWAY=10.4.0.10

    DNS=8.8.8.8

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

 a.修改配置文件方式(永久有效)

   vim 修改/etc/sysconfig/network-scripts/ifcfg-ethX,并保存

 b.命令行方式(當前有效)

   使用 ip,route命令指定ip地址,默認網關

 c.圖形界面方式

   使用 setup 命令進入tui界面配置,或者是 system-config-network-tui

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

     在線的主機使用綠色顯示;

     不在線的主使用紅色顯示;

#!/bin/bash
#
server='172.16.250.'

for num in {1..254};do
 if ping -c 1 -w 1 $server$num &> /dev/null ;then
    echo -e "\t\033[32m$server$num online\033[0m"
 else
    echo -e "\t\033[31m$server$num offline\033[0m"
 fi
done

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

DEVICE=eth0    #設備名

HWADDR=00:50:56:80:7C:4A    #設備物理MAC地址

TYPE=Ethernet    #設備類型

UUID=2c6e71ce-5562-46b2-a7a7-a4a27f2e226a    #通用惟一標識符

ONBOOT=yes    #開機啟動

NM_CONTROLLED=yes    #該設備是否接受 network manager 控制

BOOTPROTO=none    #啟動此設備時的地址匹配協議

IPADDR=10.4.0.60    #ipv4地址

NETMASK=255.255.255.0    #子網掩碼

GATEWAY=10.4.0.10    #默認網關

DNS=8.8.8.8    #域名解析服務器地址

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

 a、[root@server ~]# ifconfig lo:1 192.168.1.1/24 up  #使用 ifconfig 查看配置結果

 b、[root@server ~]# ip addr add 192.168.1.1/24 dev lo  #使用 ip addr show lo 查看配置結果

 c、新建/etc/sysconfig/network-scripts/ifcfg-ethX:X 文件

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

 1)ifconfig #查看所有網絡接口信息

  ifconfig 網卡名 ip地址/子網掩碼 #配置網卡ip,立即生效

 2)route #打印路由表

  route add|del 目標主機或ip地址 #添加/刪除對應主機/ip路由條目

 3)netstat #顯示網絡連接、路由表、接口統計、偽裝的連接,和組播成員

  netstat -tnlp #以數字形式顯示正在監聽的tcp協議相關進程

  netstat -unlp #以數字形式顯示正在監聽的udp協議相關進程

   -n:以數字格式顯示ip及端口

   -t:tcp協議相關

   -l:處于監聽狀態

   -P:顯示相關的進程和PID

  

 4)ss #顯示網絡連接狀態,速度較netstat快

  ss -tnlp #以數字格式顯示tcp協議套接字

  ss -unlp #以數字形式顯示正在監聽的udp協議相關進程

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

 1)使用rpm工具管理(本地包組管理,無需網絡,需要rpm本地包,手動解決依賴關系)

    查詢 rpm -q package …

    安裝 rpm -i package …

    升級 rpm -U package …

    卸載 rpm -e package …

 2)使用yum工具管理(若無本地源,則必須要連接互聯網,無需本地包,安裝時自動解決依賴關系)

    查詢 yum list …

    安裝 yum install package …

    升級 yum upgrate package …

    卸載 yum remove package …

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

 1)掛載光盤 #mount -r -t iso9660 /dev/cdrom /media/cdrom

 2)編輯repo文件 #vim /etc/yum.repos.d/test.repo 

    [test-cent6]

    name=local_repo

    baseurl=file:///media/cdrom

    gpgcheck=1

    enabled=1

 3)檢查結果 #yum repolist

  

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

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

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

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

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

#!/bin/bash
#
declare -i k=0
declare -i s=0
dir_name="/etc/rc.d/rc3.d/"

for list in $(ls $dir_name);do
  if echo $list | grep ^K &> /dev/null;then
    echo "$list stop"
    let k++
  else
    echo "$list start"
    let s++
  fi
done
echo "kfile $k"
echo "sfile $s"

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

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

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

#!/bin/bash
#
declare -i sum=0

if [ $# -eq 0 ];then
  echo "Usage: $0 User_name ..."
  exit
fi
for list in $*;do
  if id $list &> /dev/null;then
    user_id=$(id -u $list)
    let sum+=$user_id
  else
   echo  "$list is not exist"
  fi
done
echo "id total is $sum"

14、寫一個腳本

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

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

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

#!/bin/bash
#
declare -i dir_sum=0
declare -i file_sum=0

if [ $# -eq 0 ];then    
  echo "Usage: $0 dir_name ..."
fi
for list in $*;do
  if [ ! -d $list ];then
    echo "$list is not a directory,pls input directory name"
    exit
  fi
done

for list1 in $*;do
  for list2 in $(ls $list1);do
    if [ -d $list1/$list2 ];then
      let dir_sum++
    elif [ -f $list1/$list2 ];then
      let file_sum++
    fi
  done
done

echo "directory $dir_sum"
echo "file $file_sum"

15、寫一個腳本

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

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

#!/bin/bash
#

if [ $# -ne 1 ];then
  echo "Usage: $0 user_name"
  exit
fi
if id $1 &> /dev/null;then
  num=$(id -u $1)
  if [ $num -gt 500 ];then
    echo "$1 is normal user"
  fi
fi

16、寫一個腳本

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

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

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

#!/bin/bash
#
declare sum=0

Judge_user () {
  if id $1 &> /dev/null;then
    echo "$1 is exist"
  else
    useradd $1
    echo $1 | passwd --stdin $1 &> /dev/null
    let sum++
  fi
}

for list in $(seq 1 10);do
  Judge_user user$list
done

echo "$sum users is add in this operation"

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

#!/bin/bash
#
server='172.16.250.'

for num in {20..100};do
 if ping -c 1 -w 1 $server$num &> /dev/null ;then
    echo -e "\t\033[32m$server$num is online\033[0m"
 fi
done

18、打印九九乘法表;

#!/bin/bash
#

for ((b=1;b<=9;b++));do
  for ((a=1;a<=$b;a++));do
    echo -n -e "${a}x$=$[$a*$b]\t"
  done
  echo
done

原創文章,作者:Net21_木頭,如若轉載,請注明出處:http://www.www58058.com/42104

(0)
Net21_木頭Net21_木頭
上一篇 2016-09-08 18:55
下一篇 2016-09-08 18:56

相關推薦

  • 控制字體顏色的輸出echo[轉載]

    http://onlyzq.blog.51cto.com/1228/546459 echo顯示帶顏色,需要使用參數-e格式如下:echo -e "\033[字背景顏色;文字顏色m字符串\033[0m"例如: echo -e "\033[41;37m TonyZhang \033[0m"其中41的位置…

    Linux干貨 2017-02-01
  • 做有高薪有逼格的運維工程師,不會Linux是沒有前途的!

    作為互聯網的幕后英雄,運維工程師長期隱匿在大眾認知范圍之外,關于運維的討論仍舊是一片無人涉足的荒漠。在某知名行業研究調查結果中,非互聯網從業者對于運維相關問題的回復有三個高頻詞匯是:不知道、沒聽過、網管。當調查人員告訴他們科幻電影中展示黑客高超技巧時的命令行界面正是大多數運維工程師每日工作環境時,他們發出極其一致的驚嘆。 相對于普羅大眾的一無所知,技術圈對運…

    2017-09-08
  • Linux哲學思想以及自己的理解

    Linux哲學思想: #1 一切接文件 #2  單一目的小程序 #3 組合小程序完成復雜任務 #4 文本文件保存配置信息 #5 盡量避免捕獲用戶接口 #6 提供機制,而非策略 自己的理解:(玩Linux時間比較短,沒什么太深刻的理解) #1 一切皆文件 我們說“Linux中一切皆文件”直觀地可以這樣理解:所有的東西,設備、內存都模擬成文件,我們可以…

    Linux干貨 2016-08-15
  • 排錯

    把/etc/inittab  模式改為6模式 怎么修復 1 先把 vim /etc/inittab 打開 2 把/etc/inittab 模式改為6 3 reboot 4 在倒計時完之前按任意鍵 5按A進入 6 在quiet  命令后面寫入 3  模式 重啟 7把 vim /etc/inittab 打開 8 把/etc…

    Linux干貨 2017-05-15
  • rpm包及rmp命令詳解

    一、軟件運行環境          ? API: Application Programming Interface              國際標準&nbs…

    Linux干貨 2016-08-22
  • Linux Sysadmin–part1

    一、創建一個10G分區,并格式為ext4文件系統; 1、要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl; 2、掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; ###創建10G分區 ~]# fdisk /dev/sdb Command (m for help): n P…

    2017-09-04
欧美性久久久久