馬哥教育網絡班21期+第8周課程練習

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

網橋:橋接器,是連接兩個局域網的一種存儲/轉發設備,它能將一個大的LAN分割為多個網段,或將兩個以上的LAN互聯為一個邏輯LAN,使LAN上的所有用戶都可訪問服務器
集線器:集線器的英文稱為“Hub”.集線器(hub)屬于純硬件網絡底層設備,基本上不具有類似于交換機的"智能記憶"能力和"學習"能力,大多數的時候它用在星型與樹型網絡拓撲結構中
二層交換機:二層交換機工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。主要應用于底層子網絡中,即接入層中
三層交換機:三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。在企業網中,一般會將三層交換機用在網絡的核心層,用三層交換機上的千兆端口或百兆端口連接不同的子網或VLAN。
路由器:路由器(Router)又稱網關設備(Gateway)是用于連接多個邏輯上分開的網絡,所謂邏輯網絡是代表一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另一個子網時,可通過路由器的路由功能來完成。路由器(Router),是連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號。

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

IP地址根據網絡ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址
子網掩碼的表示形式
1. 通常的表示方式,如:255.255.255.0
2. 192.168.100.0/24
* 表示子網掩碼是24位,子網掩碼為:255.255.255.0
子網掩碼的作用
它的主要作用有兩個,一是用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。二是用于將一個大的IP網絡劃分為若干小的子網絡

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

OSI七層參考模型:物理層,鏈路層,網絡層,傳輸層,回話層,表示層,應用層
應用層 提供為應用軟件而設的界面,以設置與另一應用軟件之間的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
表示層 把數據轉換為能與接收者的系統格式兼容并適合傳輸的格式。
會話層 負責在數據傳輸中設置和維護電腦網絡中兩臺電腦之間的通信連接。
傳輸層 把傳輸表頭(TH)加至數據以形成數據包。傳輸表頭包含了所使用的協議等發送信息。例如:傳輸控制協議義(TCP) 等。
網絡層   決定數據的路徑選擇和轉寄,將網絡表頭(NH)加至數據包,以形成分組。網絡表頭包含了網絡數據。例如:互聯網協議(IP) 等
數據鏈接路層 負責網絡尋址、錯誤偵測和改錯。當表頭和表尾被加至數據包時,會形成了幀。數據鏈表頭(DLH)是包含了物理地址和錯誤偵測及改錯的方法。數據鏈表尾(DLT)是一串指示數據包末端的字符串。例如以太網、無線局域網(Wi-Fi)和通用分組無線服務(GPRS)等。
物理層 在局部局域網上傳送幀,它負責管理電腦通信設備和網絡媒體之間的互通。包括了針腳、電壓、線纜規范、集線器、中繼器、網卡、主機適配器等。

TCP/IP4層參考模型:網絡接口層,互聯層,傳輸層,應用層
應用層 提供為應用軟件而設的界面,以設置與另一應用軟件之間的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。表示層 把數據轉換為能與接收者的系統格式兼容并適合傳輸的格式。會話層 負責在數據傳輸中設置和維護電腦網絡中兩臺電腦之間的通信連接。
傳輸層 把傳輸表頭(TH)加至數據以形成數據包。傳輸表頭包含了所使用的協議等發送信息。例如:傳輸控制協議義(TCP) 等

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

1)編輯文件/etc/sysconfig/network-scripts/ifcfg-eth0-->添加IP,網關,掩碼,DNS1,設置地址分配為靜態
2)編輯文件/etc/hosts-->修改hostname
3)編輯文件/etc/resolv.conf-->修改nameserver,如果在ifcfg-eth0中設置就可以不用設置了
4)重新啟動網絡服務--->service network restart 或systemctl restart network
5)測試網絡是否可以正常通訊

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

ifconfig命令:
	ifconfig [interface]
		#ifconfig -a
		#ifconfig IFACE [up|down]

    ifconfig interface [aftype] options | address ..
    	#ifconfig IFACE IP/mask [up]
    	#ifconfig IFACE IP netmask MASK

    	注意:立即生效:(無法永久有效)
		啟用混雜模式:[-]promisc
ip命令:		
	ip link -network device configure
		set 
		show
			[dev IFACE]:指定接口
			[up]:僅顯示處于激活狀態的接口

	ip address - protocol address management.
		ip addr { add | del } IFADDR dev STRING
			[ label LABEL ] :添加地址時指明網卡別名
			[scope{global|link|host}]:指明作用域
			global:全局可用
			link:僅鏈接可用
			host:僅本機可用
	 		[broadcast ADDRESS]:指明廣播地址

	ip address show - look at protocol addresses
		[dev DEVICE]
		[label PATTERN]
		[primary adn secondary]
	ip address flush - flush protocol addresses 清空地址
		使用格式同show
				
	ip route - routing table management
		ip route add - add new route
		添加路由:ip route add TARGET via GW dev IFACE src SOURE_IP
		TARGET:
		主機路由:IP
		網絡路由:NETWORK/MASK
		添加網關:ip route add default via GW dev DEVICE
	ip route delete - delete route
		刪除路由:ip route del TARGET
	ip route show - list routes	
	ip route flush - flush routing tables
		[dev IFACE]:
		[via PREFIX]

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

 在線的主機使用綠色顯示;
 不在線的主使用紅色顯示;
#!/bin/bash
#
ip='172.16.250'

for i in {1..254};do
  ping -c 5 -w 5 $ip.$i &> /dev/null
  result=$?
  if [ $result -eq 0 ];then	
	echo -e "\033[32m"$ip.$i is up.
  else 
	echo -e "\033[31m"$ip.$i is down.
 fi
done

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

路由相關的配置文件:/etc/sysconfig/network-scripts/route-IFACE
配置當前主機的主機名:/etc/sysconfig/networkHOSTNAME=
網絡接口識別并命名相關的udev配置文件: /etc/udev/rules.d/70-persistent-net.rules

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

1) ifconfigetho IP/mask
2)  ipaddr add ip/mask device etho
3)  Linux網絡屬性配置的tui(text user interface):system-config-network-tui
4)  使用setup找到;
ip address - protocol address management.
		ip addr { add | del } IFADDR dev STRING
			[ label LABEL ] :添加地址時指明網卡別名
			[scope{global|link|host}]:指明作用域
			global:全局可用
			link:僅鏈接可用
			host:僅本機可用
	 		[broadcast ADDRESS]:指明廣播地址

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

netstat: 
1、查看網絡連接netstat –ltan 
2、查看路由netstat –r 
3、顯示網絡接口netstat–i
route:
查看路由route -n  
添加:routeadd:route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
ip linkset  dev IFACE up /down 激活或禁用指定接口
ipaddr { add | del } IFADDR dev IFACE
ip route add  添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
ss命令:(相當于netstat ,但在非常繁忙狀態下,是netstat是幾倍速度)
      格式:ss [options] [ FILTER ]
        選項:
          -t:tcp協議相關
          -u:udp協議相關
          -w:裸套接字相關
          -x:unix sock相關
          -l:listen狀態的連接
          -a:所有
          -n:數字格式
          -p:相關的程序及PID
          -e擴展的信息
          -m:內存用量
          -o:計時器信息

          FILTER := [ state TCP-STATE ] [ EXPRESSION ]

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

rpm命令實現程序管理:
    安裝: -ivh,--nodeps,--replacepkgs
    卸載:-e,--nodeps
    升級:-Uvh,-Fvh,--nodeps,--oldepackage
    查詢: -q,qa,-qf,-qi,-qd,-qc,-q --scripts,-q --changlog,-q --provides,-q --requires
    校驗:-V

    導入GPG密鑰:--import,-K,--nodigest,--nosignature
    數據庫重:--initdb,--rebuilddb

YUM命令實現程序管理:
  顯示倉庫的列表:
    repolist [all|enable|disabled]

  顯示程序包:
    list
      # yum list [all | glob_exp] [glob_exp2][...]
      #yum list {available | installed | updates}[glob_exp][...]

  安裝程序包
    yum install package1 [package2] [...]

      reinstall package1 [package2] [...](重新安裝)

  升級程序包:
     update [package1] [package2] [...]
      升級軟件包的同時也升級軟件和系統內核 

     downgrade package1 [package2] [...](降級)
     upgrade [package1] [package2] [...]
      只升級軟件包,不升級軟件和系統內核
    

  檢查可用升級:
    check-update

  卸載程序包:
    remove | erase package1 [package2] [...]

  查看程序包infomation:
    info[...]

  查看指定的特性(可以查看某文件)是由哪個程序包所提供:
    provides | whatprovides feature1 [feature2] [...]

  清理本地緩存:
    clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

  構建緩存: 
    makecache

  搜索
     search string1 [string2] [...]

     以指定的關鍵字搜索程序包名及summary 信息

  查看指定包所依賴的Capabilities:
     deplist package1 [package2] [...]

  查看yum事務歷史:
     history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll-back|new|sync|stats]

  安裝及升級本地程序包:

  *localinstall rpmfile1 [rpmfile2] [...]
       (maintained for legacy reasons only - use install)
    *localupdate rpmfile1 [rpmfile2] [...]
       (maintained for legacy reasons only - use update)

  包組管理的相關命令:
     * groupinstall group1 [group2] [...]
       * groupupdate group1 [group2] [...]
         * grouplist [hidden] [groupwildcard] [...]
         * groupremove group1 [group2] [...]          
         * groupinfo group1 [...]

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

(1)掛載光盤至某目錄,例如/media/cdrom
      #mount -r -t iso9660 /dev/cdrom /media/cdrom
(2) 創建配置文件
      #vim /etc/yum.repos.d/CentOS-Media.repo
      [CentOS7]
      name=CentOS-$releasever - Media
      baseurl=file:///放Packages
      gpgcheck=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 stotal=0
declare -i ktotal=0
for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do
  echo "$i start"
  let stotal++
done
for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do
  echo "$i stop"
  let ktotal++
done
echo "K file is $ktotal"
echo "S file is $stotal"

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

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

#!/bin/bash
#
declare -i idsum=0
if [ $# -le 0 ];then
  echo "Userage:bash.sh user1 user2 ..."
  exit 1
fi
for i in $*;do
  if id $i &> /dev/null;then
    idnum=`grep "$i" /etc/passwd | cut -d: -f3`
    idsum+=$idnum
  else
    echo "No exist $i "
  fi
done
echo "IDtotal is $idsum"

14、寫一個腳本

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

#!/bin/bash
#
declare -i foder=0
declare -i file=0
declare -i cfile=0
declare -i lfile=0
declare -i bfile=0

if [ $# -lt 1 ];then
  echo "Useage:bash.sh file1 file2 ..."
  exit 1 
else
for j in $*;do
  if [ -f $j ];then
    echo "This file is file"
    exit 1
  else
    for i in `ls $j`;do
        cd $j
        if [ -f $i ];then
          echo -e "\033[31m"$i is file.
          let file++
        elif [ -d $i ];then
          echo -e "\033[32m"$i is foder.
          let foder++
        elif [ -c $i ];then
          echo "$i is string file."
          let cfile++
        elif [ -L $i ];then
          echo "$i is link file."
          let lfile++
        elif [ -b $i ];then
          echo "$i is block file."
          let bfile++
        else
          echo "Unknow file."
          exit 2
        fi
    done
    
  fi
done
fi
echo "file total:$file"
echo "link file total:$lfile"
echo "String file total:$cfile"
echo "block file total:$bfile"
echo "foder file total:$foder"

15、寫一個腳本

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

#!/bin/bash
#
if [ $# -lt 1 ];then
  echo "Userage:bash.sh user1 user2 ..."
  exit 1
fi
for i in $*;do
  if id $i &> /dev/null;then
    idnum=`grep "$i" /etc/passwd | cut -d: -f3`
    if [ $idnum -gt 500 ];then
       echo "$i user is ordinary user."
    else
         echo "$i is system user."
    fi
  else
    echo "No exist $i "
  fi
done

16、寫一個腳本

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

#!/bin/bash
#
declare -i total=0
for i in {1..10};do
	if id user$i &> /dev/null;then
		echo "user$i has exist."
	else
		useradd user$i
		[ $? -eq 0 ] && echo "user$i" | passwd --stdin user$i &> /dev/null
	echo "Add user$i finish."
	total+=1	
	fi
done
echo "Add $total uesrs success!"

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

ip='172.16.250'
uphost=0
for i in {1..254};do
  ping -c 5 -w 5 $ip.$i &> /dev/null
  result=$?
  if [ $result -eq 0 ];then	
	echo -e "\033[32m"$ip.$i is up.
	let uphost++
 fi
done	
echo "uphost is $uphost"

18、打印九九乘法表;

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

   

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

(0)
Net21_LionNet21_Lion
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • 8.1作業

    創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為“Gentoo Distribution” [root@localhost wang]# useradd -G bin,root -s /bin/csh -c "Gentoo&n…

    Linux干貨 2016-08-02
  • 磁盤管理、文件管理、系統管理

    分區管理工具:fdisk,parted,sfdisk fdisk:MBR模式,對于一塊硬盤來說,最多只能管理15個分區; # fdisk -l [-u] [device…]:查看 # fdisk device 子命令:管理功能 p:顯示已有分區 n:新建分區 d:刪除 w:寫入磁盤并退出 q:放棄更改并退出 m:獲取幫助 l:列出分區id t:調…

    Linux干貨 2017-12-15
  • Linux文件系統權限詳解

    一、綜述 在用戶和組的管理中介紹了Linux系統是用戶多任務的分時操作系統,這意味著同時可以有多人在同一臺pc上進行不同的操作。為了能夠保護每個用戶的數據安全,針對不同的用戶設置相應的權限是非常重要的。 Linux文件系統權限主要針對三類用戶: 文件的所有者: owner,用u標識 文件的所有組:group,用g標識 其他人: other,用o標識。不包含在…

    Linux干貨 2016-08-04
  • ?SELinux

    ?SELinux 概述 SELinux(Secure Enhanced Linux)是美國國家安全局(NSA)和SCC開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發布,Linux內核2.6版本后集成在內核中。它能夠限制權限,進程只能訪問那些在他的任務中所需要文件。 Selinux是根據最小權限模型去限制進程在對象(如文件,目錄,端…

    Linux干貨 2016-09-18
  • N24 第三周 磁盤及文件系統管理

    Linux系統管理          磁盤分區及文件系統管理          RAID          LVM 動態磁盤設備管理          網絡屬性…

    Linux干貨 2016-11-22
  • HTTP

    使用CentOS 7和CentOS 6實現以下任務 配置四個基于名稱的虛擬主機;discuzXwordpressdrupal1.在conf.d下新建并編輯虛擬主機配置文件]# cd /etc/httpd/conf.d/]# vim vhost.confcentos6配置   [root@ _93_ conf.d]#&n…

    Linux干貨 2016-10-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 13:24

    如果有一兩個輸出結果的示例,可能更吸引人哦

欧美性久久久久