如何配置 IP 地址?
那如何配置呢?若是有相關的知識和積累,你能夠用命令行本身配置一個地址。可使用 ifconfig,也
可使用 ip addr。設置好了之後,用這兩個命令,將網卡 up 一下,就能夠開始工做了。
使用 net-tools:
$ sudo ifconfig eth1 10.0.0.1/24
$ sudo ifconfig eth1 up
使用 iproute2:
$ sudo ip addr add 10.0.0.1/24 dev eth1
$ sudo ip link set up eth1
你可能會問了,本身配置這個自由度太大了吧,我是否是配置什麼均可以?若是配置一個和誰都不搭邊
的地址呢?例如,旁邊的機器都是 192.168.1.x,我非得配置一個 16.158.23.6,會出現什麼現象呢?
不會出現任何現象,就是包發不出去唄。爲何發不出去呢?我來舉例說明。
192.168.1.6 就在你這臺機器的旁邊,甚至是在同一個交換機上,而你把機器的地址設爲了
16.158.23.6。在這臺機器上,你企圖去 ping192.168.1.6,你以爲只要將包發出去,同一個交換機的另
一臺機器立刻就能收到,對不對?
但是 Linux 系統不是這樣的,它沒你想得那麼智能。你用肉眼看到那臺機器就在旁邊,它則須要根據自
己的邏輯進行處理。
還記得咱們在第二節說過的原則嗎?只要是在網絡上跑的包,都是完整的,能夠有下層沒上層,絕對不
可能有上層沒下層。
因此,你看着它有本身的源 IP 地址 16.158.23.6,也有目標 IP 地址 192.168.1.6,可是包發不出去,這
是由於 MAC 層還沒填。
本身的 MAC 地址本身知道,這個容易。可是目標 MAC 填什麼呢?是否是填 192.168.1.6 這臺機器的
MAC 地址呢?
固然不是。Linux 首先會判斷,要去的這個地址和我是一個網段的嗎,或者和個人一個網卡是同一網段
的嗎?只有是一個網段的,它纔會發送 ARP 請求,獲取 MAC 地址。若是發現不是呢?
Linux 默認的邏輯是,若是這是一個跨網段的調用,它便不會直接將包發送到網絡上,而是企圖將包發
送到網關。
若是你配置了網關的話,Linux 會獲取網關的 MAC 地址,而後將包發出去。對於 192.168.1.6 這臺機器
來說,雖然路過它家門的這個包,目標 IP 是它,可是無奈 MAC 地址不是它的,因此它的網卡是不會把
包收進去的。
若是沒有配置網關呢?那包壓根就發不出去。
若是將網關配置爲 192.168.1.6 呢?不可能,Linux 不會讓你配置成功的,由於網關要和當前的網絡至
少一個網卡是同一個網段的,怎麼可能 16.158.23.6 的網關是 192.168.1.6 呢?
因此,當你須要手動配置一臺機器的網絡 IP 時,必定要好好問問你的網絡管理員。若是在機房裏面,要
去網絡管理員那裏申請,讓他給你分配一段正確的 IP 地址。固然,真正配置的時候,必定不是直接用命
令配置的,而是放在一個配置文件裏面。不一樣系統的配置文件格式不一樣,可是無非就是 CIDR、子網掩
碼、廣播地址和網關地址。
動態主機配置協議(DHCP)
原來配置 IP 有這麼多門道兒啊。你可能會問了,配置了 IP 以後通常不能變的,配置一個服務端的機器
還能夠,可是若是是客戶端的機器呢?我抱着一臺筆記本電腦在公司裏走來走去,或者白天來晚上走,
每次使用都要配置 IP 地址,那可怎麼辦?還有人事、行政等非技術人員,若是公司全部的電腦都須要 IT
人員配置,確定忙不過來啊。
所以,咱們須要有一個自動配置的協議,也就是稱動態主機配置協議(Dynamic Host Configuration
Protocol),簡稱DHCP。
有了這個協議,網絡管理員就輕鬆多了。他只須要配置一段共享的 IP 地址。每一臺新接入的機器都經過
DHCP 協議,來這個共享的 IP 地址裏申請,而後自動配置好就能夠了。等人走了,或者用完了,還回
去,這樣其餘的機器也能用。
因此說,若是是數據中內心面的服務器,IP 一旦配置好,基本不會變,這就至關於買房本身裝修。
DHCP 的方式就至關於租房。你不用裝修,都是幫你配置好的。你暫時用一下,用完退租就能夠了。
解析 DHCP 的工做方式
當一臺機器新加入一個網絡的時候,確定一臉懵,啥狀況都不知道,只知道本身的 MAC 地址。怎麼
辦?先吼一句,我來啦,有人嗎?這時候的溝通基本靠「吼」。這一步,咱們稱爲DHCP Discover。
新來的機器使用 IP 地址 0.0.0.0 發送了一個廣播包,目的 IP 地址爲 255.255.255.255。廣播包封裝在
UDP 裏面,UDP 封裝在 BOOTP 裏面。其實 DHCP 是 BOOTP 的加強版,可是若是你去抓包的話,很
可能看到的名稱仍是 BOOTP 協議。
在這個廣播包裏面,新人大聲喊:我是新來的(Boot request),個人 MAC 地址是這個,我尚未
IP,誰能給租給我個 IP 地址!
**DHCP 協議主要是用來給客戶租用 IP 地址,和房產中介很像,要商談、簽約、續租,廣播還不
能「搶單」;
DHCP 協議能給客戶推薦「裝修隊」PXE,可以安裝操做系統,這個在雲計算領域大有用處**服務器