共計 6052 個字符,預(yù)計需要花費 16 分鐘才能閱讀完成。
這篇文章主要講解了“Linux 網(wǎng)絡(luò)怎么配置”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Linux 網(wǎng)絡(luò)怎么配置”吧!
配置 Linux 網(wǎng)絡(luò)
既然要配置網(wǎng)絡(luò),我們先看看網(wǎng)絡(luò)的配置文件在哪里,以及相關(guān)的配置有哪些,分別代表是什么意思
打開網(wǎng)絡(luò)配置文件
網(wǎng)絡(luò)配置文件
BOOTPROTO = static,表示啟用了靜態(tài) IP 地址,默認為 none
NAME = eth0,與網(wǎng)卡配置文件對應(yīng)的一個標簽,如果為 eth0 則配置文件是 ifcfg-eth0
UUID = xxxx,網(wǎng)卡唯一設(shè)備標識,系統(tǒng)自動得生成
DEVICE = XXX,網(wǎng)卡設(shè)備名稱,是物理設(shè)備標識
IPADDR0 = XXX,表示設(shè)置 IP 地址。這里注意后面的數(shù)字,在 Centos7 以后可以一個網(wǎng)卡配置多個 IP 地址
PREFIX0 = 24,設(shè)置子網(wǎng)掩碼,這里設(shè)置子網(wǎng)掩碼的方法和之前的版本也不一樣,24 代表是 255.255.255.0
Getway = XXX,網(wǎng)關(guān)地址,什么是網(wǎng)關(guān)線面會詳細闡述
知道配置文件每一行代表的含義以后,就可以根據(jù)自己的需求進行配置了,記得配置完成以后重啟網(wǎng)絡(luò),如果是 Centos7,那么命令將是下方的命令
service network restart
本地回環(huán)配置文件
本地回環(huán)配置文件
第一行:Device:網(wǎng)絡(luò)的設(shè)備名
第二到四行:lo 接口的 IP 地址,子網(wǎng)掩碼,網(wǎng)絡(luò)號
第七行:lo 接口的廣播地址
第八行:開機啟動 lo 接口
第九行:將 lo 接口設(shè)置為本地回環(huán)地址
DNS 配置文件 /etc/resolv.conf
DNS 配置文件
這里的「namespace」表示域名服務(wù)器,后面的 IP 地址就是 DNS 服務(wù)器,當用戶在 Linux 中訪問某個域名的時候,就需要靠這些 DNS 服務(wù)器來解析
設(shè)置主機和 IP 綁定配置文件 /etc/hosts
為什么會說說這個配置文件呢,因為當在部署集群的時候,我們需要在此配置,方便我們不用每次都是輸入其他機器得 IP 進行訪問,而是直接使用用戶名即可。
類似于 Windows 下得 hosts 文件,我們看看 Linux 中的 /etc/hosts 的內(nèi)容
hosts 配置文件
從上面我們發(fā)現(xiàn),hosts 文件中的每一行內(nèi)容為一個主機,每一行由三個部分組成,其中每個部分按空格隔開。
多說一句,以后大家如果需要分析一些日志文件的時候,一定要清楚是按照什么分割的,免得浪費了時間卻還沒有處理好問題
第一部分:網(wǎng)絡(luò) IP 地址
第二部分:主機名域名
第三部分:主機名
路由
我和你的通信需要網(wǎng)絡(luò)的傳輸,這個傳輸過程中可以說經(jīng)歷了九九八十一難,看到此,是不是點個贊讓我安穩(wěn)下心靈,停,不是現(xiàn)在拉下去點贊,晚點晚點
就是這樣穿過無數(shù)的節(jié)點,無數(shù)的路由器才將信息傳遞到你的屏幕
那么為了保證將信息傳遞給你,在數(shù)據(jù)傳輸?shù)竭_某一個網(wǎng)絡(luò)節(jié)點后,這個網(wǎng)絡(luò)節(jié)點需要根據(jù)一個「約定」將數(shù)據(jù)傳送到另一個網(wǎng)絡(luò)節(jié)點,然后再傳輸?shù)较乱粋€節(jié)點,依此類推到達目標主機。這里的每個網(wǎng)絡(luò)節(jié)點就是「路由」,所謂的約定即路由規(guī)則
那么不使用路由就不行?
舉個例子,我給你寄幾箱獼猴桃,我的地點在北京,到了快遞點,我需要寫你的地址,比如是 成都市高新區(qū)馬保國鎮(zhèn) 222 單元,通常郵寄點不會直接幫你送到指定的地址,而是可能先到成都,然后成都這邊攬收再送到馬保國鎮(zhèn),這種就是采用分發(fā)得策略來提升效率。
這里的寄送系統(tǒng)就是一個大型的網(wǎng)絡(luò)系統(tǒng),每個寄存點主要負責快遞的傳送任務(wù),只要快遞到達寄存點,就得準確,迅速將信件投遞到下一個寄存點處,這里的快遞就是通過「路由機制」準確,快速的寄送到目的地的。
有哪幾種路由呢
靜態(tài)路由
靜態(tài)路由是系統(tǒng)管理員通過 route 手工加入的靜態(tài)路由規(guī)則
動態(tài)路由
動態(tài)路由是不同機器彼此經(jīng)由程序相互交換路由規(guī)則而來的。如果網(wǎng)絡(luò)發(fā)生了變化,路由軟件會重新計算路由并發(fā)出新的路由更新信息
路由如何配置
在 Linux 中,通過 route 命令配置靜態(tài)路由信息,
route [-n|ee]
常用的選項我將其總結(jié)如下
路由選項
查看當前路由表信息
查看路由表信息
從上面我們可以知道通過 route -n 輸出的為純 IP 地址,而 route 輸出的信息就會包含主機名信息,下面說說選項的含義
Destination:網(wǎng)絡(luò)號,即 network 的意思
Gateway:連出去的網(wǎng)關(guān)地址
Flag
U:代表路由啟動勒
H:代表目標路由是一部主機而非網(wǎng)絡(luò)
R:代表使用動態(tài)路由的時候,回復(fù)路由信息標識
G:表示需要通過外部的主機來轉(zhuǎn)遞數(shù)據(jù)
M: 表示路由已經(jīng)修改了
網(wǎng)關(guān)是什么
不知道大家有沒有經(jīng)歷過在宿舍買臺交換機,然后幾臺機器組成局域網(wǎng)打游戲狂歡的日子
那個時候苦逼呀,只能打局域網(wǎng)的游戲,不能上網(wǎng),時代在進步,科技在騰飛吶,學校就給每個宿舍分配一一個 IP 地址,這個 IP 地址是學校的網(wǎng)管部門負責,宿舍網(wǎng)的 IP 通常是 192.168.1.x,校園網(wǎng)的 IP 地址假設(shè)是 10.10.x.x,
如果此時你想在宿舍上網(wǎng),那該怎么辦?
第一種方案:舍友們眾籌買一張網(wǎng)卡,然后插入到 A 同學的電腦上,一張網(wǎng)卡的線插在宿舍的交換機,另一張網(wǎng)卡插在校園網(wǎng)的網(wǎng)口,此時就可以上網(wǎng),但是 A 同學電腦就貢獻出去了,只能看你們打游戲,他自嗨,多可憐
第二種方案:買個路由器,這個路由器有內(nèi)網(wǎng)網(wǎng)口和外網(wǎng)網(wǎng)口,外網(wǎng)網(wǎng)口插在校園網(wǎng)的網(wǎng)口上面(當然配置的時候根據(jù)網(wǎng)管部門所要求的),內(nèi)網(wǎng)網(wǎng)口連接上宿舍的所有電腦,這樣的話,路由器就得一直都開著
宿舍長可以上網(wǎng)了,其他人的電腦要上網(wǎng)還需要配置下各自的網(wǎng)卡,通常是 DHCP 默認配置,在配置的時候你就會發(fā)現(xiàn)有個叫做 Gateway 的東西,這就是網(wǎng)關(guān),要了解網(wǎng)關(guān)不得不去了解 MAC 頭和 IP 的頭部
MAC 和 IP 頭部有啥?
網(wǎng)卡自出生那天起,就帶上了這個地址,那么問題來了,為啥不使用 MAC 地址進行通信呢? 因為靠 MAC 地址沒法定位準確,它更像身份證,作為唯一標識。舉個例子,我住在“成都市高新區(qū) B 座 5 樓”,有個女娃兒可以問路人:“成都市高新區(qū) B 座在哪里”,路人可以給他比較明確的地點,但是如果她問:“你知道小藍 (身份證) 在哪兒嗎”,很明顯無從得知,說不定以為 你是個傻子吧。
你可以找到 IP 地址(成都市高新區(qū) B 座 5 樓),但是可能還是找不到我,這個時候假設(shè)你可能去服務(wù)臺問(其實是靠吼,身份證為 XXX 的是哪位),這個時候我聽到自然就會答應(yīng),不過你如果在北京喊,就聽不見了,所以 MAC 地址實際上通信范圍是也是比較小的,局限在一個子網(wǎng)里。它的頭部結(jié)構(gòu)都有哪些字段?
MAC
圖中的類型大部分都是 IP 數(shù)據(jù)包,IP 里面可能包含了 TCP,HTTP 等,這都是封裝的事兒了。擁有了這個 MAC 地址,就會在鏈路上廣播,MAC 的網(wǎng)卡才發(fā)現(xiàn)這個包原來是給它的,網(wǎng)卡將包收進來,打開 IP 包,發(fā)現(xiàn) IP 地址是自己的,再打開 TCP 包發(fā)現(xiàn)端口是自己,還是 80,正好就是目前監(jiān)聽的端口,開啟摸魚聊天模式
IP 頭部都有哪些字段?
IP 頭
上述 IP 頭部的詳細信息就先不說了,這里主要述說源 IP 和目標 IP 地址,當我們要訪問一個 IP 地址的時候,需要判斷這個目標 IP 是否和當前的 IP 地址在同一個網(wǎng)段
怎么判斷是否在同一個網(wǎng)段
此時涉及到網(wǎng)絡(luò)的 CIDR 和子網(wǎng)掩碼了。我們通常將 IP 地址比喻為門牌號碼,既然是門牌號碼,如果一樣了就會沖突。假設(shè)大家都將地址設(shè)置為三單元 110,那快遞小哥就壓根找不到地方,所以,我們使用電腦的時候,有時出現(xiàn)上不了網(wǎng)了,很可能是 IP 沖突了喲。
10.120.55.73,這就是一個 IP 地址。按照 . 分割,其中每個部分占 8 個 bit,所以 IP 地址為 32 位,這樣的話 IP 地址一共就有約 42.9 億個,很明顯在現(xiàn)在看來不夠用,但是當初設(shè)計者哪知道現(xiàn)在這么多計算機呀,于是出現(xiàn)了 IPV6,128 位,至于夠不夠用還得看看國家的生育政策了
不夠用就算了,還將這些 IP 地址分為了 5 類
IP 地址分類
對于 A,B,C 這三類,分為了兩部分,前面一部分為網(wǎng)絡(luò)號,后面一部分為主機號,還是比較好理解。假設(shè)大家都是 3 單元 110,小藍是東華小區(qū)的 110,而小李是萬科小區(qū)的 110
那么這幾類,分別代表了多少的主機數(shù)量呢
各類主機數(shù)量
從上圖我們發(fā)現(xiàn) C 類的地址 254 個,B 類地址 65534,這放在一個網(wǎng)絡(luò)下面豈不是太浪費,有沒有折中的方法呢
CIDR
CIDR 叫做無類型域間選路。將上面 32 位的地址分為兩部分,分別為網(wǎng)絡(luò)號和主機號。比如地址 10.120.55.73/24,斜杠后面的 24 表示在 32 位中,前面的 24 為網(wǎng)絡(luò)號,后面的 8 位為主機號
如何得到網(wǎng)絡(luò)號
將子網(wǎng)掩碼和 IP 地址進行 AND 運算就可得到網(wǎng)絡(luò)號。此時子網(wǎng)掩碼為 255.255.255.0,255 轉(zhuǎn)換為二進制為 1,1 和任何的數(shù)進行 AND 運算都是原來的數(shù)值,所以前面三個數(shù)不變,為 10.120.55。后面一個數(shù)為 0,0 和任何數(shù)進行 AND 運算為 0,所以最后一個數(shù)為 0,合計后就是 10.120.55.0,這就是網(wǎng)絡(luò)號
什么是私有地址和公有地址呢
私有地址和公有地址
我們平時自己的電腦或者辦公室里,一般都是私有 IP 地址,因為這些 IP 地址由相關(guān)組織的內(nèi)部管理,自己分配使用,所以我的私有 IP 地址可能和你的是一樣的
這就好比我所在的小區(qū)是 3 棟,你的小區(qū)也是 3 棟。但是一旦走出了小區(qū),就需要使用共有 IP 地址了。就像建設(shè)路 1000 號,這是相關(guān)部門劃分的,不能兩個小區(qū)都叫做建設(shè)路 1000 號
怎么獲取公有 IP 地址呢
這就需要花錢了,畢竟是共有的,比較香且有限制。假設(shè)你要做一個網(wǎng)站,全國人民都可以訪問,就需要買個 IP 地址了
在這五類地址中,還差一個 D 類組播地址。從名字可以看出,這類地址屬于一個組的機器都能收到。就仿佛 QQ 群,發(fā)個消息大家都能看到,至于回復(fù)不回復(fù)另說
好了,說了這么多,回到網(wǎng)關(guān)部分
如果你想和你的室友通信,就和網(wǎng)關(guān)沒有關(guān)系,因為你們在同一個網(wǎng)關(guān),只需要通過 ARP 獲得 MAC 地址,然后將源 MAC 和目的 MAC 放入到 MAC 頭中發(fā)出去即可
如果不是在同一個網(wǎng)段,你想和你的異地女友聊天,這個時候會先訪問默認網(wǎng)關(guān) Gateway,這個過程和發(fā)往同一個網(wǎng)段的其他機器又是一樣的,將源地址和目的地址放入 IP 頭,通過 ARP 獲取網(wǎng)關(guān) MAC 地址,將源 MAC 和網(wǎng)關(guān) MAC 放入 MAC 頭部發(fā)送出去,網(wǎng)關(guān)所在端口接受以后下一步操作就看網(wǎng)關(guān)了
網(wǎng)管呢可以當作是路由器,路由器是一個物理設(shè)備,假設(shè)有 5 個網(wǎng)口,五個網(wǎng)口相當于五條路,分別連接五個局域網(wǎng),每條路的 IP 地址都和局域網(wǎng)的 IP 地址是同一個網(wǎng)段,每條路都是它握住的那個局域網(wǎng)的網(wǎng)關(guān)
簡單來說:如果一個包想發(fā)到其他的局域網(wǎng),都會選擇一條路,然后根據(jù)路由算法,選擇另一條路加上 IP 頭和 MAC 投扔出去
到底選擇哪一條路?
靜態(tài)路由
靜態(tài)路由比較簡單,直接在路由器上配置規(guī)則,規(guī)則為:假設(shè)訪問 A 網(wǎng)站,就從 2 號口出去,下一跳為 IP2; 如果想訪問 B 網(wǎng)站,則從 3 號口出去,下一跳為 IP3,隨后緩存在路由器中
那么 IP 頭和 MAC 頭,需要修改哪些內(nèi)容呢
常見的網(wǎng)絡(luò)連接方式
橋接的基本原理
橋接
橋接默認使用 VMnet0,Bridge 橋當作一臺機器,這個機器有兩塊網(wǎng)卡分別處于兩個局域網(wǎng)中,使用 橋 連接,這樣局域網(wǎng) A 和 B 就無縫的連接起來,橋接的時候 VMWare 網(wǎng)卡和物理網(wǎng)卡處于同一個 IP 網(wǎng)段
Vmvare 橋是同樣的原理,Vmvare 軟件會虛擬一塊網(wǎng)卡,當使用橋接的時候,Vmvare 會虛擬一塊網(wǎng)卡和真正的物理網(wǎng)卡進行橋接,這樣的話,發(fā)送到物理網(wǎng)卡的所有數(shù)據(jù)包就到了 Vmvare 虛擬機
而由 Vmvare 發(fā)出的數(shù)據(jù)包也會通過橋從物理網(wǎng)卡那端發(fā)出,所以,如果物理網(wǎng)卡可以上網(wǎng),那么橋接的虛擬網(wǎng)卡也基本上沒問題
聯(lián)網(wǎng)的方式
橋接的方式是最簡單的,主機怎么聯(lián)網(wǎng),那么虛擬機就怎么聯(lián)網(wǎng),將虛擬及當作局域網(wǎng)中的一臺電腦就好了
注意:主機網(wǎng)卡可以訪問 internet 的局域網(wǎng)的時候,虛擬機才會通過 Bridge 訪問 internet
Nat
Nat
Nat 的基本原理
NAT 的全稱是 Network address translate,NAT 應(yīng)用在 Internet 網(wǎng)關(guān)和路由器上。比如 192.168.0.123 這個地址需要訪問 Internet,數(shù)據(jù)包會先到路由器或網(wǎng)關(guān),然后網(wǎng)關(guān)和路由器會有一個能訪問 Internet 的 IP 地址,這樣的網(wǎng)關(guān)和路由器在收到數(shù)據(jù)包后,對數(shù)據(jù)包的 IP 進行更改(NAT),這樣就可以讓私有網(wǎng)段的主機能夠順利訪問 Internet,這個技術(shù)解決了 IP 稀缺的問題,同樣的私有 IP 可以網(wǎng)關(guān) NAT 上網(wǎng)
那么對于 Vmvare 是同樣的道理,它會在虛擬機和主機之間偽造一塊網(wǎng)卡,這個網(wǎng)卡和虛擬機的 IP 出于同一個地址段,網(wǎng)卡和主機的網(wǎng)絡(luò)接口進行 NAT,意味著虛擬發(fā)出的每一塊數(shù)據(jù)包都會經(jīng)過虛擬網(wǎng)卡,然后 NAT,從主機的接口發(fā)送出去
注意:虛擬網(wǎng)卡和虛擬機處于同一個地址段,虛擬機和主機處于不同的地址段,主機相當于虛擬機的網(wǎng)關(guān),所以虛擬機能夠 ping 通主機的 Ip,但是主機 Ping 不同虛擬機 Ip、
聯(lián)網(wǎng)方式
動態(tài) ip 地址
這個方式簡單,直接將虛擬機設(shè)置成使用 DHCP 方式上網(wǎng),Linux 開啟 DHCP 服務(wù)即可。注意:在 vmvare 中,需要在編輯 —– 虛擬網(wǎng)絡(luò)設(shè)置中,將 DHCP 開啟,默認為關(guān)閉
靜態(tài) IP 設(shè)置
如果不想使用 DHCP,也可以手動設(shè)置:IP 設(shè)置與 vmnet1 同網(wǎng)段, 網(wǎng)關(guān)設(shè)置成 vmnet8 的網(wǎng)關(guān) (在“虛擬網(wǎng)絡(luò)設(shè)置”里的 Net 選項卡里能找到 Gateway) 通常是 xxx.xxx.xxx.2。子網(wǎng)掩碼設(shè)置與 VMnet8 相同(設(shè)置好 IP 地址后,子網(wǎng)掩碼自動生成)
DNS 設(shè)置與主機相同。
例如:主機 IP 是 10.70.54.31, 設(shè)置虛擬機 IP 為 10.70.54.22。Netmask,Gateway,DNS 都與主機相同即可實現(xiàn) 虛擬機 mdash; 主機 虛擬機 —- 互聯(lián)網(wǎng) 通信。
提示:使用 NAT 技術(shù),主機能上網(wǎng),虛擬機就可以訪問 Internet,但是主機不能訪問虛擬機
host–only 的方式
host-only
這種方式:只需要主機和虛擬機通信,不讓虛擬機訪問 Internet。同樣是兩種方式
動態(tài) IP 地址
此處和上面一樣,開啟 DHCP 以后,虛擬機就可以自動的獲取 IP 地址和 DNS 了
靜態(tài)地址
將 IP 地址設(shè)置為和 VM 一個網(wǎng)段,網(wǎng)關(guān)設(shè)置為 VMnet1 的網(wǎng)關(guān),
也可以手動設(shè)置,將虛擬機 IP 設(shè)置與 VMnet1 同網(wǎng)段,網(wǎng)關(guān)設(shè)置成 VMnet1 的網(wǎng)關(guān)相同, 其余設(shè)置與 VMnet1 相同,DNS 設(shè)置與主機相同。
舉個例子
例如:VMnet1 IP:172.16.249.1 Gateway :172.16.249.2。那么虛擬機
IP:172.16.249.100 Gateway: 172.16.249.2。這樣、虛擬機 mdash; 主機 可以通信,但是、 虛擬機 mdash; 互聯(lián)網(wǎng) 無法通信
提示:Host-only 技術(shù)只用于主機和虛擬機互訪,于訪問 internet 無關(guān)。
感謝各位的閱讀,以上就是“Linux 網(wǎng)絡(luò)怎么配置”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對 Linux 網(wǎng)絡(luò)怎么配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!