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