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

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

	網橋:是連接兩個局域網的基于MAC地址數據存儲轉發設備,工作于數據鏈路層
	集線器:所有端口處于同一個廣播域和沖突域中,帶寬共享,工作于物理層
	二層交換機:多端口網橋,一個端口一個沖突域,默認所有端口位于同一個廣播域中,可以劃分vlan,隔離廣播域,帶寬獨享
	三層交換機:具有路由功能的二層交換機
	路由器:連接不同網段的設備,負責不同網段之間數據通信

	二層交換機一般用于接終端設備,三層交換機用于匯聚層,核心層,路由器用于不同網段之間數據通信

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

	IP地址分類:
		A類:
			第一段為網絡號,后三段為主機號
			網絡號:
				0 000 0000 - 0 111 1111:1-127
			網絡數量:126,127
			每個網絡中的主機數量:2^24-2
			默認子網掩碼:255.0.0.0,/8
				用于與IP地址按位進行“與”運算,從而取出其網絡地址;
					1.3.2.1/255.0.0.0 = 1.0.0.0
					1.3.2.1/255.255.0.0= 1.3.0.0	
			私網地址:10.0.0.0/255.0.0.0
		B類:
			前兩段為網絡號,后兩段為主機號
			網絡號:
				10 00 0000 - 10 11 1111:128-191
				網絡數:2^14
				每個網絡中的主機數量:2^16-2
				默認子網掩碼:255.255.0.0,/16
				私網地址:172.16.0.0-172.31.0.0								
		C類:
			前三段為網絡號,最后一段為主機號
			網絡號:
				110 0 0000 - 110 1 1111:192-223
			網絡數:2^21
			每個網絡中的主機數量:2^8-2
			默認子網掩碼:255.255.255.0,  /24
		D類:組播
			1110 0000 - 1110 1111:224-239
		E類:科研
			240-255

	子網掩碼的表示形式:
		1.通過與IP地址格式相同的點分十進制表示,如255.255.255.0
		2.在IP地址后“/”加1-32的數字,1-32的數字表示子網掩碼中網絡標識位的長度,如192.168.0.0/24

	子網掩碼的作用:
		1.用于標識IP的網絡位和主機位
		2.用于劃分子網

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

	OSI七層模型:
		物理層:為數據端設備提供原始比特流的傳輸的通路(如:集線器、網線等)
		數據鏈路層:在通信的實體間建立數據鏈路連接(如:網橋、二層交換機等)
		網絡層:為數據在結點之間傳輸創建邏輯鏈路,并分組轉發數據(如:路由器,三層交換機,防火墻)
		傳輸層:提供應用進程之間的邏輯通信(如:TCP,UDP,進程,PORT,Socket)
		會話層:建立端連接并提供訪問驗證和會話管理(如:服務器驗證用戶登錄,斷點續傳)
		表示層:提供數據格式轉換服務(如:URL加密、口令加密、圖片編解碼)
		應用層:為操作系統或網絡應用程序提供訪問網絡服務的接口(如:telnet,ftp,http,snmp)

	TCP/IP模型:
		應用層:對應于OSI模型的應用層,會話層,表示層
		傳輸層:對應于OSI模型的傳輸層
		網絡互聯層:對應于OSI模型的網絡層
		網絡接口層:對應于OSI模型的數據鏈路層和物理層

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

	[root@test ~]# ifconfig
	eth0      Link encap:Ethernet  HWaddr 00:0C:29:A2:C0:D7  
	[root@test ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
	TYPE=Ethernet
	DEVICE=eth0
	NAME="eth0"
	BOOTPROTO=none
	ONBOOT=yes
	IPADDR=X.X.X.X
	NETMASK=X.X.X.X
	GATEWAY=X.X.X.X
	DNS1=X.X.X.X
	[root@test ~]# service network restart 

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

	1.[root@test ~]# ifconfig eth0:0 192.168.3.4/24

	2.[root@test ~]# ip addr add 192.168.3.5/24 broadcast 192.168.3.1 dev eth0:0

	3.[root@test ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

	4.setup - Network configration - Device configration

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

	[root@test tmp]# vim ping.sh
	#!/bin/bash

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

	[root@test tmp]# bash ping.sh  

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

	/etc/sysconfig/network-scripts/ifcfg-IFACE:
	DEVICE:此配置文件應用到的設備
	HWADDR:對應的設備的MAC地址
	BOOTPROTO:激活此設備時使用的地址配置協議,常用的有dhcp,static,none
	NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;CentOS6建議為“no”
	ONBOOT:在系統引導時是否激活此設備
	TYPE:接口類型;常見的有Ethernet,Bridge
	UUID:設備的惟一標識
	IPADDR:指明IP地址
	NETMASK:子網掩碼
	GATEWAY:默認網關
	DNS1:第一個DNS服務器指向
	DNS2:第二個DNS服務器指向
	USERCTL:普通用戶是否可控制此設備
	PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

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

	[root@test tmp]# ifconfig eth0:2 192.168.4.4
	[root@test tmp]# ip addr add 192.168.5.5/24 dev eth0 label eth0:3

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

	ifcfg命令家族: ifconfig, route, netstat
			
	ifconfig命令:接口及地址查看和管理
		ifconfig  [INTERFACE]
			# ifconfig -a:顯示所有接口,包括inactive狀態的接口;
		
		ifconfig interface [aftype] options | address ...
			# ifconfig  IFACE  IP/MASK  [up|down]
			# ifconfig  IFACE  IP  netmask  NETMASK  
			
			options:
				[-]promisc
			
			注意:立即送往內核中的TCP/IP協議棧,并生效;
				
	route命令:路由查看及管理
	
		路由條目類型:
			主機路由:目標地址為單個IP;
			網絡路由:目標地址為IP網絡;
			默認路由:目標為任意網絡,0.0.0.0/0.0.0.0
			
		查看:
			# route  -n
		添加:
			route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]
			
				示例:route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1
				            route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  
				            route add  default  gw 192.168.10.1  
				            
		刪除:
			route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]
				
				示例: route  del  -net  10.0.0.0/8  gw 192.168.10.1
					     route  del  default
					     
	netstat命令:
		Print network connections, routing tables, interface statistics, masquerade connections, and multicast  memberships
		
		顯示路由表:netstat  -rn
			-r:顯示內核路由表
			-n:數字格式
			
		顯示網絡連接:
			netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   [--extend|-e[--extend|-e]]  [--program|-p]
				-t:TCP協議的相關連接,連接均有其狀態;FSM(Finate State Machine);
				-u:UDP相關的連接
				-w:raw socket相關的連接
				-l:處于監聽狀態的連接
				-a:所有狀態
				-n:以數字格式顯示IP和Port;
				-e:擴展格式
				-p:顯示相關的進程及PID; 
				
			常用組合:
				-tan,  -uan,  -tnl,  -unl,  -tunlp
							
			傳輸層協議:
				tcp:面向連接的協議;通信開始之前,要建立一個虛鏈路;通信完成后還要拆除連接;
				udp:無連接的協議;直接發送數據報文;
				
		顯示接口的統計數據:
			netstat    {--interfaces|-I|-i}    [iface]   [--all|-a]   [--extend|-e]   [--verbose|-v]   [--program|-p]  [--numeric|-n]
				
			所有接口:
				netstat  -i
			指定接口:
				netstat  -I<IFace>
				
	ifup/ifdown命令:
		注意:通過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并完成配置;

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

	rpm命令實現程序管理:
		安裝:-ivh, –nodeps, –replacepkgs
		卸載:-e, –nodeps
		升級:-Uvh, -Fvh, –nodeps, –oldpackage
		查詢:-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|enabled|disabled]

	顯示程序包:list
		yum list [all | glob_exp1] [glob_exp2] […]
		yum list {available|installed|updates} [glob_exp1] […]

	安裝程序包: 
		install package1 [package2] […]
		reinstall package1 [package2] […] (重新安裝)

	升級程序包:
		update [package1] [package2] […]
		downgrade package1 [package2] […] (降級)

	檢查可用升級:
		check-update

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

	查看程序包information:
		info […]

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

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

	構建緩存:
		makecache

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

	[root@centos7 /]# mount /dev/cdrom /mnt/cdrom
	[root@centos7 /]# vim /etc/yum.repos.d/cdrom.repo
	[cdrom]
	name=centos7cdrom
	baseurl=file:///mnt/cdrom
	gpgcheck=0
	enabled=1
	[root@centos7 /]# yum clean all
	[root@centos7 /]# yum makecache

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

	[root@localhost tmp]# vim rcd.sh
	#!/bin/bash

	declare -i i=0
	declare -i j=0

	for src1 in /etc/rc.d/rc3.d/K*;do
	        echo $src1
	        $src1 stop
	        let i++
	        echo $i
	done

	/etc/init.d/network restart

	for src2 in /etc/rc.d/rc3.d/S*;do
	        echo $src2
	        $src2 start
	        let j++
	        echo $j
	done

	echo "K start file total:$i"
	echo "S start file total:$j"

	[root@localhost tmp]# bash rcd.sh

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

	[root@test tmp]# vim idsum.sh

	#!/bin/bash

	for i in $*;do
	        id $i &> /dev/null
	        if [ $? -ne 0 ];then
	                echo "$i not exists"
	                exit 32
	        else
	                let idsum+=`id -u $i`
	        fi
	done
	echo "idsum:$idsum"

	[root@test tmp]# bash idsum.sh test4 test2 test3


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

    [root@test tmp]# vim filetype.sh 
	#!/bin/bash
	declare -i dfile=0
	declare -i cmnfile=0
	declare -i lfile=0
	declare -i bfile=0
	declare -i cfile=0
	declare -i sfile=0
	declare -i ufile=0

	if [ $# -lt 1 ];then
			echo "At least input a directory"
	exit 1
	fi
	
	dfile=$(ls -l "$@" |grep ^d |awk '{print $NF}'|wc -l)
	cmnfile=$(ls -l "$@" |grep ^- |awk '{print $NF}' |wc -l)
	lfile=$(ls -l "$@" |grep ^l |awk '{print $NF}' |wc -l)
	bfile=$(ls -l "$@" |grep ^b |awk '{print $NF}'|wc -l)
	cfile=$(ls -l "$@" |grep ^c |awk '{print $NF}' |wc -l)
	sfile=$(ls -l "$@" |grep ^s |awk '{print $NF}' |wc -l)
	ufile=$(ls -l "$@" |grep -v ^[-dlbcst/]|grep ^[^[:space:]] |awk '{print $NF}' |wc -l)
	
	ls -l "$@"
	echo "The directory file total: $dfile"
	echo "The common file total:$cmnfile"
	echo "The symbolic link file total:$lfile"
	echo "The block special file total:$bfile"
	echo "The character special file total:$cfile"
	echo "The socket file total:$sfile"
	echo "The unkown file total:$ufile"
	[root@test tmp]# bash filetype.sh  /dev /tmp

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

	[root@test tmp]# vim usertype.sh

	#!/bin/bash
	id $1 &> /dev/null
	if [ $? -eq 0 ];then
	        if [ `id -u $1` -ge 500 ];then
	                echo "user is regular user"
	        else
	                echo "user is a system user"
	        fi
	else
	        echo "user is not exsits"
	fi
	[root@test tmp]# bash usertype.sh test3



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

	[root@test tmp]# vim adduser.sh
	#!/bin/bash
	declare -i j=0
	for i in {1..10};do
	        id user$i &> /dev/null
	        if [ $? -ne 0 ];then
	                useradd  user$i
	                let j++
	                echo "add user$i success"
	        else
	                echo "user$i exist"
	        fi
	done
	echo "add user total:$j"

	[root@test tmp]# bash adduser.sh

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

	[root@test tmp]# vim ping2.sh
	#!/bin/bash
	ip='172.168.250'
	for i in {20..100};do
	        ping -c 3 -w 3 $ip.$i &>/dev/null
	        result=$?
	        if [ $result -eq 0 ];then
	                echo -e "\033[32m $ip.$i is up \033[0m".
	      
	        fi
	done
	[root@test tmp]# bash -x ping2.sh

18、打印九九乘法表;

	[root@test tmp]# vim math99.sh

	#!/bin/bash
	for i in {1..9};do
	        for j in $(seq 1 $i);do
	                let sum=($i * $j)
	                echo -n -e "${j}x${i}=$sum\t"
	        done
	        echo
	done
	[root@test tmp]# bash  math99.sh

原創文章,作者:N22_上海_長清,如若轉載,請注明出處:http://www.www58058.com/50521

(0)
N22_上海_長清N22_上海_長清
上一篇 2016-10-17
下一篇 2016-10-17

相關推薦

  • 馬哥教育網絡班20期+第二周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。 3、請使用命令行展開功能來完成以下練習:    (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d   …

    Linux干貨 2016-06-23
  • SElinux

    SElinux 1.介紹: SELinux: Secure Enhanced Linux,是美國國家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發布,Linux內核2.6版本后集成在內核中 …

    Linux干貨 2016-09-21
  • 第一周作業

    一、描述計算機的組成及其功能 計算機是由處運算器,控制器,儲存器,輸入輸出設備組成 運算器:執行各種計算和邏輯運算操作 控制器:完成協調和指揮整個計算機系統的操作 儲存器:暫時存儲或者長期存儲數據 輸入設備:向計算機輸入數據和信息的設備 輸出設備:計算機硬件系統的終端設備 二、按系列羅列Linux的發行版,并描述不同發行版之間的聯系和區別 Linux發行版=…

    Linux干貨 2016-12-05
  • Week5 grep和find命令及正則表達式練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell;   cat /etc/passwd  | grep -E "^\<root\>|^\<fedora\>|^\<\user1\>" |&nb…

    Linux干貨 2017-02-14
  • Linux之sed的使用

    sed的工作原理         sed是一種流編輯器以行為單位來處理文本的一款功能十分強大的編輯器,一次只處理一行內容,當處理文本是,將要處理的行放置在模式空間里(緩沖區),接下來sed命令處理模式空間里的內容,處理完成后,把模式空間里處理后的內容送至屏幕打印輸出,接下來處理下…

    Linux干貨 2016-08-09
  • 以水滸為例解釋文件權限

    關于文件權限的內容學起來比較繞,稍不注意就會把自己繞暈,這時候不如找一個例子來記憶,這樣記起來比較容易而且還會記憶深刻,接下來就以水滸為例解釋下關于文件權限方面的內容 桃園三結義,兄弟三人組成一個組,選劉備當大哥,兄弟三人都在這個組里 兄弟三人還是居無定所的,要給劉關張兄弟三人造個房子,給兄弟三人一個容身之所,而且給兄弟三人一人一個房間   但建好…

    2017-07-30

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-25 13:26

    作業很工整,細節描述的很好

欧美性久久久久