1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
主要功能: 網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。 集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI參考模型第一層,即“物理層”。 二層交換機工作于OSI模塊的第2層(數據鏈路層),故稱為二層交換機??梢宰R別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。 三層交換機就是具有路由功能的交換機。 路由器工作于OSI參考模型的第3層(網絡層),是連接因特網中各局域網、廣域網的設備,它根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號。
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
IP地址中的前五位用于標識IP地址的類別,IP地址共分五類。 A類地址:以0開頭,網絡地址7位,主機地址24位 B類地址:以10開頭,網絡地址14位,主機地址16位 C類地址:以110開頭,網絡地址21位,主機地址8位 D類地址:以1110開頭,組播地址 E類地址:以11110開頭 子網掩碼的表示形式: 1)通過與IP地址格式相同的點分十進制表示,如255.255.255.0 2)在IP地址后加上“/”符號以及1-32的數字,其中1-32的數字表示子網掩碼中網絡標識位的長度,如192.168.1.0/24 子網掩碼的作用: 1)用于屏蔽IP地址的一部分以區別網絡標識和主機標識 2)用于將一個大的IP網絡劃分為若干小的子網絡
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
OSI七層模型: 1)物理層:主要功能是完成相鄰結點之間原始比特流的傳輸,控制數據怎么被放置到通信介質上。 2)數據鏈路層:主要功能是如何在不可靠的物理線路上進行數據的可靠傳輸。完成的是網絡中相鄰結點之間可靠的數據通信。 3)網絡層:主要功能是完成網絡中主機間的報文傳輸。 4)傳輸層:是整個網絡的關鍵部分,實現兩個用戶進程間端到端的可靠通信,處理數據包錯誤、數據包次序,以及其他一些關鍵傳輸問題, 5)會話層:允許不同機器上的用戶之間建立會話關系。 6)表示層:處理用戶信息的表示問題,如編碼、數據格式轉換和加密等。 7)應用層:是用戶與網絡,以及應用程序與網絡間的直接接口,使得用戶能夠與網絡進行交互聯系,實實現各種服務 TCP/IP4層模型 1)網絡訪問層:功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀。基于不同硬件類型的網絡接口,定義了和物理介質的連接。相當于OSI參考模型的物理層和數據鏈路層。 2)網際層:處理來自傳輸層的分組發送請求;處理輸入數據報;處理ICMP報文,即處理網絡的路由選擇、流量控制和擁塞控制等問題。在功能上類似于ISO/OSI參考模型中的網絡層。 3)傳輸層:主要功能是可靠而又準確地傳輸并控制源主機與目的主機之間的信息流,提供端到端的控制,通過滑動窗口機制提供流控制,通過序列號和確認機制來保證可靠性。 4)應用層:包括所有的高層協議,與OSI的應用層協議相差不大,包括HTTP、Telnet、FTP、SMTP、POP3、DNS等。
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #網卡號,和ifcfg-eth0對應就可以> TYPE=Ethernet #網絡類型 UUID=b04b477a-06f1-494b-85f8-83e070dc9010 ONBOOT=yes #啟動時啟用連接 NM_CONTROLLED=yes #network manager參數 BOOTPROTO=none #獲得IP地址方式,手動選擇none,自動選擇dhcp IPADDR=192.168.1.61 #設定IP地址 PREFIX=24 #掩碼位數 GATEWAY=192.168.1.254 #網關 DNS1=192.168.1.1 #DNS DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" 修改完成后重啟網絡 /etc/init.d/network restart
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
1)可以使用ifconfig ip addr 命令來設置網卡的ip地址及網關;設置后立即生效,重啟后生效。 2)可以修改網絡配置文件/etc/sysconfig/network-scripts/ifcfg-接口,設置IP、MAC、網關,重啟服務服務后生效。 3)使用setup圖形界面設置網絡信息 4)使用system-config-network-tui
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash net=172.16.250 for((i=1;i<=254;i++)) do if ping -c 1 -w 1 $net.$i &> /dev/null;then echo -e "\033[32m $net.$i\033[0m" else echo -e "\033[31m $net.$i\033[0m" fi done
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #網卡號,和ifcfg-eth0對應就可以> TYPE=Ethernet #網絡類型 UUID=b04b477a-06f1-494b-85f8-83e070dc9010 ONBOOT=yes #啟動時啟用連接 NM_CONTROLLED=yes #network manager參數 BOOTPROTO=none #獲得IP地址方式,手動選擇none,自動選擇dhcp IPADDR=192.168.1.61 #設定IP地址 PREFIX=24 #掩碼位數 GATEWAY=192.168.1.254 #網關 DNS1=192.168.1.1 #DNS DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" 修改完成后重啟網絡 /etc/init.d/network restart
8、如何給網絡接口配置多個地址,有哪些方式?
1)命令方式,即時生效 ip addr add 192.168.1.66/24 dev eth0:1 2)創建配置文件,重啟服務后生效 cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0{,:1} vim ifcfg-eth0:1 修改以下內容 DEVICE=eth0:1 IPADDR=192.168.1.66 PREFIX=24
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
1)ifconfig ifconfig -a: 查看所有網絡接口信息 ifconfig interface 查看指定網絡接口信息 ifconfig interface up|download 啟用或停用指定網絡接口 ifconfig interface ip/mask [up] 設定指定網絡接口IP地址和掩碼 2)route route -n查看所有路由信息 route add添加路由 route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If] route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0 route add -host192.168.1.5 gw 192.168.1.254 dev eth1 route del刪除路由 route del [-net|-host] target [netmask ] [gw Gw][dev] route del -net 192.168.0.0 255.255.255.0 route del -host192.168.1.5 3)netstat -t tcp協議相關的連接 -u udp協議相碰的連接 -w raw socker相關的連接 -l 處于監聽狀態的連接 -a 所有的連接 -n 以數字顯示ip和端口 -e 擴展格式 -p 顯示相關進程及PID 常用組合 -tan -uan -tln -uln 4)ip ip link ip link set DEVICE IFACE up/down 激活或禁用指定接口 ip link show up/dev 顯示所有激活狀態/指定接口信息 ipaddr ip addr { add | del } IFADDR dev STRING 增加或刪除IP地址 ip addr show 顯示網絡接口信息 ip route ip route { add | del | show} 添加、刪除或顯示路由 5)ss -t tcp協議相關的連接 -u udp協議相碰的連接 -w raw socker相關的連接 -l 處于監聽狀態的連接 -a 所有的連接 -n 以數字顯示ip和端口 -e 擴展格式 -p 顯示相關進程及PID -x unix sock相關 -m 內存用量 -o 計時器信息
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
1)用rpm命令管理程序包 安裝 rpm -ivh PACKAGE_FILE 安裝包 升級 rpm -Uvh PACKAGE_FILE 升級包,無則安裝此包 rpm -Fvh PACKAGE_FILE 升級包,無則無變化 查詢 rpm -qa | grep FileName 查詢已安裝的某個軟件 rpm -qf FILE 查詢文件出處 rpm -qc PACKAGE_FILE 查詢包的配置文件 rpm -ql PACKAGE_FILE 查詢包的所有文件 rpm -qd PACKAGE_FILE 查詢包的信息 rpm -qpi PACKAGE_FILE 安裝之前查詢包信息 rpm -qpl PACKAGE_FILE 安裝之前查詢包的所有文件 卸載 rpm -e PACKAGE_FILE 卸載包 驗證 rpm -V PACKAGE_FIL E驗證包 rpm --import PUBKEY 導入公鑰 維護 rpm initdb新建數據庫 rpm rebuilddb重建數據庫 2)用yum倉庫來管理程序包 查看 yum info PACKAGE_FILE 查看包信息 yum historylist 查看yum事務歷史 yum deplistpackage1 查看包依賴 顯示 yum repolist all 顯示yum倉庫列表 yum list installed 顯示已安裝列表 yum list available 顯示可用包 yum list updates 顯示可升級的包 yum list anaconda 顯示系統安裝的包 安裝 yum install PACKAGE_FILE 安裝包 yum localinstall rpmfile1 安裝本地包 升級 yum update PACKAGE_FILE 升級包 yum downgrade PACKAGE_FILE 降級包 yum check-update 檢查更新 卸載 yum remove PACKAGE_FILE 卸載包 yum providesfeature1 查看指定的特性 yum clean 清理本地緩存 yum search string1 搜索字符串 yum info PACKAGE_FILE 查看包信息 包組管理 yum groupinstall group1 [group2] [...] 安裝包組 yum groupupdate group1 [group2] [...] 升級包組 yum grouplist [hidden] [groupwildcard][...] 顯示包組 yum groupremove group1 [group2] [...] 卸載包組 yum groupinfo group1 [...] 查看包組信息
11、如何使用發行版光盤作為yum repository,請描述該過程。
(1)掛載光盤至某目錄 mount -r /dev/sr0 /mnt/ (2)創建配置文件 vim /etc/yum.repos.d/CentOS-DVD.repo [CentOS6.6] name=CentOS cdrom #倉庫的名字 baseurl=file:///mnt #repodata目錄的倉庫訪問路徑 gpgchecked=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 k=0,s=0 for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$") do echo "$i stop" let k++ done for j in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$") do echo "$j start" let s++ done echo "S開頭的文件有$s個,K開頭的文件有$k個!"
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash declare -i sum if [ $# -lt 1 ];then echo "At least one username" exit 1 else for name in $* do if id $name &> /dev/null;then let sum+=$(grep "^\<$name\>" /etc/passwd | cut -d: -f3) fi done echo "id sum is $sum" fi
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash if [ $# -lt 1 ];then echo "At least a Directory" exit 1 fi ls -l "$@" | grep ^d | awk '{print $NF}' > directory ls -l "$@" | grep ^- | awk '{print $NF}' > files ls -l "$@" echo "Total $(wc -l directory) " echo "Total $(wc -l files) "
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash if [ $# -lt 1 ];then echo "At least one username" exit 1 fi if id $1 &> /dev/null;then uid=$(grep "^\<$1\>" /etc/passwd | cut -d: -f3) if [ $uid -ge 500 ];then echo "$1 is regular user" else echo "$1 is system user" fi else echo "$1 is not exists" fi
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash declare -i num for((i=1;i<11;i++)){ if ! id user$i &> /dev/null;then useradd user$i echo user$i:user$i | chpasswd let num++ fi } echo "Add $num users!"
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash net="172.16.250." for((i=20;i<=100;i++)){ ping -c 1 $net$i &> /dev/null if [ $? -eq 0 ];then echo $net$i fi }
18、打印九九乘法表;
#!/bin/bash for ((i=1;i<=9;i++)){ for((j=1;j<=i;j++));do echo -e -n "$j*$i=$(($i*$j))\t" done echo }
原創文章,作者:N21-天天,如若轉載,請注明出處:http://www.www58058.com/40756
完成功能,還要展示一二