1. 程式人生 > >Linux自學筆記——dhcp,tftp,pxe

Linux自學筆記——dhcp,tftp,pxe

star 編輯 systemctl pxe安裝 tftp服務器 initrd -a 復制光盤 廣播

DHCP:Dynamic Host Configuration Protocol

IP/Nermask

Gateway

DNS Server

bootp:boot protocol --> dhcp

1. Client:dhcp discover:發現

2. Server:dhcp offer:(IP/netmask,gw)

3. Client:dhcp request

4. Server:dhcp ack

續租:

Client:dhcp request

Server:dhcp ack

Server:dhcp nak

Linux DHCP

協議的實現程序:dhcp,dnsmasq

dhcp

/usr/sbin/dhcpd

/etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd

/etc/dhcp/dhcpd6.conf --> /etc/tc.d/init.d/dhcpd6

/usr/sbin/dhcrelay

/etc/rc.d/init.d/dhcrelay

67/udp

dhclient:68/udp

dhcpd.conf:

subnet NETWORK netmask MASK{ :定義子網,用於指明地址池;

range START_IP END_IP

:指明起始地址

}

host passacaglia{

hardware ethernet 0:0:c0:5d:bd:95;

filename “ ”:指明引導文件名稱;

next-server:提供引導文件的服務器ip地址;(為tftpserver,一般使用pxe時會用到此指令)

fixed-address IP:獲得主機的固定ip地址

}

查看地址分配記錄:

~]# cat /var/lib/dhcpd/dhcpd.leases

配置選項:

技術分享圖片

option domain-name

“example.org”:定義搜索域;

option domain-name-servers ns1.example.org, ns2.example.org;:指明配置給客戶端的0dns地址;

default-lease-time 600:默認租期;

max-lease-time 7200:最大租約期限;

option routers GW1,GW2,…:配置給客戶端的默認網關。

option broadcast-address BROADCAST_ADDRESS;:配置給客戶端的廣播地址;

演示:dhcp服務器的配置

1. 實驗環境準備;

兩臺虛擬機,都是centos6系統,一臺作為dhcp服務器,一臺作為客戶端;

為了防止dhcp服務器對局域網的幹擾。我們這裏網絡連接模式選擇vmnet2通信;

2. 配置dhcp服務器;

技術分享圖片

Note:dhcp服務器的ip配置的靜態ip地址,為192.168.19.134

3. 客戶端設置為dhcp,用dhclient –d命令讓其工作在前臺;

技術分享圖片

測試:客戶端獲取到了ip地址,並在分配的地址範圍之內;

技術分享圖片

tftp server

tftp也是文件服務器的一種,不過一般在使用pxe裝機環境下,使用的較多。

演示:

1. 安裝tftp,編輯配置文件,將disable的值改為no;

技術分享圖片

其中/var/lib/tftpboot為tftp的工作目錄

2. 啟動超級守護進程;

3. 測試;

技術分享圖片

PXE

PXE:preboot execute environment,我們在大批量的安裝linux系統時,通過光驅一個一個安裝不僅麻煩,而且效率低下。此時我們便可以通過PXE安裝。

1. Pxe安裝流程;

1) 客戶機啟動選擇pxe網卡啟動,從本網絡中的dhcp服務器獲取ip

2) DHCP服務器發送ip給客戶機;

3) 客戶機向本機的tftp服務器索取文件

4) 客戶機去的bootstrap文件後執行引導文件完成引導,讀取配置文件,加載內核和文件系統

5) 進入安裝畫面,此時通過選擇http、ftp、nfs方式進行安裝;

2. 實現pxe網絡安裝必需的四個要素;

1) 客戶機的網卡必需為pxe網卡

2) 網絡中必需要有dhcp和tftp服務器,這兩個服務器可以是同一臺主機;

3) 所安裝的操作系統必需支持網絡安裝。

4) 必須要有ftp,http,nfs,至少一個服務器,當然也可以和dhcp和tftp服務器同為一臺物理主機。

示例1:centos6上pxe的實現

1. 安裝dhcp,並復制/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example到/etc/dhcp/dhcpd.conf,編輯配置文件;

技術分享圖片

2. 安裝tftp-server,syslinux,tftp,xinetd,並編輯/etc/xinetd.d/tftp文件,將disable的值改為no,開啟tftp;

技術分享圖片

3. 確保httpd已安裝,並將光盤鏡像文件,掛載至網頁文件目錄下,這裏在/var/www/html/目錄下創建了centos6目錄

技術分享圖片

4. 準備/var/lib/tftpboot/目錄下文件(tftp默認目錄)

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

cp /var/www/html/centos6/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

cp /var/www/html/centos6/isolinux/ {boot.cfg,vesamenu.c32,splash.png} /var/lib/tftpboot/

創建/var/lib/tftpboot/pxelinux.cfg目錄,並在此目錄下編輯default文件;

mkdir /var/lib/tftpboot/pxelinux.cfg/

cp /var/www/html/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

技術分享圖片

5. 準備kickstart文件,並將其放置在網頁文件目錄中(這裏放在/var/www/html目錄下,在上面default文件中指明的ks目錄必須跟kickstart真實放置的目錄對應),kickstart文件可用system-config-kickstart生成;

技術分享圖片

6. 啟動服務,查看各服務端口是否開啟;

技術分享圖片

7. 測試;

1) 將虛擬機網絡連接設置問vmnet2通信,並且ip地址配置成靜態ip;

技術分享圖片


2) 新建一臺虛擬機,網絡為vmnet2通信,開機測試;

技術分享圖片

Note:要保證dhcp服務器上的selinux和iptables關閉;

3) 進入菜單選項;

技術分享圖片

4) 自動化部署安裝;

技術分享圖片

示例2:pxe的實現(centos7)

1. 安裝dhcp,並復制/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example到/etc/dhcp/dhcpd.conf,編輯配置文件;

技術分享圖片


2. 啟動服務並驗證udp的67端口是否開啟

技術分享圖片


3. 安裝tftp-server,xinetd,啟動並測試udp的69號端口;

修改xinetd目錄下的tftp配置文件,將disable的值改為no;

技術分享圖片

隨後開啟超級守護進程xinetd服務;

4. 安裝httpd,並將鏡像文件掛載至 網頁目錄;

技術分享圖片

5. 準備/var/lib/tftpboot目錄下文件;

1) 安裝syslinux程序包,它會提供pxelinux.0文件,將其復制到目錄下;

技術分享圖片

2) 復制/usr/share/syslinux目錄下的chain.c32,mboot.c32,menu.c32,memdisk四個文件,分別為基於鏈式方式引導文件,內存磁盤引導項,菜單項,內存當磁盤的模擬文件;

技術分享圖片

3) 復制光盤中images/pxeboot下的文件;

技術分享圖片

4) 準備kickstart文件;制作kickstart文件可用systemctl-config-kickstart文件,並將此文件復制到/var/www/html目錄下;

技術分享圖片

Note:如果復制的本機中的anaconda-ks.cfg,註意修改權限。否則最後安裝時可能會報錯;

5) 在/var/lib/tftpboot目錄下創建pxelinux.cfg目錄,並創建為menu.c32提供菜單的配置文件(即菜單加載時用到的配置文件信息)

技術分享圖片

6. 測試;

1) 虛擬機中將服務器的網絡連接自定義為vmnet2。防止dhcp服務器對局域網的幹擾。並且更改服務器ip地址為靜態ip;

技術分享圖片

2) 開啟dhcp,vsftpd,等服務;

3) 新建一臺虛擬機,網絡連接也是vmnet2,測試開機,成功獲取到ip地址並開始安裝,等待安裝完成即可;

技術分享圖片


Linux自學筆記——dhcp,tftp,pxe