目錄:
http://www.reibang.com/p/1961df2a1336
如何配置 IP 地址?
在linux中可以使用ifconfig, 也可以使用ip addr岸裙。 設(shè)置好了以后, 用這兩個(gè)命令速缆, 將網(wǎng)卡 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
有了目標(biāo)ip地址激涤,還需要目標(biāo)MAC地址拟糕,而最終的目標(biāo)MAC地址需要經(jīng)過一個(gè)個(gè)網(wǎng)關(guān)才可以尋得判呕,而當(dāng)前需要尋得的是當(dāng)前局域網(wǎng)中的網(wǎng)關(guān)的MAC地址。
Linux 默認(rèn)的邏輯是送滞,如果這是一個(gè)跨網(wǎng)段的調(diào)用侠草,它便不會(huì)直接將包發(fā)送到網(wǎng)絡(luò)上,而是企圖將包發(fā)送到網(wǎng)關(guān)犁嗅。
**Linux會(huì)判斷這個(gè)目標(biāo)ip地址和自己的其中一個(gè)網(wǎng)卡是否同一個(gè)網(wǎng)段边涕,才會(huì)發(fā)送ARP請求,獲取網(wǎng)關(guān)的MAC地址褂微,然后將包發(fā)出去功蜓。 如果沒有配置網(wǎng)關(guān),包就發(fā)包出去宠蚂。 **
所以配置ip地址之前需要知道系統(tǒng)中網(wǎng)卡的網(wǎng)段式撼,或者向管理員申請分配一段正確的ip地址。 正配置的時(shí)候求厕,一定不是直接用命令配置的著隆,而是放在一個(gè)配置文件里面。 不同系統(tǒng)的配置文件格式不同呀癣,但是無非就是 CIDR美浦、子網(wǎng)掩碼、廣播地址和網(wǎng)關(guān)地址项栏。
動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)
除了手動(dòng)配置浦辨,還有一種是自動(dòng)分配配置。
自動(dòng)配置的協(xié)議沼沈,也就是稱動(dòng)態(tài)主機(jī)配置協(xié)議(Dynamic Host Configuration Protocol)流酬,簡稱DHCP。
有了這個(gè)協(xié)議庆冕,網(wǎng)絡(luò)管理員需要配置一段共享ip地址康吵,每一臺(tái)新接入的機(jī)器都通過DHCP吸引劈榨,來這個(gè)共享的IP地址里申請访递,然后自動(dòng)配置好就可以了,下線自動(dòng)歸還同辣。 拷姿。
如果是數(shù)據(jù)中心里面的服務(wù)器,IP 一旦配置好旱函,基本不會(huì)變响巢,這就相當(dāng)于買房自己裝修。DHCP 的方式就相當(dāng)于租房棒妨。你不用裝修踪古,都是幫你配置好的含长。你暫時(shí)用一下,用完退租就可以了伏穆。
DHCP 的工作方式
當(dāng)一臺(tái)機(jī)器新加入一個(gè)網(wǎng)絡(luò)的時(shí)候拘泞,啥情況都不知道, 只知道自己的 MAC 地址枕扫。 怎么辦陪腌?先吼一句, 我來啦烟瞧, 有人嗎诗鸭?這時(shí)候的溝通基本靠“吼”。 這一步参滴, 我們稱為DHCP Discover强岸。
通信都是廣播包的形式,新來的機(jī)器使用IP 地址 0.0.0.0 發(fā)送了一個(gè)廣播包砾赔,目的 IP 地址為255.255.255.255请唱。廣播包封裝了 UDP, UDP 封裝了 BOOTP过蹂。 其實(shí) DHCP 是 BOOTP 的增強(qiáng)版十绑。
1、新人叫一聲:我是新來的(Boot request) 酷勺,我是XXX(MAC地址)我還沒有 IP本橙, 誰能給租給我個(gè) IP 地址!
格式就像這樣:
2脆诉、DHCP Server 分配 IP給新人
如果網(wǎng)絡(luò)里面配置了DHCP Server甚亭,根據(jù)MAC 地址唯一性立刻能知道來了一個(gè)“新人”,需要租給它一個(gè) IP 地址击胜,這個(gè)過程稱為DHCP Offer亏狰。 同時(shí), DHCP Server 為此客戶保留為它提供的 IP 地址偶摔, 從而不會(huì)為其他DHCP 客戶分配此 IP 地址暇唾。
DHCP Offer 的格式就像這樣, 里面有給新人分配的地址:
DHCP Server 仍然使用廣播地址作為目的地址辰斋,因?yàn)榇藭r(shí)新人自己還沒有自己IP策州。除IP外, 服務(wù)器還發(fā)
送了子網(wǎng)掩碼宫仗、 網(wǎng)關(guān)和 IP 地址租用期等信息够挂。
3、新人選擇其中一個(gè) DHCP Offer藕夫, 一般是最先到達(dá)的那個(gè)孽糖, 并且會(huì)向網(wǎng)絡(luò)發(fā)送一個(gè) DHCP Request 廣播數(shù)據(jù)包枯冈,
DHCP Request格式如下
包中包含客戶端的 MAC 地址、 接受的租約中的 IP 地址办悟、 提供此租約的DHCP 服務(wù)器地址等霜幼, 并告訴所有 DHCP Server 它將接受哪一臺(tái)服務(wù)器提供的 IP 地址, 告訴其他 DHCP 服務(wù)器誉尖, 謝謝你們的接納罪既, 并請求撤銷它們提供的 IP 地址, 以便提供給下一個(gè) IP租用請求者铡恕。
4琢感、當(dāng) DHCP Server 接收到客戶機(jī)的 DHCP request 之后,會(huì)廣播返回給客戶機(jī)一個(gè) DHCP ACK消息包探熔, 表明已經(jīng)接受客戶機(jī)的選擇
DHCP ACK消息包格式如下
IP 地址的收回和續(xù)租
客戶機(jī)會(huì)在租期過去 50% 的時(shí)候驹针, 直接向?yàn)槠涮峁?IP 地址的 DHCP Server 發(fā)送 DHCP request 消息包。 客戶機(jī)接收到該服務(wù)器回應(yīng)的 DHCP ACK 消息包诀艰, 會(huì)根據(jù)包中所提供的新的租期以及其他已經(jīng)更新的 TCP/IP 參數(shù)柬甥, 更新自己的配置。 這樣其垄, IP 租用更新就完成了
預(yù)啟動(dòng)執(zhí)行環(huán)境(PXE)
例如數(shù)據(jù)中心要給幾百臺(tái)機(jī)器自動(dòng)安裝操作系統(tǒng)就需要PXE了苛蒲。
PXE是什么?
PXE(preboot execute environment绿满,預(yù)啟動(dòng)執(zhí)行環(huán)境)是由Intel公司開發(fā)的最新技術(shù)臂外,工作于Client/Server的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠(yuǎn)端服務(wù)器下載映像喇颁,并由此支持通過網(wǎng)絡(luò)啟動(dòng)操作系統(tǒng)漏健,在啟動(dòng)過程中,終端要求服務(wù)器分配IP地址橘霎,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個(gè)啟動(dòng)軟件包到本機(jī)內(nèi)存中執(zhí)行蔫浆,由這個(gè)啟動(dòng)軟件包完成終端(客戶端)基本軟件設(shè)置,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)姐叁。PXE可以引導(dǎo)多種操作系統(tǒng)瓦盛,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系統(tǒng)等。
PXE表現(xiàn)形式:
PXE最直接的表現(xiàn)是七蜘,在網(wǎng)絡(luò)環(huán)境下工作站可以省去硬盤谭溉,但又不是通常所說的無盤站的概念,因?yàn)槭褂迷摷夹g(shù)的PC在網(wǎng)絡(luò)方式下的運(yùn)行速度要比有盤PC快3倍以上橡卤。當(dāng)然使用PXE的PC也不是傳統(tǒng)意義上的TERMINAL終端,因?yàn)槭褂昧薖XE的PC并不消耗服務(wù)器的CPU损搬,RAM等資源碧库,故服務(wù)器的硬件要求極低柜与。
PXE啟動(dòng)原理
PXE 協(xié)議分為客戶端和服務(wù)器端,由于還沒有操作系統(tǒng)嵌灰,只能先把客戶端放在 BIOS 里面弄匕。當(dāng)計(jì)算機(jī)引導(dǎo)時(shí),BIOS把 PXE Client 調(diào)入內(nèi)存中執(zhí)行沽瞭,然后由 PXE Client 將放置在遠(yuǎn)端的文件通過網(wǎng)絡(luò)下載到本地運(yùn)行 迁匠。
PXE 客戶端自己也需要有個(gè) IP 地址,會(huì)發(fā)送一個(gè)DHCP 的請求驹溃, 讓 DHCP Server 給它分配一個(gè)地址城丧。DHCP Server 除了分配 IP 地址以外, 還可以做一些其他的事情豌鹤。
這里有一個(gè) DHCP Server 的一個(gè)樣例配置:
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0
{
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option time-offset -18000;
default-lease-time 21600;
max-lease-time 43200;
range dynamic-bootp 192.168.1.240 192.168.1.250;
filename "pxelinux.0";
next-server 192.168.1.180;
}
如果想使用PXE亡哄, 則需要配置 next-server, 指向PXE 服務(wù)器的地址布疙, 另外要配置初始啟動(dòng)文件filename蚊惯。
PXE 客戶端啟動(dòng)之后, 發(fā)送 DHCP 請求之后灵临, 除了能得到一個(gè) IP 地址截型, 還可以知道 PXE服務(wù)器在哪里, 也可以知道如何從 PXE 服務(wù)器上下載某個(gè)文件儒溉, 去初始化操作系統(tǒng)菠劝。
PXE 的工作過程
首先, 啟動(dòng) PXE 客戶端睁搭。通過 DHCP 協(xié)議由DHCP Server 便租給客戶端一個(gè) IP 地址赶诊, 同時(shí)也給它 PXE 服務(wù)器的地址、 啟動(dòng)文件pxelinux.0园骆。
其次舔痪, PXE 客戶端知道要去 PXE 服務(wù)器下載這個(gè)文件后, 就可以初始化機(jī)器锌唾。于是便開始使用 TFTP 協(xié)議下載锄码,所以 PXE 服務(wù)器上, 往往還需要有一個(gè) TFTP 服務(wù)器晌涕。
然后滋捶, PXE 客戶端收到這個(gè)文件后, 就開始執(zhí)行這個(gè)文件余黎。 這個(gè)文件會(huì)指示 PXE 客戶端重窟, 向TFTP 服務(wù)器請求計(jì)算機(jī)的配置信息 pxelinux.cfg,里面會(huì)說內(nèi)核在哪里惧财、 initramfs 在哪里巡扇。 PXE 客戶端會(huì)請求這些件扭仁。
最后, 啟動(dòng) Linux 內(nèi)核厅翔。 一旦啟動(dòng)了操作系統(tǒng)乖坠, 以后就啥都好辦了。
小結(jié)
DHCP 協(xié)議主要是用來給客戶租用 IP 地址刀闷,和房產(chǎn)中介很像熊泵,要商談、簽約甸昏、續(xù)租顽分,廣播還不能“搶單”
DHCP 協(xié)議能給客戶推薦“裝修隊(duì)”PXE,能夠安裝操作系統(tǒng)
參考資料:
趣談網(wǎng)絡(luò)協(xié)議(極客時(shí)間)鏈接:
http://gk.link/a/106nW
GitHub鏈接:
https://github.com/lichangke/LeetCode
知乎個(gè)人首頁:
https://www.zhihu.com/people/lichangke/
簡書個(gè)人首頁:
http://www.reibang.com/u/3e95c7555dc7
歡迎大家來一起交流學(xué)習(xí)