1. 請(qǐng)描述網(wǎng)橋捻激、集線器、二層交換機(jī)前计、三層交換機(jī)胞谭、路由器的功能、使用場(chǎng)景與區(qū)別男杈。?
網(wǎng)橋: 又稱為橋接器丈屹,一種網(wǎng)絡(luò)裝置,負(fù)責(zé)網(wǎng)路橋接。網(wǎng)橋?qū)⒕W(wǎng)絡(luò)的多個(gè)網(wǎng)段在數(shù)據(jù)鏈路層(OSI的第二層)鏈接起來(lái)旺垒。網(wǎng)橋根據(jù)MAC地址轉(zhuǎn)發(fā)幀彩库,它主要用來(lái)鏈接兩個(gè)LAN, 是本地通訊限制在各自的本網(wǎng)段內(nèi)。
集線器(Hub):是指將多條以太網(wǎng)絡(luò)雙絞線鏈接在一起的一個(gè)設(shè)備先蒋,它運(yùn)作在OSI模型中的第一層骇钦,它會(huì)將收到的所有信號(hào)進(jìn)行放大,從而擴(kuò)大網(wǎng)絡(luò)的傳輸距離竞漾。因?yàn)樗捎玫氖菑V播模式眯搭,很容易產(chǎn)生廣播風(fēng)暴,大部分集線器已經(jīng)被交換機(jī)取代业岁。
二層交換機(jī):顧名思義鳞仙,二層交換機(jī)工作OSI模型的第二層,二層交換機(jī)的技術(shù)已經(jīng)比較成熟笔时,二層交換機(jī)工作在數(shù)據(jù)鏈路層繁扎,通過(guò)MAC地址進(jìn)行轉(zhuǎn)發(fā),并且將這些MAC地址與對(duì)應(yīng)的端口記錄在MAC地址表中糊闽,它可以隔離廣播風(fēng)暴的產(chǎn)生梳玫。
三層交換機(jī):具有部分路由功能的交換機(jī),三層交換機(jī)的最重要目的是加快大型局域網(wǎng)內(nèi)部的數(shù)據(jù)交換右犹,所具有的路由功能也是為這目的服務(wù)的提澎,能夠做到一次路由,多次轉(zhuǎn)發(fā)念链。對(duì)于數(shù)據(jù)包轉(zhuǎn)發(fā)等規(guī)律性的過(guò)程由硬件高速實(shí)現(xiàn)盼忌,而像路由信息更新、路由表維護(hù)掂墓、路由計(jì)算谦纱、路由確定等功能,由軟件實(shí)現(xiàn)君编。三層交換技術(shù)就是二層交換技術(shù)+三層轉(zhuǎn)發(fā)技術(shù)跨嘉。傳統(tǒng)交換技術(shù)是在OSI網(wǎng)絡(luò)標(biāo)準(zhǔn)模型第二層——數(shù)據(jù)鏈路層進(jìn)行操作的,而三層交換技術(shù)是在網(wǎng)絡(luò)模型中的第三層實(shí)現(xiàn)了數(shù)據(jù)包的高速轉(zhuǎn)發(fā)吃嘿,既可實(shí)現(xiàn)網(wǎng)絡(luò)路由功能祠乃,又可根據(jù)不同網(wǎng)絡(luò)狀況做到最優(yōu)網(wǎng)絡(luò)性能。
路由器:其功能是決定最優(yōu)路由和轉(zhuǎn)發(fā)數(shù)據(jù)包兑燥。路由表中寫入各種信息亮瓷,由路由算法計(jì)算出到達(dá)目的地址的最佳路徑,然后由相對(duì)簡(jiǎn)單直接的轉(zhuǎn)發(fā)機(jī)制發(fā)送數(shù)據(jù)包降瞳。接受數(shù)據(jù)的下一臺(tái)路由器依照相同的工作方式繼續(xù)轉(zhuǎn)發(fā)嘱支,依次類推,直到數(shù)據(jù)包到達(dá)目的路由器。其工作模式與二層交換機(jī)相似除师,但路由器工作在OSI模型的第三層——網(wǎng)絡(luò)層赢织,這個(gè)區(qū)別決定了路由和交換機(jī)在傳遞包時(shí)使用不同的控制信息,實(shí)現(xiàn)功能的方式就不同馍盟。適用于局域網(wǎng)間互聯(lián)于置,局域網(wǎng)與城域網(wǎng)互聯(lián)互通。
2. IP地址的分類有哪些贞岭?子網(wǎng)掩碼的表示形式及其作用
A類IP地址:網(wǎng)絡(luò)號(hào)00000000 --> 01111111, 因此地址范圍0.0.0.0 -- 127.0.0.0八毯,網(wǎng)絡(luò)數(shù): 127個(gè),默認(rèn)子網(wǎng)掩碼255.0.0.0瞄桨,用作大型網(wǎng)絡(luò)
B類IP地址:網(wǎng)絡(luò)號(hào)10000000 00000000--> 10111111 11111111, 因此地址范圍128.0.0.0 -- 191.255.0.0话速,網(wǎng)絡(luò)數(shù): 2^14, 默認(rèn)子網(wǎng)掩碼255.255.0.0, 用作中型網(wǎng)絡(luò)
C類IP地址:網(wǎng)絡(luò)號(hào)11000000 00000000 00000000 --> 11011111 11111111 11111111地址范圍192.0.0.0 -- 223.255.255.0,默認(rèn)子網(wǎng)掩碼255.255.255.0, 用作小型網(wǎng)絡(luò)
D類是組播地址:地址范圍224.0.0.0 -- 239.255.255.255
E類作為保留研究:地址范圍240.0.0.0 -- 255.255.255.255
特殊地址: 127.0.0.1 -- 127.0.0.255(本地環(huán)回)
鏈路本地: 169.254.0.0(主機(jī)請(qǐng)求無(wú)法被分配芯侥,自動(dòng)生成的地址)
子網(wǎng)掩碼泊交,目前有兩種表示方式:一種是用32位數(shù)字表示;另一種柱查,則是在每個(gè)IP地址后面追加網(wǎng)絡(luò)地址的位數(shù)廓俭,用“/”隔開(kāi)。
3.計(jì)算機(jī)網(wǎng)絡(luò)的分成模型有哪些(OSI模型和TCP/IP模型)唉工,每一層的功能及涉及到的物理設(shè)備有哪些研乒。
OSI | TCP/IP | |
---|---|---|
應(yīng)用層 | 針對(duì)特定應(yīng)用(http,FTP,DNS) | 應(yīng)用層 |
表示層 | 將數(shù)據(jù)轉(zhuǎn)化為網(wǎng)絡(luò)標(biāo)準(zhǔn)數(shù)據(jù) | 應(yīng)用層 |
會(huì)話層 | 通信管理,負(fù)責(zé)建立或斷開(kāi)連接 | 應(yīng)用層 |
傳輸層 | 建立管理兩個(gè)節(jié)點(diǎn)的數(shù)據(jù)傳輸淋硝,負(fù)責(zé)數(shù)據(jù)可靠地傳輸 | 傳輸層 |
網(wǎng)絡(luò)層 | 管理地址和路由 | 網(wǎng)絡(luò)層 |
數(shù)據(jù)鏈路層 | 通信實(shí)體間建立數(shù)據(jù)鏈路鏈接雹熬,用MAC地址封裝 | 網(wǎng)絡(luò)接口層 |
物理層 | 數(shù)據(jù)原始比特流傳輸 | 網(wǎng)絡(luò)接口層 |
4. 如何將Linux主機(jī)接入到TCP/IP網(wǎng)絡(luò),請(qǐng)描述詳細(xì)的步驟谣膳。(手動(dòng)指定的方式)
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 #這是centos7的網(wǎng)卡配置
~]# cat ifcfg-eno16777736
TYPE=Ethernet #指明接口類型竿报,常見(jiàn)的有Ethernet,Bridge继谚;
BOOTPROTO=static #激活此接口時(shí)使用什么協(xié)議來(lái)配置接口屬性烈菌,這里為靜態(tài),動(dòng)態(tài)的話填寫dhcp
DEFOUTE=yes #將該接口設(shè)置為默認(rèn)路由,no為不要設(shè)置為默認(rèn)路由
IPV4_FAILURE_FATAL=no
IPV6INIT=yes #是否初始化ipv6
IPV6NAME=eno16777728
NAME=eno16777736
ONBOOT=yes ? #在系統(tǒng)的引導(dǎo)過(guò)程中犬庇,是否激活此接口
IPADDR=192.168.137.70 #IP地址
NETMASK=255.255.255.0 #掩碼
GATEWAY=192.168.137.1 #網(wǎng)關(guān)
DNS1=210.21.196.6 #主DNS
DNS2=119.233.255.229 #備DNS2.
重啟網(wǎng)絡(luò)~]# systemctl restart network.service
5.為L(zhǎng)inux主機(jī)配置網(wǎng)絡(luò)信息的方式有哪些僧界,請(qǐng)描述各個(gè)過(guò)程侨嘀。
臨時(shí)修改方式
]# ifconfig eno16777736 192.168.112.11/24 #ifconfig命令
]# ip addr add 192.168.112.11/24 dev eth0 #ip命令
編輯配置文件
~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
6. 寫一個(gè)腳本臭挽,使用ping命令探測(cè)172.16.250.1-172.16.250.254之間的所有主機(jī)的在線狀態(tài);?在線的主機(jī)使用綠色顯示咬腕;?不在線的主使用紅色顯示欢峰;
#!/bin/bash
#
for i in {1..254};do
ping -c 1 -w 1 "192.168.1.$i" > /dev/null
if [ $? -eq 0 ];then
echo -e "\033[0;32;1m 172.16.250.$i is up \033[0m"
else
echo -e "\033[0;31;1m 172.16.250.$i is down \033[0m"
fi
done
7、詳細(xì)描述每個(gè)網(wǎng)絡(luò)接口的配置文件中各個(gè)參數(shù)的含義和其所對(duì)應(yīng)的值;
網(wǎng)絡(luò)接口配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736
DEVICE #網(wǎng)卡名
BOOTPROTO #ip地址分配方式纽帖, dhcp宠漩、static
HWADDR #MAC地址
NM_CONTROLLED="yes" #network manager參數(shù),
ONBOOT= #網(wǎng)卡是否開(kāi)機(jī)激活
TYPE= #網(wǎng)絡(luò)類型
IPV6INIT=no #禁止IPV6
USERCTL=no #是否允許非root用戶控制該設(shè)備懊直,為no扒吁,只能root用戶更改
IPADDR= #IP ADDR
GATEWAY= #gateway地址
NETMASK= #掩碼
DNS2= #dns2地址
DNS1= #dns1地址
8、如何給網(wǎng)絡(luò)接口配置多個(gè)地址室囊,有哪些方式雕崩?
# ip addr add 192.168.121.11/24 dev eno16777736:1
# ifconfig eth0:1
# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
9、常用的網(wǎng)絡(luò)管理類工具有哪些融撞,并用示例形式描述他們的使用方法盼铁。
ifconfig
常見(jiàn)用法:
查看網(wǎng)卡信息:ifconfig [interface]
查看所有網(wǎng)卡信息:ifconifg -a
開(kāi)啟或關(guān)閉網(wǎng)卡:ifconfig IFACE [up|down]
配置網(wǎng)卡參數(shù):ifconfig interface [aftype] options | address ...
配置網(wǎng)卡IP地址:
ifconfig IFACE IP/mask [up]
ifconfig IFACE IP network MASK
ip:顯示/配置路由,接口尝偎,策略路由和隧道
常見(jiàn)用法:
網(wǎng)卡添加多一個(gè)IP地址,并設(shè)置別名為eth0:0
ip addr IPADDR/MASK dev eth0 label 'eth0:0'
顯示網(wǎng)卡設(shè)備的信息: ip addr show
清除IP地址信息:ip addr flush dev interface
添加路由:ip route add TARGET via GW dev INTERFACE src SOURCE_IP
刪除單條路由: ip route del TARGET
route:路由管理命令
查看路由條目:route -n
添加路由條目:route add
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] if]
刪除路由:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
netstat :顯示網(wǎng)絡(luò)連接饶火、路由表、接口數(shù)據(jù)統(tǒng)計(jì)致扯、偽裝連接肤寝、組播成員關(guān)系
常用選項(xiàng):
-t : 顯示TCP協(xié)議相關(guān)已建立的連接(ESTABLISHED)
-u : 顯示UDP協(xié)議相關(guān)已建立的連接(ESTABLISHED)
-r : 顯示raw socket(裸套接字)相關(guān)已建立的連接(ESTABLISHED)
-l : 處于監(jiān)聽(tīng)狀態(tài)的連接
-n : 以數(shù)字顯示IP和協(xié)議端口(默認(rèn)顯示協(xié)議名稱,如SSH)
-a : 顯示所有狀態(tài)的連接
-e : 擴(kuò)展格式
-p : 顯示相關(guān)進(jìn)程及PID
常用組合:
-tan , -uan , -tnl抖僵, -unl醒陆,-tunlp
ss:網(wǎng)絡(luò)狀態(tài)查看工具
常見(jiàn)選項(xiàng):
-t : tcp協(xié)議相關(guān)
-u : udp協(xié)議相關(guān)
-w : 裸套接字相關(guān)
-x : unix sock相關(guān)
-l : listen狀態(tài)的連接
-a : 所有
-n : 數(shù)字格式
-p : 相關(guān)的程序及PID
-e : 擴(kuò)展的信息
-m : 內(nèi)存用量
-o : 計(jì)時(shí)器信息
常用組合:
-tan , -tanl , -tanlp , -uan,-tunlp
10裆针、Linux系統(tǒng)軟件包管理方法(安裝刨摩、升級(jí)、卸載等操作)有哪些世吨,以及如何管理的澡刹。
rpm包安裝方式:
安裝:rpm -ivh PACKAGE_FILE ...
升級(jí):rpm -Uvh PACKAGE_FILE ...
卸載:rpm -e
查詢:rpm -q
校驗(yàn):rpm -V
數(shù)據(jù)庫(kù)維護(hù):--builddb, --initdb
Yum安裝方式
顯示程序包:list
安裝程序包:install
卸載程序包:remove
升級(jí)程序包:update
檢查可用升級(jí):check-update
查看程序包:info
查看指定的特性:provides
清理本地緩存:clean
構(gòu)建緩存:makecache
編譯安裝:
. /configure
make
makeinstall
12、寫一個(gè)腳本耘婚,完成以下功能
(1) 假設(shè)某目錄(/etc/rc.d/rc3.d/)下分別有K開(kāi)頭的文件和S開(kāi)頭的文件若干罢浇;
(2) 顯示所有以K開(kāi)頭的文件的文件名,并且給其附加一個(gè)stop字符串沐祷;
(3) 顯示所有以S開(kāi)頭的文件的文件名嚷闭,并且給其附加一個(gè)start字符串;
(4) 分別統(tǒng)計(jì)S開(kāi)頭和K開(kāi)頭的文件各有多少赖临;
#!/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開(kāi)頭的文件有$s個(gè)"
echo "K開(kāi)頭的文件有$k個(gè)"
13胞锰、寫一個(gè)腳本,完成以下功能
(1) 腳本能接受用戶名作為參數(shù)兢榨;
(2) 計(jì)算此些用戶的ID之和嗅榕;
#!/bin/bash
##
declare -i Sum=0
if [ $# -lt 1 ];then
echo "請(qǐng)至少輸入一個(gè)已存在的用戶名"
exit 1
fi
for user in $@;do
if id $user &> /dev/null;then
Sum=$[$Sum+$(id -u $user)]
else
echo "這個(gè)$user用戶不存在"
exit 2
fi
done
echo "這些用戶ID和為:$Sum."
15顺饮、寫一個(gè)腳本 通過(guò)命令行傳遞一個(gè)參數(shù)給腳本,參數(shù)為用戶名 如果用戶的id號(hào)大于等于500凌那,則顯示此用戶為普通用戶兼雄;
#!/bin/bash
##
if [ $# -eq 0 ];then
echo "至少需要一個(gè)用戶名"
exit 1
fi
id=$(id -u $1)
if [ $id -ge 500 ]; then
echo "login user"
else
echo "system user"
fi
16、寫一個(gè)腳本
(1) 添加10用戶user1-user10帽蝶;密碼同用戶名赦肋;
(2) 用戶不存在時(shí)才添加;存在時(shí)則跳過(guò)励稳;
(3) 最后顯示本次共添加了多少用戶金砍;
#!/bin/bash
##
declare -i i=0
for i in {1..10};do
if id user$i &> /dev/null;then
echo "user$i 已存在"
continue
else
useradd user$i
echo "user$i" |passwd --stdin user$i &> /dev/null
let i++
fi
done
echo "創(chuàng)建了$i個(gè)用戶."