Linux網絡管理

前言

只有光頭才能變強前端

回顧前面:linux

這篇主要講解在Linux下網絡的管理shell

那麼接下來就開始吧,若是文章有錯誤的地方請你們多多包涵,不吝在評論區指正哦~windows

聲明:基於Centos6.9瀏覽器

1、Linux下的網絡

Linux支持各類協議類型的網絡緩存

  • TCP/IP、NetBIOS/NetBEUI、IPX/SPX、AppleTake等
  • 在網絡底層也支持Ethernet、Token Ring、ATM、PPP(PPPoE)、FDDI、Frame Relay等網絡協議。
  • 這些網絡協議是Linux內核提供的功能,具體的支持狀況由內核編譯參數決定。

配置網絡參數有兩種方式:bash

  • 臨時性網絡配置
    • 經過命令修改當前內核中的網絡相關參數實現,配置後當即生效,從新開機後失效
  • 永久性網絡配置
    • 經過直接修改網絡相關的配置文件實現,須要重啓服務,從新開機後保留全部配置

在Linux下配置網絡,總會遇到橋接和NAT模式的概念的,這裏我簡要摘抄一下:服務器

  • 橋接模式的虛擬機,就像一個在路由器"民政局"那裏"上過戶口"的成年人,有本身單獨的居住地址,雖然和主機住在同一個大院裏,但好歹是有戶口的人,能夠大搖大擺地直接和外面通訊。
  • NAT模式的虛擬機,純粹就是一個沒上過戶口的黑戶,路由器"民政局"根本不知道有這麼我的,天然也不會主動和它通訊。即便虛擬機偶爾要向外面發送點的信件,都得交給主機以主機的名義轉發出去,主機還專門請了一位叫作NAT的老大爺來專門負責這些虛擬機的發信、收信事宜。
  • 僅主機模式的虛擬機,純粹是一個不折不扣的黑奴,不只沒有戶口、路由器"民政局"不知道這麼號人,還被主機關在小黑屋裏,連信件也不許往外發。

參考資料:微信

1.1經常使用的管理網絡命令

網絡接口相關網絡

  • 查看網絡接口配置:ifconfig [ethX]
  • 網絡接口的啓用與停用:使用 ifup ethX 命令來啓用指定的接口,使用 ifdown ethX 命令來禁用指定的接口

臨時配置相關

  • ifconfig命令能夠臨時地設置網絡接口的IP參數
  • route命令能夠臨時地設置內核路由表
  • 使用hostname命令能夠臨時地修改主機名
  • 使用sysctl命令能夠臨時地開啓內核的包轉發

使用命令來作網絡的臨時配置,要作到永久配置就須要直接修改文件的方式了!

網絡檢測的經常使用工具:

  • ifconfig 檢測網絡接口配置
  • route 檢測路由配置
  • ping 檢測網絡連通性
  • netstat 查看網絡狀態
  • lsof 查看指定IP 和/或 端口的進程的當前運行狀況
  • host/dig/nslookup 檢測DNS解析
  • traceroute 檢測到目的主機所通過的路由器
  • tcpdump 顯示本機網絡流量的狀態

1.1配置Linux網絡練習題

檢查windows的virtualbox虛擬網卡是否禁用,若是禁用,請啓動;以root帳戶登陸,用ifconfig檢查當前網絡配置;而後分別用ifup命令啓動eth0網卡和eth1網卡,觀察結果,並記錄網卡綁定的ip地址,在第五部分記錄。關閉檢查防火牆的狀態,若是防火牆已啓動,請關閉linux系統的防火牆,

啓動putty,在Host Name輸入框中輸入eth1網卡當前的ip地址,connection type 選擇SSH,Port爲22;按「open」按鈕,提示Putty Security Alert對話框,選擇肯定;分別以root帳戶,jkXX帳戶登陸

在root帳戶登陸的putty終端上查看(ps au)當前用戶運行的進程,找到jk08帳戶運行的shell程序的pid,而且在第五部分記錄。在root帳戶登陸的putty終端上,用kill命令殺死剛纔記錄的shell程序;

殺死一個進程須要什麼條件?若是是peter帳戶,是否能夠殺死jason帳戶運行的進程?

答:殺死一個進程,應得到這個進程控制的權利,好比得到進程所屬帳戶的權限;或者得到超級帳戶的權限。若是是peter帳戶,沒有得到jason帳戶的權限,所以,殺死jason帳戶下運行的進程是被禁止的。

用路由命令查看當前網絡路由情況,並用ping命令測試外部網站地址是否能夠連通;並截圖

用ifconfig查看eth0的當前ip地址;修改ip地址,地址的最後一段數字比原來的大1,查看是否成功;用ifconfig修改eth0的地址,要求指定掩碼和廣播地址,其中掩碼爲B類地址掩碼;用路由命令觀察路由表的變化;

在eth1網卡上添加一個主機路由,要求其主機ip地址爲192.168.3.3;在eth0網卡上添加一個網絡路由,網絡地址爲10.20.0.0,掩碼是255.255.0.0;觀察路由表中的默認路由,根據步驟(2)觀察到的默認路由,恢復默認網關路由,並測試網絡與外部網站的連通性;

給網卡eth1設置別名eth1:0,ip地址比eth1的ip地址最後一段數字大1;從windows端,用ping命令測試eth1和eth1:0的連通性;中止eth1:0工做,觀察結果,並截圖

修該主機名稱爲serverXX(XX爲學生學號末兩位),退出shell從新登陸;觀察內核參數net.ipv4.ip_forward的值,將其修改成1;

爲何默認路由記錄不見了,可能的緣由是?

答:修改了默認路由通過的網卡eth0的ip地址,對原有路由影響較大,所以系統自動將默認路由刪除。

一個網卡有多個IP地址有什麼好處?

答:好處是有利於在一個網卡上綁定多個相同的網絡服務,好比能夠綁定多個網站。

編輯eth0和eth1的網絡接口文件,要求修改成啓動時自動啓動設備;而且要求eth1的地址爲192.168.56.121,網絡前綴爲26;系統重啓,檢驗網卡是否自動啓動,及其IP地址;

編輯本地域名解析配置文件,要求添加10.0.2.2地址,對應的域名爲gateXX(其中XX爲學生學號的末兩位),存盤退出;執行ping命令,參數爲gateXX,檢查經過域名是否能夠連通對應的ip地址;

編輯文件,使得系統支持ip包轉發;用sysctl -p命令讓修改結果生效;

用ping命令測試網站www.qq.com,要求只發送10次ICMP測試包;用netstat命令觀察網絡接口信息;用netstat命令觀察路由表信息;用netstat命令觀察正在監聽的tcp端口;用netstat命令觀察正在監聽的udp端口;

sysctl -p看到的是配置文件中的數據,仍是內存中的數據?

答:看到的既是配置文件中的數據,也是內存中的數據。由於-p參數的意思是把配置文件中的數據更新到內存中。

2、安裝軟件

通常咱們的Centos下安裝軟件能夠直接使用yum命令來安裝,很是方便。在yum以前還有一個RPM,來看看它的區別:

  • rpm是由紅帽公司開發的軟件包管理方式,使用rpm咱們能夠方便的進行軟件的安裝、查詢、卸載、升級等工做。可是rpm軟件包之間的依賴性問題每每會很繁瑣,尤爲是軟件由多個rpm包組成時。
  • Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。

2.1yum使用

yum  [全局參數] 命令 [命令參數]
複製代碼

經常使用的全局參數:

  • -y:對yum命令的提問回答「是(yes)」
  • -C:只利用本地緩存,不從遠程倉庫下載文件
  • --enablerepo=REPO:臨時啓用指定的名爲REPO的倉庫
  • --disablerepo=REPO:臨時禁用指定的名爲REPO的倉庫
  • --installlroot=PATH:指定安裝軟件時的根目錄,主要用於爲chroot環境安裝軟件

2.2幾種經常使用的網絡工具

2.3練習yum安裝軟件與使用

用yum查找軟件包tree,lsof,traceroute,觀察結果;查找tree軟件包的基本信息;安裝tree,lsof,traceroute三個軟件包

運行命令tree,查看/etc目錄下的子目錄狀況;運行lsof查看使用網絡tcp端口22的是哪一個應用;用traceroute命令觀察某個網站通過了多少個路由

用瀏覽器打開網站http://www.rpmfind.net,分別查找軟件包system-config-network-tui, tree, ntsysv,找到軟件包,並複製下載連接;在linux中用wget下載連接,成功下載後,用長格式列出該文件

用rpm工具查看全部已經安裝的軟件包,並將結果輸出到文件installXX.txt,其中(XX爲學生學號末兩位);用rpm查看bash的軟件包信息;用rpm查看安裝包文件的數字簽名信息;

使用rpm分別安裝第2步下載的三個軟件包;它們都能順利安裝嗎?爲何會出錯;觀察結果,

哪一個軟件包不能順利安裝,爲何?應該怎樣安裝該軟件?

答:system-config-network-tui-1.6.0.el6.3-4.el6.noarch.rpm軟件包不能順利安裝,由於這個軟件包依賴其餘軟件包,應把依賴的軟件包先安裝,才能安裝這個軟件包。能夠yum工具安裝,它能夠自動安裝依賴的軟件包。

4、總結

本文主要是總結了Linux下網絡和安裝軟件的知識~~~這兩個知識點在Linux下也是很重要的,是學習Linux的基礎~

繼續完善上一次的思惟導圖

若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗,能夠關注微信公衆號:Java3y

文章的目錄導航

相關文章
相關標籤/搜索