DHCP
動態主機配置協議:由IETF組織制定,用來簡化主機ip地址分配管理
可以自動分配的入網參數
ip地址/子網掩碼/廣播地址
默認網關地址
DNS服務器地址
——————————————————————————————————————————
DHCP四次會話
請求:DHCP DISCOVER
提供:DHCP OFFER
選擇:DHCP ORQUEST
確認:DHCP ACK
DHCP主要概念
租期;允許客戶機租用ip地址的時間期限,單位為秒
作用域:分配給客戶機的ip地址所在的網段
地址池:用來動態分配ip地址的范圍
——————————————————————————————————————————
搭建DHCP服務器
安裝DHCP服務軟件[root@stu ~]# yum -y install dhcp
主配置文件:/etc/dhcp/dhcpd.conf (模板:see /usr/share/doc/dhcp*/dhcpd.conf.sample)
執行程序:/usr/sbin/dhc
服務腳本:/etc/init.d/dhcpd
執行參數配置:/etc/sysconfig/dhcpd
[root@stu ~]#/etc/dhcp/dhcpd.conf
:read /usr/share/doc/dhcp*/dhcpd.conf.sample (read,把模板的內容復制到當前終端)
[root@stu ~]# vim /etc/dhcp/dhcpd.conf 全局設置適用於所有網段(作用域)
...... ......
default-lease-time 21600;(默認租期)
max-lease-time 43200;(最大租期)
option domain-name-servers (DNS服務器地址)
.... ....
subnet網段聲明:配置一個作用域,可覆蓋全局設置參數
subnet 10.254.239.0 netmask 255.255.255.224 { (聲明網段)
range 10.254.239.10 10.254.239.20; (ip分配范圍)
option routers (默認網關地址)
}
啟動DHCP服務程序
正常監聽UDP67端口
服務端UDP67,客戶端UDP68,至少應該有一個屬於指定作用域的靜態ip地址
[root@stu ~]# service dhcpd start(啟動服務)
[root@stu ~]# less /var/lib/dhcpd/dhcpd.leases(服務端查看租約文件)
客戶機配置:[root@stu ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp (改為自動獲取ip)
PEERDNS=no (不自動獲取DNS)
[root@stu ~]#service network restart (重啟服務)
[root@pc205 ~]# less /var/lib/dhclient/dhclient-eth0.leases(客戶端查看租約文件)
———————————————————————————————————————————————
PXE網絡裝機
規模化:同時裝配多台主機
自動化:裝系統,配置各種服務
遠程實現:不需要光盤,u盤等物理介質
工作模式
PXE client 集成在網卡ROM中
當計算機引導時,BIOS把PXE client調入內存執行,獲取PXE server配置
顯示菜單,根據用戶選擇將遠程操作系統下載到本機運行
PXE組件及過程分析
需要服務:
DHCP服務:分配ip地址,定位引導程序
DNS服務:為客戶機分配主機名
TFTP服務:提供引導程序下載
FTP服務(或HTTP/NFS):提供yum安裝源
客戶機具備條件
網卡ROM必須支持PXE協議
主板支持網絡啟動
—————————————————————————————————————————
配置思路
整機裝機條件准備:
准備系統安裝源(ftp方式yum庫)
啟用DNS服務(可選)
啟用DHCP服務
PXE引導配置:
啟用TFTP服務,提供裝機用的內核,初始化文件
提供PXE引導程序,配置啟動菜單
PXE引導配置(tftp)
提供加載安裝程序的內核,初始化鏡像
TFTP根目錄/vmlinuz <==/光盤目錄/images/pxeboot>
TFTP根目錄/initrd.img
提供網卡啟動文件,啟動配置
TFTP根目錄/pxelinux.0
TFTP根目錄/pxelinux.cfg/default
無人引導裝機
kickstart技術:(建議用方法二)
預先提供應答文件,定義好各種安裝設置
免去交互過程,實現全自動化安裝
添加%post腳本,可執行安裝后的各種配置
應答文件獲取
方法一:找一台客戶機,獲取應答文件模板
/root/anaconda-ks.cfg
方法二:安裝system-confug-kickstart
(修改后部署到pxe服務器的/var/ftp/ks.cfg)
(確保客戶機可以成功下載ftp://192.168.4.30/ks.cfg)
[root@stu ~]# system-config-kickstart
執行上述圖像界面工具,創建新應答文件
生成應答文件的客戶機,yum庫的版本應該和待安裝系統一致
為客戶機提供用來裝系統的FTP軟件源
通過vsftpd服務對外發布
[root@stu ~]# yum -y install vsftpd(安裝vsftpd)
[root@stu ~]# mount /dev/cdrom /root/myiso/(掛載rh6鏡像)
[root@stu ~]# cp -rf /root/myiso/* /var/ftp/rhel6/(把鏡像復制到ftp里)
[root@stu ~]# service vsftpd restart(啟動ftp服務)
[root@stu ~]# vim /etc/named.conf (提供DNS域名解析)
zone "4.168.192.in-addr.arpa"IN{
type master;
file "192.168.4.arpa";
};
[root@stu ~]# vim /var/named/Anonymous.org.zone
$GENERATE 10-80 pc$ A 192.168.4.$
[root@stu ~]# vim /var/named/192.168.4.arpa
$GENERATE 10-80 $ PTR pc$.Anonymous.org
[root@stu ~]# service named restart(重啟服務)
[root@stu ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 192.168.4.30;(dhcp服務器地址)
default-lease-time 7200;
max-lease-time 14400;
subnet 192.168.4.0 netmask 255.255.255.0 {(提供支持pxe引導的DHCP地址分配服務)
range 192.168.4.10 192.168.4.80;(分配ip地址)
next-server 192.168.4.30;
filename "pxelinux.0";(獲取地址后下載pxelinux.0這個文件)
}
[root@stu ~]# service dhcpd restart(重啟服務)
[root@stu ~]# yum -y install tftp-server
tftp-server
資源根目錄/var/lib/tftpboot
[root@stu pxeboot]# vim /etc/xinetd.d/tftp
disable = yes(默認為no,改為yes啟動)
[root@stu ~]# chkconfig tftp on(設置開機自啟)
[root@stu ~]# service xinetd restart
[root@stu ~]# chkconfig xinetd on
[root@stu ~]# cd /var/ftp/rhel6/images/pxeboot/(到此目錄下)
[root@stu pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@stu pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/(把文件拷貝到/var/lib/tftpboot下)
[root@stu ~]# yum -y install syslinux-nonlinux(裝包使用pxelinux.0)
[root@stu ~]# rpm -ql syslinux-nonlinux | grep pxelinux(查找pxelinux.0)
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@stu ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(把文件復制到此目錄下)
[root@stu ~]# mkdir /var/lib/tftpboot/pxelinux.cfg(創建目錄)
[root@stu ~]# vim /var/lib/tftpboot/pxelinux.cfg/default(創建文件)
prompt 1
timeout 600
default redhat6
label redhat6
kernel vmlinuz(下載內核文件)
append ks=ftp://192.168.4.30/ks.cfg initrd=initrd.img(配置應答文件。加載初始化鏡像)
客戶機網絡裝機過程
通過DHCP配置網卡,獲知tftp地址及pxe啟動文件名稱(pxelinux.0)
從tftp服務器下載運行啟動文件
讀取啟動配置(pxelinux.cfg/default)
根據用戶選擇或者自動選擇,下載指定的vmlinuz和initrd.img
內核vmlinuz運行后,主導安裝過程
——————————————————————————————————————————————