linux系統(tǒng)管理[實(shí)驗(yàn)手冊]
.UNIX/LINUX系統(tǒng)管理I課程設(shè)計(jì)任務(wù)書目錄UNIX/LINUX系統(tǒng)管理I課程設(shè)計(jì)任務(wù)書13.1解決grub引導(dǎo)過程故障33.2解決系統(tǒng)網(wǎng)絡(luò)接口卡無法激活故障43.3解決PUTTY窗口的登陸問題53.4解決 PUTTY窗口的亂碼問題63.5解決軟件yum安裝故障73.6解決X-WINDOWS啟動(dòng)故障83.7解決內(nèi)核功能問題83.8完成系統(tǒng)IO性能優(yōu)化任務(wù),103.9完成系統(tǒng)監(jiān)控任務(wù),113.10完成自動(dòng)維護(hù)任務(wù),123.11解決資源配給問題,133.12完成性能分析任務(wù)14第一部分、 課程情況課程名稱:UNIX/LINUX系統(tǒng)管理I課程代碼: NW3005學(xué)分/學(xué)時(shí):2學(xué)分/34學(xué)時(shí) 面向?qū)I(yè)方向:網(wǎng)絡(luò)設(shè)計(jì)與管理方向、網(wǎng)絡(luò)安全技術(shù)方向任務(wù)書編寫人:安明忠第二部分、 學(xué)習(xí)目的UNIX/LINUX系統(tǒng)管理I的課程平臺(tái)是rhel6系列,主要學(xué)習(xí)故障分析及解決能力,是通過學(xué)習(xí),增強(qiáng)學(xué)生對系統(tǒng)工作原理的認(rèn)知,掌握基本的管理系統(tǒng)能力。課程設(shè)計(jì)中考慮了LINUX/UNIX系統(tǒng)日常維護(hù)和管理中的若干項(xiàng)基本工作內(nèi)容,組織成7個(gè)課堂實(shí)驗(yàn)任務(wù),5個(gè)可選任務(wù)。每個(gè)任務(wù)都是基于實(shí)驗(yàn)主機(jī)的真實(shí)故障或優(yōu)化管理來設(shè)計(jì),要求學(xué)生通過獨(dú)立的思考和操作,靈活使用校園網(wǎng)和主機(jī)在線手冊等資源,排除這些系統(tǒng)故障或按照要求調(diào)整優(yōu)化系統(tǒng)性能。第三部分、 本學(xué)期的學(xué)習(xí)內(nèi)容和要求3.1 解決grub引導(dǎo)過程故障3.1.1 任務(wù)描述主機(jī)已經(jīng)安裝完成的 RHEL6 系統(tǒng)啟動(dòng)失敗,初步估計(jì)是GRUB配置參數(shù)錯(cuò)誤或系統(tǒng)引導(dǎo)文件丟失,采用手工引導(dǎo)GRUB,查找故障確切原因并修復(fù)。實(shí)驗(yàn)環(huán)境:VMWARE平臺(tái) RHEL6基本系統(tǒng)包含GRUB數(shù)據(jù)錯(cuò)誤教師指導(dǎo):搜索引擎工具 GRUB基本介紹系統(tǒng)啟動(dòng)過程知識(shí)任務(wù)要求:兩課時(shí)內(nèi)完成,通過grub引導(dǎo)命令修復(fù)故障,系統(tǒng)可以正常啟動(dòng)。按照要求完成報(bào)告內(nèi)容。3.1.2 任務(wù)分析過程1.主要現(xiàn)象描述:打開虛擬機(jī)電源后,出現(xiàn)系統(tǒng)程序加載。到了Boot Loader的程序后無法加載,屏幕出現(xiàn)"grub>"的提示符,然后無法進(jìn)一步加載操作系統(tǒng)。圖1 grub加載問題2問題定位:2.1 windows系統(tǒng)與linux系統(tǒng)之間發(fā)生沖突 由于實(shí)驗(yàn)時(shí)使用的虛擬機(jī),所以排除系統(tǒng)間沖突導(dǎo)致配置文件缺少的問題。2.2 虛擬機(jī)文件被破壞打開安裝vm的安裝路徑,檢查虛擬機(jī)的文件,發(fā)現(xiàn)系統(tǒng)、配置文件都沒有問題。圖2 虛擬機(jī)文件正常2.3 kernel文件的缺少或參數(shù)被修改打開/boot/grub文件夾,顯示全部文件。發(fā)現(xiàn)缺少"grub.conf"配置文件。證明問題源于缺少系統(tǒng)的引導(dǎo)文件。圖3 缺少引導(dǎo)文件3解決步驟: 注:實(shí)驗(yàn)中TAB可以自動(dòng)保全命令和文件名,若能正確的補(bǔ)全,則證明硬盤存在該文件。1. 安裝GRUB,輸入"setup <"命令,然后按TAB鍵自動(dòng)補(bǔ)全,出現(xiàn)三個(gè)硬盤分區(qū),選擇"hd0,0"顯示安裝成功。但是運(yùn)行boot或reboot命令后,依然沒有解決無法加載kernel的問題。證明重新安裝grub無法復(fù)原原始配置文件。三個(gè)硬盤分區(qū)安裝GRUB成功2 .輸入root < ,按TAB后,產(chǎn)生兩個(gè)聯(lián)想fd0,hd0選擇輸入"fd0"自動(dòng)提示"Disk read error"; 圖4 選擇fd0 3.選擇"hd0 ,"后,按TAB鍵,自動(dòng)補(bǔ)全出現(xiàn)三個(gè)編號(hào)0、1、2分區(qū)0、1的文件系統(tǒng)是ext2fs,分區(qū)類型為0x83;而分區(qū)2的文件系統(tǒng)為unknown,分區(qū)類型為0x82選擇<hd 0,0>圖5 硬盤hd的信息4.輸入"kernel",后面接著一個(gè)路徑"/vmlinuz-*"5 .ro是讀取的意思, root=后面可以是虛擬機(jī)的UUID或者內(nèi)核的根文件系統(tǒng)的路徑"/dev/sda*"實(shí)驗(yàn)機(jī)有sda0、sda1、sda2三個(gè)分區(qū)。選擇sda16.輸入initrd /initramfs-*按TAB鍵自動(dòng)補(bǔ)全。<設(shè)置initrd文件,也有可能用軟連接代替真正的文件名>圖6 initrd設(shè)置文件boot - 引導(dǎo)先前已經(jīng)被指定并載入的操作系統(tǒng)或鏈?zhǔn)窖b載程序。 7.輸入boot,自動(dòng)從硬盤中重新加載。過1分鐘后,發(fā)現(xiàn)加載還是失敗了,證明sda1不是內(nèi)核根分區(qū)。圖7 boot加載失敗8.機(jī)器無法按原路徑尋找到kernel的根文件系統(tǒng),導(dǎo)致機(jī)器陷入癱瘓。所以只能關(guān)閉電源,重啟系統(tǒng)。然后嘗試第二個(gè)硬盤分區(qū)sda2,并重復(fù)步驟3-7。圖8 嘗試sda2分區(qū)圖9 成功載入操作系統(tǒng) 9.再次嘗試重啟后,系統(tǒng)又會(huì)出現(xiàn)"grub>",所以證明雖然上次成功登陸系統(tǒng),但是缺少grub配置文件的問題,并沒有根治。圖10 無法再次載入系統(tǒng)10.重新輸入以上步驟,重新登陸。進(jìn)入/boot/grub文件夾,創(chuàng)建grub.conf文件。 grub.conf文件詳解為附錄1按照系統(tǒng)基本配置來輸入:10.1 vmlinuz的查找::.! ls /boot/vm*<TAB自動(dòng)補(bǔ)全>10.2 sda2的UUID查找:.! Blkid /dev/sda210.3 initrd文件的查找:.! ls /boot/init*<TAB自動(dòng)補(bǔ)全>圖11 查找vmlinuz文件圖12 查找sda2的UUID圖13 查找initramf文件圖14 顯示grub.conf文件11重啟系統(tǒng),觀察結(jié)果。重啟系統(tǒng)后,按任意鍵進(jìn)入GRUB模式。按鍵"e"進(jìn)入編輯模式。圖15 GRUB模式進(jìn)入GRUB模式,檢查剛剛編寫的GRUB配置信息,如沒問題,按鍵"b"開始boot,并最后成功進(jìn)入系統(tǒng)登陸界面圖16 GRUB模式4問題和總結(jié):4.1問題分析:說明grub.conf 配置文件的功能和GRUB的引導(dǎo)過程當(dāng)"/boot/grub/grub.conf"配置文件丟失或者關(guān)鍵配置出現(xiàn)錯(cuò)誤,或者M(jìn)BR記錄中的引導(dǎo)程序遭到破壞時(shí),Linux主機(jī)啟動(dòng)可能會(huì)出現(xiàn)"grub>"的提示符,無法完成系統(tǒng)其它操作。Grub.conf功能是相當(dāng)于 windows下的boot.ini,都是存放啟動(dòng)項(xiàng)設(shè)置和信息的。GRUB的引導(dǎo)過程:附錄2簡介vmlinuz ,initrad.img文件的位置和作用Vmlinuz-kernel - 當(dāng)使用直接載入方式引導(dǎo)操作系統(tǒng)時(shí),kernel命令指定內(nèi)核從GRUB的根文件系統(tǒng)中載入 。比如 kernel /vmlinuz root=/dev/hda5; Vmlinuz是內(nèi)核,它從GRUB的根文件系統(tǒng)載入的,如<hd0,0>。同時(shí),后面一個(gè)選項(xiàng)被傳給內(nèi)核。它指出當(dāng)Linux內(nèi)核載入時(shí),內(nèi)核的根文件系統(tǒng)應(yīng)該是位于hda5,第一個(gè)IDE硬盤的第五個(gè)分區(qū)。initrd - 使用戶能夠指定一個(gè)在引導(dǎo)時(shí)可用的初始RAM盤。當(dāng)內(nèi)核為了完全引導(dǎo)而需要某些模塊時(shí),這是必需的。Initramfs-內(nèi)核開發(fā)人員編寫了一個(gè)改進(jìn)版tmpfs,這個(gè)文件系統(tǒng)上的數(shù)據(jù)可以寫出到交換分區(qū),而且可以設(shè)定一個(gè)tmpfs裝載點(diǎn)的最大尺寸以免耗盡內(nèi)存。initramfs就是tmpfs的一個(gè)應(yīng)用.文件系統(tǒng)損壞后,如何修復(fù)文件系統(tǒng)?<1>修改/etc/fstab,將受損的文件系統(tǒng)先注釋掉,如果無法讀寫該文件則采用mount -o remount rw , / 將文件系統(tǒng)改成讀寫模式。 <2>針對受損的文件系統(tǒng),執(zhí)行fsck命令,如:fsck /dev/sda1等。4.2總結(jié):在本次實(shí)驗(yàn)中,通過GRUB引導(dǎo)配置文件的出錯(cuò),導(dǎo)致OS系統(tǒng)無法正常啟動(dòng)的問題。深入了解到LINUX系統(tǒng)啟動(dòng)的過程和其文件系統(tǒng)的掛載過程,在此實(shí)驗(yàn)過程中,我刪除了系統(tǒng)中的grub.conf配置文件,致使LINUX操作系統(tǒng)的啟動(dòng)故障,并隨后手動(dòng)引導(dǎo)了系統(tǒng)的正?;謴?fù)啟動(dòng)且恢復(fù)配置文件。但實(shí)驗(yàn)中,遇到許多未知的參數(shù)以及文件信息,需要通過查詢百度等手段找到其需要的修復(fù)方法。盡管過程所花精力很多,但結(jié)果是美好的。5參考文獻(xiàn)1新華網(wǎng).linuxgrub引導(dǎo)啟動(dòng)過程詳解J. ChinaUnix博客, 2008-04-062凌激冰. 教你一招超級(jí)簡單的方法快速搞定grub.conf文件的丟失及損壞J.51CTO博客,2012-12-033xiaoluo501395377. Linux學(xué)習(xí)之CentOS<二十一>-Linux系統(tǒng)啟動(dòng)詳解J,2013-05-19附錄1Grub是Linux的下系統(tǒng)啟動(dòng)器之一<另一個(gè)名為Lilo,grub.conf相當(dāng)于 windows下的boot.ini,都是存放啟動(dòng)項(xiàng)設(shè)置和信息的,如果你熟悉boot.ini的設(shè)置的話相信也可以很快適應(yīng)grub.conf,另外說下我的/boot是獨(dú)立分了個(gè)區(qū)出來的,所以你的grub.conf部分內(nèi)容可能與我的不完全一致。rootlocalhost root# cat /etc/grub.conf # grub.conf generated by anaconda #這個(gè)就不說了,你要喜歡改成by自己的名字也可以-.-# Note that you do not have to rerun grub after making changes to this file #注解:修改此文件后你不必重新運(yùn)行g(shù)rub<下次啟動(dòng)時(shí)會(huì)自動(dòng)生效# NOTICE: You have a /boot partition. This means that #注意:你有一個(gè)/boot分區(qū),這意味著一下幾點(diǎn):# all kernel and initrd paths are relative to /boot/, eg. # 此行表示所有kernel和initrd的文件路徑都在/boot/下# root <hd0,0> # root所在位置,注意此root在這里是根目錄,不是指root超級(jí)用戶# kernel /vmlinuz-version ro root=/dev/hda2 # 這項(xiàng)中間的version對應(yīng)你的kernel版本,稍后我會(huì)做點(diǎn)分析# initrd /initrd-version.img # 同上#boot=/dev/hda #這里說明了boot分區(qū)或者說目錄的所在的位置default=0 #菜單項(xiàng),0表示第一項(xiàng),如果是多系統(tǒng)可以修改此選項(xiàng)改變默認(rèn)光標(biāo)停留位置timeout=10 #在菜單到自動(dòng)啟動(dòng)系統(tǒng)前的停留時(shí)間,單位時(shí)間為sec,我修改為1,可以按需分配 #啟動(dòng)菜單的背景圖標(biāo),如果要修改的話需要使用對應(yīng)的圖片格式,xpm圖像title Red Hat Linux <2.4.20- 8>#啟動(dòng)項(xiàng)目的名稱,可以任意修改,比如title hahahahaha root <hd0,0> # root所在位置,為什么這里是hd0,0請參考磁盤在linux下的命名與定義kernel /vmlinuz-2.4.20-8 ro root=LABEL=/為kernel版本,rootLABEL=/為root路徑,可以修改,例:root=/dev/hda2 ro是以readonly的意思。注意我這里內(nèi)核前面的路徑是"/",因?yàn)槲业腷oot單獨(dú)分了一個(gè)區(qū),如果你沒有為boot單獨(dú)分區(qū),那么內(nèi)核前面的路 徑就是"/boot"。initrd用來初始的linux image,并設(shè)置相應(yīng)的參數(shù)。 # 同上,這個(gè)基本沒有改的價(jià)值與必要以上"kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ "這行后面可以添加acpi=on<off>參數(shù),開啟或關(guān)閉高級(jí)電源控制接口,本本的話如果沒開啟的話是無法使藍(lán)牙和無線網(wǎng)卡燈亮起的,這點(diǎn)要注意。以 上操作有可能會(huì)導(dǎo)致系統(tǒng)無法啟動(dòng),請仔細(xì)研究后再修改,另外本人可以保證以上解釋的正確性但是不承擔(dān)你的不當(dāng)操作引起的故障,謝謝。同時(shí)希望大家可以指出 錯(cuò)誤或不足的地方以便修改。附錄2機(jī)器加電啟動(dòng)后,BIOS開始檢測系統(tǒng)參數(shù),如內(nèi)存的大小,日期和時(shí)間,磁盤設(shè)備以及這些磁盤設(shè)備用來引導(dǎo)的順序,通常情況下,BIOS都是被配置成首先檢查軟驅(qū)或者光驅(qū)或兩者都檢查,然后再嘗試從硬盤引導(dǎo)。如果在這些可移動(dòng)的設(shè)備中,沒有找到可引導(dǎo)的介質(zhì),那么BIOS通常是轉(zhuǎn)向第一塊硬盤最初的幾個(gè)扇區(qū),尋找用于裝載操作系統(tǒng)的指令。裝載操作系統(tǒng)的這個(gè)程序就是boot loader.linux里面的boot loader通常是lilo或者grub,從Red Hat Linux 7.2起,GRUB<GRand Unified Bootloader>取代LILO成為了默認(rèn)的啟動(dòng)裝載程序。那么啟動(dòng)的時(shí)候grub是如何被載入的呢grub有幾個(gè)重要的文件,stage1,stage2,有的時(shí)候需要stage1.5.這些文件一般都在/boot/grub文件夾下面.grub被載入通常包括以下幾個(gè)步驟:1. 裝載基本的引導(dǎo)裝載程序<stage1>,stage1很小,網(wǎng)上說是512字節(jié),但是在我的系統(tǒng)上用 du -b /boot/grub/stage1 顯示的是1024個(gè)字節(jié),不知道是不是grub版本不同的緣故還是我理解有誤.stage1通常位于主引導(dǎo)扇區(qū)里面,對于硬盤就是MBR了,stage1的主要功能就是裝載第二引導(dǎo)程序<stage2>.這主要是歸結(jié)于在主引導(dǎo)扇區(qū)中沒有足夠的空間用于其他東西了,我用的是grub 0.93,stage2文件的大小是 107520 bit.2. 裝載第二引導(dǎo)裝載程序<stage2>,這第二引導(dǎo)裝載程序?qū)嶋H上是引出更高級(jí)的功能,以允許用戶裝載入一個(gè)特定的操作系統(tǒng)。在GRUB中,這步是讓用戶顯示一個(gè)菜單或是輸入命令。由于stage2很大,所以它一般位于文件系統(tǒng)之中<通常是boot所在的根分區(qū)>.上面還提到了stage1.5這個(gè)文件,它的作用是什么呢 你到/boot/grub目錄下看看,fat_stage_1.5 e2fs_stage_1.5 xfs_stage_1.5等等,很容易猜想stage1.5和文件系統(tǒng)有關(guān)系.有時(shí)候基本引導(dǎo)裝載程序<stage1>不能識(shí)別stage2所在的文件系統(tǒng)分區(qū),那么這時(shí)候就需要stage1.5來連接stage1和stage2了.因此對于不同的文件系統(tǒng)就會(huì)有不同的stage1.5.但是對于grub 0.93好像stage1.5并不是很重要,因?yàn)槲以囘^了,在沒有stage1.5的情況下, 我把stage1安裝在軟盤的引導(dǎo)扇區(qū)內(nèi),然后把stage2放在格式化成ext2或者fat格式的軟盤內(nèi),啟動(dòng)的時(shí)候照常引導(dǎo),并不需要e2fs_stage_1.5或者fat_stage_1.5. 下面是我的試驗(yàn): #mkfs.ext2 /dev/fd0 #mount -t ext2 /dev/fd0 /mnt/floppy #cd /mnt/floppy #mkdir boot #cd boot #mkdir grub <以上三步可用mkdir -p boot/grub命令完成> #cd grub #cp /boot/grub/stage1,stage2,grub.conf ./ #cd; umount /mnt/floppy 以上幾步把軟盤格式化成ext2格式,然后把stage1,stage2,grub.conf這幾個(gè)啟動(dòng)的時(shí)候必須的文件拷貝到軟盤的指定目錄下.下面安裝grub到軟盤上. #grub <進(jìn)入grub環(huán)境> grub> install <fd0>/boot/grub/stage1 <fd0> <fd0>/boot/grub/stage2p <fd0>/boot/grub/grub.conf 以上這條命令也可以用下面的兩句代替 grub>root <fd0> #grub的根目錄所在的分區(qū) grub>setup <fd0> #這一步就相當(dāng)于上面的install命令 我在這里解釋一下 install <fd0>/boot/grub/stage1 <fd0> <fd0>/boot/grub/stage2 p<fd0>/boot/grub/grub.conf 這條命令.install 告訴GRUB將<fd0>/boot/grub/grub/stage1 安裝到軟驅(qū)的引導(dǎo)扇區(qū)<fd0>.<fd0>/boot/grub/stage2 告訴grub stage2這個(gè)文件所在的位置.p 參數(shù)后面跟著<fd0>/boot/grub/grub.conf 告訴grub的配置文件所在的位置. 好了,讓BIOS從軟驅(qū)啟動(dòng),試一下,沒有e2fs_stage_1.5文件照樣能夠進(jìn)入系統(tǒng).其實(shí)這就是一個(gè)小小的啟動(dòng)盤啊.<了解了grub的運(yùn)行原理,就簡單多了_> 3. 現(xiàn)在我們已經(jīng)到grub的開機(jī)選單這一步了,接下來grub所需要做的就是裝載在一個(gè)特定分區(qū)上的操作系統(tǒng),如linux內(nèi)核。一旦GRUB從它的命令行或者配置文件中,接到開始操作系統(tǒng)的正確指令,它就尋找必要的引導(dǎo)文件,然后把機(jī)器的控制權(quán)移交給操作系統(tǒng).由于篇幅有限,避免冗長,grub的命令我就不多說了,網(wǎng)上很有多的資料,一個(gè)典型完整的引導(dǎo)linux的命令如下: title 51base root<hd0,0> kernel /bzImage ro root=/dev/ram0 initrd /initrd.img 這里有必要注意一下幾個(gè)問題: <1>grub的磁盤以及分區(qū)的命名方式和linux有所區(qū)別,第一個(gè)磁盤是從0開始,第一個(gè)分區(qū)也是從0開始.譬如第一個(gè)硬盤的第5分區(qū)在linux下面是/dev/hda5 ,而grub里面是<hd0,4>.再如/dev/fd0在grub里面是<fd0,0>.<最后一句如有錯(cuò)誤望提醒> <2>不管是IDE硬盤hda,hdb還是SCSI硬盤sda,sdb在grub里面都是以hd方式命名.譬如虛擬機(jī)里面的/dev/sda2在grub里面是<hd0,1>,再如/dev/hdb7在grub里面以<hd1,6>命名. <3>要搞清楚上面兩個(gè)root的關(guān)系,root <hd0,0>中的root是grub命令,它用來指定boot所在的分區(qū)作為grub的根目錄.而root=/dev/ram0是kernel的參數(shù),它告訴操作系統(tǒng)內(nèi)核加載完畢之后,真實(shí)的文件系統(tǒng)所在的設(shè)備.要注意grub的根目錄和文件系統(tǒng)的根目錄的區(qū)別. 再回到上面的幾行命令. kernel命令用來指定內(nèi)核所在的位置,"/"代表<hd0,0>,也就是grub的根目錄 initrd命令用來指定初始化ram的img文件所在位置. grub載入內(nèi)核bzImage并展開到指定位置<應(yīng)該是0x100000這個(gè)地方>,同時(shí)載入initrd.img到內(nèi)存<不知道是什么地方>.ps: grub的任務(wù)至此就結(jié)束了,下面grub將機(jī)器的控制權(quán)轉(zhuǎn)交給操作系統(tǒng)<linux>. 操作系統(tǒng)接到控制權(quán)之后,開始start_kernel,接著內(nèi)核將initrd.img展開到/dev/ram0為臨時(shí)根文件系統(tǒng),執(zhí)行里面的linuxrc文件. P.這里有必要說一下initrd的作用特別是它里面的核心文件linuxrc的作用. initrd是inital ram disk的宿寫. 當(dāng)存在initrd的時(shí)候,機(jī)器啟動(dòng)的過程大概是以下幾個(gè)步驟<當(dāng)initrd這一行用noinitrd 命令代替后,就不存在initrd了> 1>boot loader<grub>加載內(nèi)核和initrd.img 2>內(nèi)核將壓縮的initrd.img解壓成正常的ram disk并且釋放initrd所占的內(nèi)存空間 3>initrd作為根目錄以讀寫方式被掛載 4>initrd里面的文件linuxrc被執(zhí)行 5>linuxrc掛載新的文件系統(tǒng) 6>linuxrc使用pivot_root系統(tǒng)調(diào)用指定新的根目錄并將現(xiàn)有的根目錄place到指定位置. 7>在新的文件系統(tǒng)下正式init 8>initrd被卸載.3.2 解決系統(tǒng)網(wǎng)絡(luò)接口卡無法激活故障3.2.1 任務(wù)描述RHEL6 系統(tǒng)啟動(dòng)過程,控制臺(tái)登陸過程正常,使用ifconfig 查看網(wǎng)絡(luò)配置參數(shù)時(shí),發(fā)現(xiàn)系統(tǒng)僅僅激活了lo 接口,查找故障原因,在系統(tǒng)中激活兩塊以太網(wǎng)網(wǎng)卡,并獲取校園網(wǎng)DHCP的ip地址。實(shí)驗(yàn)環(huán)境:VMWARE平臺(tái) RHEL6基本系統(tǒng)VMWARE 虛擬平臺(tái)支持教師指導(dǎo):搜索引擎工具 網(wǎng)絡(luò)解決相關(guān)文件介紹完成要求:兩課時(shí)內(nèi)完成,成功解決兩塊網(wǎng)卡激活故障,網(wǎng)卡通過校園網(wǎng)DHCP獲得地址參數(shù),完成報(bào)告內(nèi)容3.2.2 任務(wù)分析過程主要現(xiàn)象描述:啟動(dòng)實(shí)驗(yàn)虛擬機(jī)后,使用ifconfig 查看網(wǎng)絡(luò)配置參數(shù)時(shí),發(fā)現(xiàn)系統(tǒng)僅僅激活了lo 接口,而其他兩網(wǎng)卡激活失敗。而lo接口為回環(huán)測試接口,IP地址為,并非校園網(wǎng)內(nèi)的IP地址。故障導(dǎo)致本虛擬機(jī)連接校園網(wǎng)失敗。 圖1 系統(tǒng)只有l(wèi)o接口激活問題定位:1 .系統(tǒng)結(jié)構(gòu)故障分析大小圖2 基本計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)步驟:右鍵"我的電腦"選擇"設(shè)備管理器" 查看網(wǎng)絡(luò)適配器圖查看系統(tǒng)網(wǎng)絡(luò)適配器選擇主網(wǎng)卡第一個(gè),右鍵打開"屬性",顯示設(shè)備正常并排除網(wǎng)卡故障。圖網(wǎng)卡正常2. 宿主故障分析步驟:雙擊桌面有下角的"小電腦"查看宿主機(jī)器網(wǎng)路連接狀態(tài)顯示已連接上。圖 5 網(wǎng)絡(luò)信息正常 查看本地連接狀態(tài),顯示IP地址是由校園DHCP指派,并且其他網(wǎng)絡(luò)信息正常。圖 6網(wǎng)絡(luò)信息正常圖7 宿主機(jī)正常上網(wǎng)3. VMware網(wǎng)絡(luò)設(shè)置故障分析步驟: 打開VMware Workstation,選擇"編輯"選項(xiàng)單擊打開"虛擬網(wǎng)絡(luò)編輯器"查看各虛擬網(wǎng)卡的信息圖8 虛擬網(wǎng)卡信息正常圖上顯示VMnet0 、VMnet1 、VMnet8已連接,DHCP已啟用。同時(shí)IP地址都是校園網(wǎng)中的IP,排除VMware的故障。 4. linux系統(tǒng)故障分析4.1 終端檢查網(wǎng)卡信息步驟:打開linux系統(tǒng)終端輸入命令"netstat -r"查看當(dāng)前路由及網(wǎng)卡信息輸入"service network status"查看當(dāng)前網(wǎng)卡狀態(tài)圖9 終端顯示網(wǎng)卡信息圖10虛擬機(jī)無法訪問網(wǎng)頁通過上述實(shí)驗(yàn)分析確定,Linux系統(tǒng)的網(wǎng)絡(luò)配置出現(xiàn)故障。3.2.2.3.解決步驟:1.通過"ifup" 、"ifdown"命令激活eth0網(wǎng)卡注:ifup和ifdown僅能就/etc/sysconfig/network-scripts內(nèi)的ifcfg-ethx<x為數(shù)字>進(jìn)行啟動(dòng)或關(guān)閉,并不能直接修改網(wǎng)絡(luò)的參數(shù),除非手動(dòng)的調(diào)整ifcfg-ethx文件才行。 至于ifconfig 則可以直接手動(dòng)給予某個(gè)界面IP或修改網(wǎng)絡(luò)參數(shù)。步驟:打開一個(gè)終端1、如果沒有eth0的話,那就直接ifup eth0;2、如果eth0已經(jīng)激活了,但是沒有IP的話,那就先ifdown eth0然后再ifup eth0。圖11 ifup、ifdown無法排除故障結(jié)論:方法1無法排除網(wǎng)卡激活故障。2. /etc/sysconfig/networ-script/ifcfg-*文件在Linux下網(wǎng)卡被稱為eth0,eth1,eth2, 所有網(wǎng)卡的配置文件都存儲(chǔ)在/etc/sysconfig/network-script/下,文件名是以ifcfg-eth0,ifcfg- eth1,ifcfg-eth2來命名的。一塊網(wǎng)卡對應(yīng)一個(gè)配置文件2.1 將ifcfg-*系列文件刪除步驟:通過"rm rf ifcfg-*"命令刪除ifcfg系列文件ls l|grep ifcfg。Eth0、Eth1的Mac地址圖12 ifcfg-eth0、eth1文件內(nèi)容再次搜索ifcfg-*文件刪除ifcfg*文件 用管道過濾出ifcfg-*文件圖13刪除ifcfg文件刪除文件后,在終端輸入"shutdown r now"重啟虛擬機(jī),再次"ifconfig -a"查看網(wǎng)卡信息圖14所有網(wǎng)卡信息消失 圖15 虛擬機(jī)配置文件信息圖16 原始配置文件信息對比發(fā)現(xiàn),終端顯示的網(wǎng)卡名稱為eth2、eth3,而不是eth0、eth1。原先查詢的ifcfg-eth0、eth1中的Mac地址是與原始配置文件的eth0、eth1的Mac地址不相同,但eth2、eth3的Mac地址卻與原始配置文件的eth0、eth1的Mac地址相同。進(jìn)一步實(shí)驗(yàn):"cd /etc/sysconfig/network-scripts",查找新網(wǎng)卡配置文件圖17 查找eth2文件實(shí)驗(yàn)后,發(fā)現(xiàn)無法找到eth2、eth3的相關(guān)文件記錄,eth0、eth1無法通過配置文件設(shè)置IP。注:經(jīng)查明,Linux是用/etc/network/interfaces這個(gè)配置文件來載入網(wǎng)卡的。默認(rèn)配置中,它指示Linux會(huì)自動(dòng)尋找eth0網(wǎng)卡,并自動(dòng)分配IP。但是,當(dāng)虛擬網(wǎng)卡的MAC地址更改后,網(wǎng)卡在Linux中不是eth0了,而是eth1或其它值。因此才會(huì)找不到。而現(xiàn)有系統(tǒng)中,有哪些網(wǎng)卡是可用的,可以通過下面的命令查看:ifconfig -a使用這個(gè)命令后確實(shí),發(fā)現(xiàn)每刷新一次mac地址,就生成一個(gè)新的eth。結(jié)論:方法2無法排除網(wǎng)卡激活故障。2.2 配置 /etc/sysconfig/networ-script/ifcfg-*文件步驟:打開終端找到ifcfg文件打開"ifcfg-eth0"注釋MAC地址"service network restart"重啟網(wǎng)絡(luò)服務(wù)圖18 注釋MAC并重啟實(shí)驗(yàn)后,eth0網(wǎng)卡并沒有激活,結(jié)合方法2,排除MAC不一致導(dǎo)致故障。結(jié)論:方法3無法排除網(wǎng)卡激活故障。2.3 /etc/udev/rules.d/70-persistent-net.rules文件2.3.1 配置/etc/udev/rules.d/70-persistent-net.rules文件打開70-persistent-net.rules并配置文件。圖19查找.rules文件發(fā)現(xiàn)有eth0、eth1、eth2、eth3,4個(gè)網(wǎng)卡記錄,以及相關(guān)的配置信息。注釋eth0,eth1網(wǎng)卡,修改eth2,eth3的網(wǎng)卡名稱并保存退出。圖20 查看并修改信息輸入"service network restart",重啟網(wǎng)絡(luò)服務(wù),發(fā)現(xiàn)無法找到eth0、eth1。重啟網(wǎng)絡(luò)服務(wù)修改網(wǎng)卡信息圖21 重啟網(wǎng)絡(luò)服務(wù)結(jié)論:方法4無法排除網(wǎng)卡激活故障。進(jìn)一步實(shí)驗(yàn):步驟:結(jié)合方法3和方法4,先將ifcfg-eth0的錯(cuò)誤MAC地址注釋,然后再改變"70-persistent-net.rules"中的網(wǎng)卡記錄。圖22 修改ifcfg-eth0文件修改網(wǎng)卡信息圖23 修改rule中記錄重啟網(wǎng)絡(luò)服務(wù)后,發(fā)現(xiàn)沒有eth0信息。然后嘗試"reboot"虛擬機(jī),發(fā)現(xiàn)eth0、eth1正常發(fā)配到IP:192.168.193.129 、172.16.57.55.同時(shí)路由表和ARP表都正常顯示eth0、eth1信息。圖24網(wǎng)卡自動(dòng)激活圖25 路由表表正常啟動(dòng)結(jié)論:方法5成功排除網(wǎng)卡激活故障。2.3.2 刪除/etc/udev/rules.d/70-persistent-net.rules文件步驟:如方法5一樣,先將ifcfg-eth0的錯(cuò)誤MAC地址注釋,然后再刪除 "70-persistent-net.rules"中的網(wǎng)卡記錄文件。 進(jìn)入/etc/udev/rules.d/目錄,用管道"grep"過濾出相應(yīng)文件。然后輸入"rm"命令刪除.rule文件。操作完畢,再重啟虛擬機(jī)。圖26刪除.rule文件重啟后,輸入ifconfig a,看到eth網(wǎng)卡被成功地自動(dòng)激活。圖27 網(wǎng)卡自動(dòng)激活圖28 新生成的.rule記錄正常結(jié)論:方法6成功排除網(wǎng)卡激活故障。深入思考:4.1 實(shí)驗(yàn)系統(tǒng)的功能結(jié)構(gòu)本次實(shí)驗(yàn)系統(tǒng)在WM虛擬機(jī)中進(jìn)行,宿主設(shè)備提供虛擬機(jī)實(shí)際網(wǎng)絡(luò)鏈路。而網(wǎng)絡(luò)的具體配置是由WMware Workstation的網(wǎng)絡(luò)參數(shù)配置及操作系統(tǒng)的具體網(wǎng)絡(luò)參數(shù)配置。圖29實(shí)驗(yàn)系統(tǒng)的功能結(jié)構(gòu)4.2 VMWARE網(wǎng)卡的虛擬化技術(shù)1bridge模式是最簡單的,使用橋接模式后虛擬機(jī)和真實(shí)主機(jī)的關(guān)系就好像兩臺(tái)接在一個(gè)hub上的電腦,想讓他們倆進(jìn)行通訊,你需要在虛擬機(jī)上配置的IP地址與真實(shí)機(jī)在同一個(gè)網(wǎng)段上,從下圖中可以看出,如果你不配置虛擬機(jī),虛擬機(jī)也沒有辦法得到DHCP分到的IP地址,所以只能使用169.254.這個(gè)段2Host-only模式用來建立隔離的虛擬機(jī)環(huán)境,在這種模式下,虛擬機(jī)與真實(shí)主機(jī)通過虛擬私有網(wǎng)絡(luò)進(jìn)行連接,只有同為Host-only模式下的且在一個(gè)虛擬交換機(jī)的連接下才可以互相訪問,外界無法訪問。host only模式只能使用私有IP,IP,gateway,DNS都由VMnet 1來分配。3NATnetwork address translation模式其實(shí)可以理解成為是方便地使虛擬機(jī)連接到公網(wǎng),代價(jià)是橋接模式下的其他功能都不能享用。凡是選用NAT結(jié)構(gòu)的虛擬機(jī),均由VMnet 8提供IP,gateway,DNS。4custom上是一個(gè)特殊的網(wǎng)卡包含以上這些可以根據(jù)需要用這些網(wǎng)卡組建一個(gè)局域網(wǎng)擬機(jī)中的網(wǎng)絡(luò)支持在主機(jī)上通過一個(gè)虛擬交換機(jī)或者網(wǎng)絡(luò)適配器完成,它實(shí)現(xiàn)幾種設(shè)備: · VMnet0 用于橋接網(wǎng)絡(luò)。· VMnet1 用于僅為主機(jī)網(wǎng)絡(luò)。· VMnet2 用于定制網(wǎng)絡(luò)。· VMnet3 用于定制網(wǎng)絡(luò)。· VMnet4 用于定制網(wǎng)絡(luò)。· VMnet5 用于定制網(wǎng)絡(luò)。· VMnet6 用于定制網(wǎng)絡(luò)。· VMnet7 用于定制網(wǎng)絡(luò)。· VMnet8 用于網(wǎng)絡(luò)地址翻譯<NAT>網(wǎng)絡(luò)。4.3 ifcfg-eth0參數(shù)的內(nèi)容以下簡單解釋ifcfg-eth文件中的內(nèi)容:DEVICE=物理設(shè)備名IPADDR=IP地址NETMASK=掩碼值NETWORK=網(wǎng)絡(luò)地址BROADCAST=廣播地址GATEWAY=網(wǎng)關(guān)地址ONBOOT=yes|no引導(dǎo)時(shí)是否激活設(shè)備USERCTL=yes|no非root用戶是否可以控制該設(shè)備BOOTPROTO=none|static|bootp|dhcp引導(dǎo)時(shí)不使用協(xié)議|靜態(tài)分配|BOOTP協(xié)議|DHCP協(xié)議HWADDR = 你的MAC地址4.4 UDEV系統(tǒng)在Linux早期,設(shè)備文件僅僅是是一些帶有適當(dāng)?shù)膶傩约钠胀ㄎ募?它由mknod命令創(chuàng)建,文件存放在/dev目錄下。后來,采用了devfs, 一個(gè)基于內(nèi)核的動(dòng)態(tài)設(shè)備文件系統(tǒng),他首次出現(xiàn)在內(nèi)核中。Mandrake,Gentoo等Linux分發(fā)版本采用了這種方式。devfs創(chuàng)建 的設(shè)備文件是動(dòng)態(tài)的。但是devfs有一些嚴(yán)重的限制,從版本后移走了。目前取代他的便是文本要提到的udev一個(gè)用戶空間程序。目前很多的Linux分發(fā)版本采納了udev的方式,因?yàn)樗贚inux設(shè)備訪問,特別是那些對設(shè)備有極端需求的站點(diǎn)<比如需要控制上千個(gè)硬盤>和熱插拔設(shè)備<比如USB攝像頭和MP3播放器>上解決了幾個(gè)問題。下面我我們來看看如何管理udev設(shè)備。實(shí)際上,對于那些為磁盤,終端設(shè)備等準(zhǔn)備的標(biāo)準(zhǔn)配置文件而言,你不需要修改什么。但是,你需要了解udev配置來使用新的或者外來設(shè)備,如果不修改配置, 這些設(shè)備可能無法訪問,或者說Linux可能會(huì)采用不恰當(dāng)?shù)拿?屬組或權(quán)限來創(chuàng)建這些設(shè)備文件。你可能也想知道如何修改RS232串口,音頻設(shè)備等文件的屬組或者權(quán)限。這點(diǎn)在實(shí)際的Linux實(shí)施中是會(huì)遇到的。原文地址:http:/3.2.2.5 總結(jié) 本次實(shí)驗(yàn),是為了熟悉Linux中的網(wǎng)絡(luò)文件配置。通過linux網(wǎng)卡的未激活問題,我可以從多方面、不同方法嘗試尋找問題,解決問題。同時(shí)老師也點(diǎn)出了許多技術(shù)上的思路和方法給我們自己去嘗試和總結(jié)。在實(shí)驗(yàn)過程中,我花了更多的時(shí)間在百度,查找資料上,而不是實(shí)驗(yàn)本身。因?yàn)槲蚁M麑ふ业礁嗪唵尾⒊晒Φ姆椒?也能學(xué)習(xí)到更多不同的東西。3.2.2.6 參考文獻(xiàn)1無雙的小寶.Linux詳解udev R.cnblogs,2013-01-092萬維網(wǎng).udev and devfs - The final word Z.Wikipedia,2003-12-303ulka.VM中網(wǎng)卡的四個(gè)選項(xiàng) N.51CTO技術(shù)論壇,2010-4-304Andrew J.Hutton.Proceedings of the Linux Symposium C.baidu文庫,2010-07-25Ø 總結(jié)你在完成故障定位任務(wù)時(shí)的思路,工具,困難。3.3 解決PUTTY窗口的登陸問題3.3.1 任務(wù)描述RHEL統(tǒng)啟動(dòng)過程,控制臺(tái)登陸過程正常,使用PUTTY客戶端連接SSHD服務(wù)段,實(shí)現(xiàn)RHEL 主機(jī)的遠(yuǎn)程管理,發(fā)現(xiàn)登陸失敗,查找原因并修復(fù)。 實(shí)驗(yàn)環(huán)境:VMWARE平臺(tái) RHEL基本系統(tǒng)包含GRUB數(shù)據(jù)錯(cuò)誤教師指導(dǎo):搜索引擎工具 putty知識(shí)介紹完成要求:兩課時(shí)完成,成功解決PUTTY登陸問題。完成報(bào)告內(nèi)容。3.3.2 任務(wù)分析過程解決PUTTY窗口的登陸問題1、任務(wù)描述RHEL統(tǒng)啟動(dòng)過程,控制臺(tái)登陸過程正常,使用PUTTY客戶端連接SSHD服務(wù)段,實(shí)現(xiàn)RHEL 主機(jī)的遠(yuǎn)程管理,發(fā)現(xiàn)登陸失敗,查找原因并修復(fù)。 實(shí)驗(yàn)環(huán)境:VMWARE平臺(tái) RHEL基本系統(tǒng)包含GRUB數(shù)據(jù)錯(cuò)誤教師指導(dǎo):搜索引擎工具 putty知識(shí)介紹完成要求:兩課時(shí)完成,成功解決PUTTY登陸問題。完成報(bào)告內(nèi)容。2、任務(wù)分析過程 1主要現(xiàn)象描述:在宿主機(jī)上,嘗試用putty窗口遠(yuǎn)程登陸虛擬機(jī),輸入linux機(jī)器的IP地址和默認(rèn)22端口,確認(rèn)登陸。但putty窗口彈出"network error:No route to host "的錯(cuò)誤提示,無法成功地遠(yuǎn)程虛擬機(jī)。圖1 putty登陸窗口/putty登陸失敗圖2登陸失敗2問題定位:錯(cuò)誤提示為"Network error:No route to host",說明宿主機(jī)無法找到虛擬機(jī)地址或無法識(shí)別虛擬機(jī)的端口。2.1 宿主機(jī)的網(wǎng)絡(luò)設(shè)置故障分析步驟:雙擊桌面右下角的"小電腦"查看宿主機(jī)器網(wǎng)路連接狀態(tài)。/網(wǎng)絡(luò)連接正常圖 3 網(wǎng)絡(luò)信息正常經(jīng)檢查,宿主機(jī)的網(wǎng)絡(luò)正常連通,所以排除宿主機(jī)網(wǎng)絡(luò)配置故障。2.2 VMWARE的虛擬網(wǎng)絡(luò)參數(shù)配置故障分析步驟:打開VMware Workstation,選擇"編輯"選項(xiàng)單擊打開"虛擬網(wǎng)絡(luò)編輯器"查看各虛擬網(wǎng)卡的信息 。/虛擬網(wǎng)絡(luò)正常啟動(dòng)圖4 虛擬網(wǎng)卡信息正常圖上顯示VMnet0 、VMnet1 、VMnet8已連接,DHCP已啟用,正常分配子網(wǎng)IP,所以排除VMware的網(wǎng)絡(luò)故障。 2.3 虛擬機(jī)的網(wǎng)絡(luò)參數(shù)配置故障分析步驟:正常啟動(dòng)linux操作系統(tǒng)后,打開終端輸入"ifconfig"命令,查看系統(tǒng)的網(wǎng)絡(luò)信息。/IP地址網(wǎng)段不同于子網(wǎng)段或宿主機(jī)網(wǎng)段圖5 網(wǎng)絡(luò)信息不符由上圖得知,虛擬機(jī)中的網(wǎng)絡(luò)信息出現(xiàn)問題,IP地址網(wǎng)段不在于子網(wǎng)段或宿主機(jī)網(wǎng)段,導(dǎo)致虛擬機(jī)與宿主機(jī)無法連通。證明因虛擬機(jī)的網(wǎng)絡(luò)參數(shù)配置故障導(dǎo)致無法遠(yuǎn)程連接。2.4虛擬機(jī)的SSH服務(wù)器參數(shù)配置故障分析步驟:打開終端輸入"netstat antp|grep sshd"命令,查看ssh程序是否啟動(dòng)和SSH的監(jiān)聽端口。/SSH程序正常啟動(dòng)圖6 查看ssh程序信息由上圖得知,ssh的默認(rèn)端口不是 22,而是1500。證明ssh的配置改變了,導(dǎo)致putty登陸失敗。3解決步驟:3.1 編輯虛擬機(jī)設(shè)置打開虛擬機(jī)后,發(fā)現(xiàn)IP地址不屬于宿主機(jī)網(wǎng)段或VM子網(wǎng)段,本次實(shí)驗(yàn)需實(shí)現(xiàn)宿主機(jī)遠(yuǎn)程登陸實(shí)驗(yàn)機(jī),所以第一步操作就是讓宿主機(jī)的DHCP能為實(shí)驗(yàn)機(jī)分配IP地址。步驟: 雙擊虛擬機(jī)右下角的小電腦選擇網(wǎng)絡(luò)適配器在網(wǎng)絡(luò)連接,單擊橋接模式。/選擇橋接模式圖7 設(shè)置網(wǎng)絡(luò)設(shè)置3.2 設(shè)置Linux系統(tǒng)的網(wǎng)絡(luò)配置步驟:打開終端,輸入"setup",進(jìn)入系統(tǒng)配置模式打開網(wǎng)絡(luò)配置,按空格,啟動(dòng)DHCP并保存退出。注:可以直接配置eth0網(wǎng)關(guān)配置文件查看eth0網(wǎng)卡信息:在終端輸入"cat /etc/sysconfig/ifcfg-eth0"顯示成功設(shè)置為dhcp。在終端,輸入"service network restart" 成功重啟網(wǎng)絡(luò)輸入"ifconfig"查看eth0信息。/正確分配IP地址/重啟網(wǎng)絡(luò)成功/進(jìn)入配置模式圖8重設(shè)實(shí)驗(yàn)機(jī)網(wǎng)絡(luò)配置回到宿主機(jī),打開cmd.exe輸入""命令成功ping通實(shí)驗(yàn)機(jī)。/ping成功圖9兩臺(tái)機(jī)器正常連通證明宿主機(jī)和實(shí)驗(yàn)機(jī)所處的網(wǎng)絡(luò)環(huán)境是正常的。 3.2.5 嘗試在宿主機(jī)通過putty窗口遠(yuǎn)程登錄實(shí)驗(yàn)機(jī),發(fā)現(xiàn)還是無法成功遠(yuǎn)程登錄。/登陸失敗圖10遠(yuǎn)程登陸失敗3.3 配置SSH服務(wù)器配置文件完成了以上步驟,依然沒有成功解決putty登陸問題。證明SSH的配置也存在問題。由故障分析2.4可得,SSH程序的監(jiān)聽端口被改為1500。步驟:在終端輸入"vi /etc/ssh/sshd_config",修改配置文件將Port項(xiàng)改為22,并保存退出。 /修改端口號(hào)圖11修改ssh配置文件 輸入"service ssh restart",重啟ssh服務(wù)器。/重啟成功圖12 重啟ssh服務(wù)器再次嘗試遠(yuǎn)程登陸,但是依然失敗。圖13 登陸失敗3.4 關(guān)閉防火墻經(jīng)查證 Linux系統(tǒng)進(jìn)行遠(yuǎn)程登陸,需要關(guān)閉其防火墻。步驟:輸入"service iptables stop"查看ssh的監(jiān)聽狀態(tài)。/關(guān)閉成功圖14 關(guān)閉防火墻完成以上步驟,再次嘗試遠(yuǎn)程登陸。在putty窗口點(diǎn)擊"open"后,彈出putty的安全警告窗口單擊"是",進(jìn)入登陸界面輸入登陸賬號(hào)和密碼,成功遠(yuǎn)程登陸。圖15 彈出警告信息圖16 成功遠(yuǎn)程登陸3.5 PUTTY公鑰登陸生成私鑰/公鑰的方法有兩種:linux的ssh-keygen或putty-keygen.1步驟:輸入ssh-keygen t rsa<rsa或dsa兩種加密方式>輸入密碼成功生成秘鑰。 /生成秘鑰圖17 生成并顯示秘鑰2修改sshd_conf配置文件。/修改文件項(xiàng)/生成秘鑰圖18 修改秘鑰文件/修改文件名3修改公鑰的名字,與sshd_conf的公鑰名相同。圖19 修改秘鑰文件4重啟SSH服務(wù)器。/重啟ssh圖20重啟ssh5虛擬機(jī)中生成的公鑰共享到宿主機(jī)中,并用putty-keygen工具將公鑰文件轉(zhuǎn)為ppk格式。注:ppk格式putty才能識(shí)別。圖21 轉(zhuǎn)換私鑰格式6將公鑰加載到Putty中,并確認(rèn)"Open".圖22 putty窗口載入秘鑰<7>輸入賬號(hào)和公鑰口令登陸。圖23 putty登陸成功4綜合分析4.1 putty窗口介紹PuTTY是一個(gè)Telnet、SSH、rlogin、純TCP以及串行接口連接軟件。較早的版本僅支持Windows平臺(tái),在最近的版本中開始支持各類Unix平臺(tái),并打算移植至Mac OS X上。除了官方版本外,有許多第三方的團(tuán)體或個(gè)人將PuTTY移植到其他平臺(tái)上,像是以Symbian為基礎(chǔ)的移動(dòng)電話。PuTTY為一開放源代碼軟件,主要由Simon Tatham維護(hù),使用MIT licence授權(quán)。隨著Linux在服務(wù)器端應(yīng)用的普及,Linux系統(tǒng)管理越來越依賴于遠(yuǎn)程。在各種遠(yuǎn)程登錄工具中,Putty是出色的工具之一。Putty是一個(gè)免費(fèi)的、Windows 32平臺(tái)下的telnet、rlogin和ssh客戶端,但是功能絲毫不遜色于商業(yè)的telnet類工具。目前最新的版本為0.63。4.2 SSH遠(yuǎn)程協(xié)議分析介紹: 為 Secure Shell安全外殼協(xié)議縮寫,由 IETF 的網(wǎng)絡(luò)工作小組Network Working Group所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。SSH最初是UNIX系統(tǒng)上的一個(gè)程序,后來又迅速擴(kuò)展到其他操作平臺(tái)。SSH在正確使用時(shí)可彌補(bǔ)網(wǎng)絡(luò)中的漏洞。SSH客戶端適用于多種平臺(tái)。幾乎所有UNIX平臺(tái)包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺(tái),都可運(yùn)行SSH。圖24 SSH的工作模型OPENSSH:是 SSHSecureSHell 協(xié)議的免費(fèi)開源實(shí)現(xiàn)。它用安全、加密的網(wǎng)絡(luò)連接工具代替了telnet、ftp、rlogin、rsh和rcp工具。該協(xié)議默認(rèn)使用RSA鑰匙OpenSSH支持SSH協(xié)議的版本1.3、1.5和2。自從OpenSSH的版本2.9以來,默認(rèn)的 協(xié)議是版本2。最新OpenSSH版本:3.9。OPENSSH優(yōu)點(diǎn):1、加密方式傳輸2、傳輸數(shù)據(jù)經(jīng)過壓縮,可加快傳輸速3、可實(shí)現(xiàn)遠(yuǎn)程控制、數(shù)據(jù)傳輸拷貝及FTP方式SSH認(rèn)證協(xié)議:RSA和DSA認(rèn)證協(xié)議的基礎(chǔ)是一對專門生成的密鑰,分別叫做專用密鑰和公用密鑰。在許多情況下,有可能不必手工輸入密碼就能建立起安全的連接。SSH協(xié)議第一版支持基于RSA的認(rèn)證。SSH協(xié)議第二版支持使用RSA或DSA算法。從客戶端來看,SSH提供兩種級(jí)別的安全驗(yàn)證。第一種級(jí)別基于口令的安全驗(yàn)證圖25基于口令的安全驗(yàn)證第二種級(jí)別基于密匙的安全驗(yàn)證圖26基于密匙的安全驗(yàn)證4.3 VMWARE的網(wǎng)絡(luò)模式1bridge模式是最簡單的,使用橋接模式后虛擬機(jī)和真實(shí)主機(jī)的關(guān)系就好像兩臺(tái)接在一個(gè)hub上的電腦,想讓他們倆進(jìn)行通訊,你需要在虛擬機(jī)上配置的IP地址與真實(shí)機(jī)在同一個(gè)網(wǎng)段上,從下圖中可以看出,如果你不配置虛擬機(jī),虛擬機(jī)也沒有辦法得到DHCP分到的IP地址,所以只能使用169.254.這個(gè)段2Host-only模式用來建立隔離的虛擬機(jī)環(huán)境,在這種模式下,虛擬機(jī)與真實(shí)主機(jī)通過虛擬私有網(wǎng)絡(luò)進(jìn)行連接,只有同為Host-only模式下的且在一個(gè)虛擬交換機(jī)的連接下才可以互相訪問,外界無法訪問。host only模式只能使用私有IP,IP,gateway,DNS都由VMnet 1來分配。3NATnetwork address translation模式其實(shí)可以理解成為是方便地使虛擬機(jī)連接到公網(wǎng),代價(jià)是橋接模式下的其他功能都不能享用。凡是選用NAT結(jié)構(gòu)的虛擬機(jī),均由VMnet 8提供IP,gateway,DNS。4custom上是一個(gè)特殊的網(wǎng)卡包含以上這些可以根據(jù)需要用這些網(wǎng)卡組建一個(gè)局域網(wǎng)擬機(jī)中的網(wǎng)絡(luò)支持在主機(jī)上通過一個(gè)虛擬交換機(jī)或者網(wǎng)絡(luò)適配器完成,它實(shí)現(xiàn)幾種設(shè)備: VMnet0 用于橋接網(wǎng)絡(luò)。VMnet1 用于僅為主機(jī)網(wǎng)絡(luò)。VMnet2 用于定制網(wǎng)絡(luò)。VMnet3 用于定制網(wǎng)絡(luò)。VMnet4 用于定制網(wǎng)絡(luò)。VMnet5 用于定制網(wǎng)絡(luò)。VMnet6 用于定制網(wǎng)絡(luò)。VMnet7 用于定制網(wǎng)絡(luò)。VMnet8 用于網(wǎng)絡(luò)地址翻譯<NAT>網(wǎng)絡(luò)。 4.4 Linux防火墻介紹:iptables 是與最新的 3.5 版本 Linux 內(nèi)核集成的 IP 信息包過濾系統(tǒng)。如果 Linux 系統(tǒng)連接到因特網(wǎng)或 LAN、服務(wù)器或連接 LAN 和因特網(wǎng)的代理服務(wù)器, 則該系統(tǒng)有利于在 Linux 系統(tǒng)上更好地控制 IP 信息包過濾和防火墻配置。防火墻在做信息包過濾決定時(shí),有一套遵循和組成的規(guī)則,這些規(guī)則存儲(chǔ)在專用的信息包過濾表中,而這些表集成在 Linux 內(nèi)核中。在信息包過濾表中,規(guī)則被分組放在我們所謂的鏈chain中。而netfilter/iptables IP 信息包過濾系統(tǒng)是一款功能強(qiáng)大的工具,可用于添加、編輯和移除規(guī)則。1、netfilter 組件也稱為內(nèi)核空間kernelspace,是內(nèi)核的一部分,由一些信息包過濾表組成,這些表包含內(nèi)核用來控制信息包過濾處理的規(guī)則集。 2、iptables 組件是一種工具,也稱為用戶空間userspace,它使插入、修改和除去信息包過濾表中的規(guī)則變得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否則需要下載該工具并安裝使用它。圖27 iptables運(yùn)作過程5總結(jié)隨著Linux在服務(wù)器端應(yīng)用的普及,Linux系統(tǒng)管理越來越依賴于遠(yuǎn)程。所以熟知配置好遠(yuǎn)程登陸機(jī)制是當(dāng)今網(wǎng)絡(luò)管理的重要手段。本次實(shí)驗(yàn),我通過從改變虛擬機(jī)網(wǎng)絡(luò)連接模式,到修改實(shí)驗(yàn)機(jī)網(wǎng)絡(luò)配置,再到修改SSH服務(wù)器配置文件和iptables的一些設(shè)置。實(shí)驗(yàn)步驟登陸結(jié)果修改網(wǎng)絡(luò)連接模式修改實(shí)驗(yàn)機(jī)網(wǎng)絡(luò)信息失敗修改網(wǎng)絡(luò)連接模式修改實(shí)驗(yàn)機(jī)網(wǎng)絡(luò)信息修改SSH配置文件失敗修改網(wǎng)絡(luò)連接模式修改實(shí)驗(yàn)機(jī)網(wǎng)絡(luò)信息修改SSH配置文件關(guān)閉iptables成功從大到小的過程,較全面的了解Linux的SSH服務(wù)器配置。在這實(shí)驗(yàn)中,SSH服務(wù)器的設(shè)置和iptables是新知識(shí)點(diǎn),我按序就班地進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)故障原因,最后解決問題。從中收獲了很多。6參考文獻(xiàn)1天地筆飲客.PuTTY CPBaidu百科,2013-08-062quanzhou722.玩轉(zhuǎn)Linux防火墻CP.Baidu文庫,2010-11-293othella.IPTABLES CP. Baidu百科,2015-03-174talmud.ssh安全外殼協(xié)議CP.baidu文庫,2014-11-135GDLC. TELNET、OPENSSHR.,2012-23.4 解決 PUTTY窗口的亂碼問題3.4.1 任務(wù)描述RHEL統(tǒng)啟動(dòng)過程,控制臺(tái)登陸過程正常,使用PUTTY客戶端連接SSHD服務(wù)段,實(shí)現(xiàn)RHEL 主機(jī)的遠(yuǎn)程管理,發(fā)現(xiàn)PUTTY的顯示信息中出現(xiàn)亂碼,查找原因并修復(fù)。 實(shí)驗(yàn)環(huán)境:VMWARE平臺(tái) RHEL基本系統(tǒng)包含GRUB數(shù)據(jù)錯(cuò)誤教師指導(dǎo):搜索引擎工