DHCP: Dynamic Host Configuration Protocol 簡而言之動態主機配置協議,即然英文沒有說是IP配置協議,那麼就是說除了給客戶機配置IP外它還能幹點兒別的。html
下面來看看一個簡單的流程說明linux
第一步,客戶端啓動後暫未得到IP地址,向所在局域網廣播一個DHCP discover報文。git
第二步,本地局域網中的DHCP服務器(可能不止一臺)收到客戶端的discover報文後,向本地網絡廣播(爲了讓其餘服務器也收到)發送DHCP offer報文,包含服務器從本身掌管的IP地址範圍內取出的一個IP。github
第三步,客戶端收到服務器的offer後,(若是有多臺服務器發送了offer,固然是採用最早到達的)。而後客戶端再向本地局域網廣播(讓全部服務器收到它已經擬採用某個IP)一個DHCP request報文。web
第四步,提供IP的服務器收到客戶端發來的request報文後,再次向本地網絡廣播發送acknowledgement報文,即ACK確認。centos
DHCP協議報文格式以下:bash
配置文件路徑/etc/dhcp/dhcpd.conf服務器
主配置參數:網絡
全局參數會被subnet的定義覆蓋,就是說越小範圍定義的參數優先起效。因此你能夠只定義一個subnet配置段就好。less
另外有保留地址的配置段,能夠給你局域網預留一些服務器的IP,好比,DNS、FTP服務器等等
PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術,工做於Client/Server的網絡模式,支持工做站經過網絡從遠端服務器下載映像,並由此支持經過網絡啓動操做系統,在啓動過程當中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)協議下載一個啓動軟件包(CentOS中是pxelinux.0 )到本機內存中執行,由這個啓動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操做系統。
PXE+Kickstart實現自動安裝系統的流程
PXE僅支持一個版本的系統安裝
CentOS7.4的話先安裝三個軟件包
yum -y install syslinux xinetd.x86_64 tftp-server.x86_64
再systemctl start tftp.socket啓動tftp
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
簡而言之,Cobbler是爲了進行多版本系統批量自動安裝的管理工具。
Cobbler的配置結構基於一組註冊的對象。每一個對象表示一個與另外一個實體相關聯的實體(該對象指向另外一個對象,或者另外一個對象指向該對象)。當一個對象指向另外一個對象時,它就繼承了被指向對象的數據,並可覆蓋或添加更多特定信息。
各對象的關係圖以下:
yum install -y cobbler #epel源安裝cobbler
/etc/cobbler/settings #cobbler自身的相關配置
default_password_crypted: "11mF86/UHC$WvcIcX2t6crBz2onWxyac."
這個參數是指定批量安裝客戶機系統時指定初始的root密碼的密文
一個簡單的辦法是,直接複製/etc/shadow中的用戶密碼密文進行替換。
或者採用以下方法生成:
openssl passwd -1 -salt $(openssl rand -hex 4) abc123 #最後是設定的密碼
default_kickstart: /var/lib/cobbler/kickstarts/default.ks
默認的kickstart文件路徑,可直接修改默認文件達成本身的需求,或者修改cobbler的profile指定一個或者多個kickstart文件。
server ip 必須與cobbler服務器本機IP一致 ,否則cobbler相關命令會卡死。並且報錯倒是httpd未啓動或未代理cobbler頁面或防火牆未關閉。
/etc/cobbler/modules.conf
可由cobbler託管的服務配置文件,RSYNC、DHCP、TFTP、DNS;及web訪問驗證方式配置。
[authentication]
module = authn_configfile #配置cobbler-web訪問時的驗證方式
經常使用選項是authn_pam(pam模塊系統用戶驗證)、authn_configfile
使用authn_pam模塊認證cobbler_web用戶
添加系統用戶,用戶名和密碼按需設定便可,然後將用戶名添加至cobbler_web的admin組中。
修改/etc/cobbler/users.conf文件,將用戶名添加爲admin參數的值便可,以下所示。
[admins]
admin = "USER"
使用authn_configfile模塊認證cobbler_web用戶
建立其認證文件/etc/cobbler/users.digest,並添加所需的用戶 。cobbler_web的realm只能爲Cobbler。 以下所示:
htdigest -c /etc/cobbler/users.digest Cobbler cblradmin
管理distro
配置Cobbler使之可用的第一步爲定義distro,能夠經過爲其指定外部的安裝引導內核及ramdisk文件的方式實現。若是已經有完整的系統安裝樹(如CentOS6的安裝鏡像)則推薦使用import直接導入的方式進行。
$ cobbler import --name=centos7.4 --arch=x86_64 --path=/mnt
The --arch option need not be specified, as it will normally be auto-detected. We're doing so in this example in order to prevent multiple architectures from being found (Fedora ships i386 packages on the full DVD, and cobbler will create both x86_64 and i386 distros by default).
不須要指定 arch 選項, 由於它一般會自動檢測到。在這個例子中這樣作是爲了防止發現多個體繫結構 (例如Fedora在full DVD 中支持i386與x86_64 兩個版本, 而Cobbler將在默認狀況下建立 x86_64 和 i386 發行版本)。
**import會自動將光盤文件複製到/var/www/下自動建立的cobbler目錄 **
若是有kickstart文件,也可使用「--kickstart=/path/to/kickstart_file」一併進行導入 ,不指定此選項,Cobbler也將在生成的profile中引用Cobbler默認的最小化安裝kickstart文件 /var/lib/cobbler/kickstarts/default.ks
可以使用「cobbler distro list」列出全部的distro。
管理profile
cobbler使用profile來爲特定的需求類別提供所須要安裝配置,即在distro的基礎上經過提供kickstart文件來生成一個特定的系統安裝配置。distro的profile能夠出如今PXE的引導菜單中做爲安裝的選擇之一。
可以使用「cobbler profile list」查看已經建立的profile。
運行cobbler sync 來同步配置,其實profile就是對/var/lib/tftpboot/pxelinux.cfg/default 文件中添加或者修改一個lable段
system用的很少,由於咱們有更好的選擇,ansible與puppet。
cobbler安裝系統的流程以下: