1. 請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
網橋從一個局域網接收MAC幀,拆封、校對、校驗之后,按另一個局域網的格式重新組裝,發往它的物理層。由于網橋是鏈路層設備,因此不處理數據鏈路層以上層次協議所加的報頭。 集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI(開放系統互聯參考模型)參考模型第一層。 二層交換機指的就是傳統的工作在OSI參考模型的第二層–數據鏈路層上交換機,主要應用于小型的局域網中,主要功能包括物理編址、錯誤校驗、幀序列以及流控。 三層交換機主是二層交換機與路由器的合體,支持物理層,數據鏈路層及網絡層協議。三層交換機支持路由功能、支持網絡層的很多協議等,支持多VLAN的設置與IP地址配置!支持安全功能等 路由器是連接因特網中各局域網、廣域網的設備,路由和交換機之間的主要區別就是交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。
2. IP地址的分類有哪些?子網掩碼的表示形式及其作用。
A 類地址:(0-127)一個A 類IP地址僅使用第一個8位位組表示網絡地址且第一組8位數中第1位必須為0,即0.0.0.0到127.0.0.0,也即是 00000000.00000000.00000000.00000000到01111111.00000000.00000000.00000000 B 類地址::(128-191)一個B 類IP地址僅使用前兩個8位位組表示網絡地址且第一組8位數中前兩位必須為10,即128.1.0.0到191.254.0.0,也即是 10000000.00000001.00000000.00000000到10111111.11111110.00000000.00000000 C 類地址::(192-223)一個C 類IP地址僅使用前三個8位位組表示網絡地址且第一組8位數中前三位必須為110,即192.0.1.0 至223.255.254.0,也即是 11000000.00000000.00000000.00000000到11011111.00000000.11111110.00000000 D 類地址::(224-239)D 類地址用于在IP網絡中的組播( multicasting ,又稱為多目廣播)。D類地址第一組8位數中前四位必須為1110,即224.0.0.0到239. 255. 255.254,也即是 11100000.00000000.00000000.00000000到11101111.11111111.11111111.11111110 E 類地址:(240-255)保留作研究之用。因此Internet上沒有可用的E類地址。E類地址第一組8位數中前四位必須為1111,因此有效的地址范圍從240.0.0.0 至255.255.255.255 11110000.00000000.00000000.00000000到11111111.11111111.11111111.11111110
3.計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
OSI七層模型: 應用層:提供應用程序之間通信, 表示層:處理數據格式、數據加密 會話層:建立,維護,管理會話連接涉及操作系統和網絡接口和各種數據 傳輸層:建立主機端到端連接,涉及物理設備:四層交換機 網絡層:尋址和路由選擇涉及物理設備:路由器 數據鏈路層:提供介質訪問,鏈路管理,將數據分幀并處理流控制。網卡,網橋,交換機 物理層:比特流傳輸,將數據轉換為可通過物理介質傳送的電子信號物理設備雙絞線、同軸電纜,集線器 TCP/IP4層模型: 網絡訪問層:功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀。基于不同硬件類型的網絡接口,定義了和物理介質的連接。相當于OSI參考模型的物理層和數據鏈路層。 網際層:處理來自傳輸層的分組發送請求;處理輸入數據報;處理ICMP報文,即處理網絡的路由選擇、流量控制和擁塞控制等問題。在功能上類似于ISO/OSI參考模型中的網絡層。 傳輸層:主要功能是可靠而又準確地傳輸并控制源主機與目的主機之間的信息流,提供端到端的控制,通過滑動窗口機制提供流控制,通過序列號和確認機制來保證可靠性。 應用層:包括所有的高層協議,與OSI的應用層協議相差不大,包括HTTP、Telnet、FTP、SMTP、POP3、DNS等。
4.如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
A、使用ifconfig -a命令查看是否有發現網卡,如果未發現網卡,檢查網卡驅動是否正常 B、編輯/etc/sysconfig/network-script/目錄下網卡對應的配置文件,如ifcfg-eno16777736,配置啟動必要的參數,如: BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.150 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 DNS1=192.168.1.1 其他參數根據需要修改,然后保存。 C、/etc/init.d/network restart重啟網絡,檢查網絡是否連通。
5.為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
A、ifconfig eno-16777736 IP/mask B、ip addr add ip dev eno-16777736 C、使用net-tools工具中nmtui圖形化工具
6.寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash for ip in 172.16.250.{1..254} do ping $ip -c 2 &> /dev/null if [ $? -eq 0 ];then echo -e "\e[1;32m $ip is alive \e[0m" sleep 1 else echo -e "\e[1;31m $ip is down \e[0m" sleep 1 fi done
7.詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
網絡接口配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736 DEVICE #網卡名 BOOTPROTO #ip地址分配方式, dhcp、static HWADDR #MAC地址 NM_CONTROLLED="yes" #network manager參數, ONBOOT= #網卡是否開機激活 TYPE= #網絡類型 IPV6INIT=no #禁止IPV6 USERCTL=no #是否允許非root用戶控制該設備,為no,只能root用戶更改 IPADDR= #IP ADDR GATEWAY= #gateway地址 NETMASK= #掩碼 DNS2= #dns2地址 DNS1= #dns1地址
8.如何給網絡接口配置多個地址,有哪些方式?
A、ip addr add IP/MASK dev eno16777736:1 B、cd /etc/sysconfig/network-scripts/ cp ifcfg-eno16777736{,:1} vim ifcfg-eno16777736:1 DEVICE=eno16777736:1 IPADDR=IP PREFIX=24
9.常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
ifconfig: ifconfig -a 查看所有網絡接口信息 ifconfig interface 查看指定網絡接口信息 ifconfig interface up|download 啟用或停用指定網絡接口 ifconfig interface ip/mask [up] 設定指定網絡接口IP地址和掩碼 route: route -n 查看所有路由信息 route add 添加路由 route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If] route add -net 目標網段IP/MASK gw 網關IP dev 網卡 route add -host 目的IP gw 網關IP dev 網卡 route del刪除路由 route del [-net|-host] target [netmask ] [gw Gw][dev] route del -net 目標網段IP MASK route del -host 目的IP netstat: -t tcp協議相關的連接 -u udp協議相碰的連接 -w raw socker相關的連接 -l 處于監聽狀態的連接 -a 所有的連接 -n 以數字顯示ip和端口 -e 擴展格式 -p 顯示相關進程及PID ip: ip link ip link set DEVICE IFACE up/down 激活或禁用指定接口 ip link show up/dev 顯示所有激活狀態/指定接口信息 ip addr ip addr { add | del } IFADDR dev STRING 增加或刪除IP地址 ip addr show 顯示網絡接口信息 ip route ip route { add | del | show} 添加、刪除或顯示路由 ss: -t tcp協議相關的連接 -u udp協議相碰的連接 -w raw socker相關的連接 -l 處于監聽狀態的連接 -a 所有的連接 -n 以數字顯示ip和端口 -e 擴展格式 -p 顯示相關進程及PID -x unix sock相關 -m 內存用量 -o 計時器信息
10.Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
用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重建數據庫 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,請描述該過程。
掛載光盤至某目錄: mount -r /dev/cdrom /mnt/ 創建配置文件: 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 }
原創文章,作者:N22-無錫-沉默,如若轉載,請注明出處:http://www.www58058.com/52395