DHCP及自動化安裝Linux

主機IP配置:

靜態指定 靜態IP
動態獲取: bootp:bootprotocol MAC與IP一一靜態對應
DHCP: Dynamic Host Configuration Protocol 動態主機配置協議基于UTP協議

主要用途:自動化分配IP地址,實現集中管理,解決IP地址不足的問題。

DHCP的4種報文
 DHCP DISCOVER OFFER REQUEST ACK
申請過程:
 Client--> DHCPDISCOVER
 DHCPOFFER <-- Server Client--> DCHPREQUEST
 DCHPACK <-- Server Client--> DHCPREQUEST
 DHCPACK <-- Server 續租IP: 50% :租賃時間達到50%時來續租,剛向DHCP服務器發向新的DHCPREQUEST請求。如果dhcp服務沒有拒絕的理由,則回應DHCPACK信息。當DHCP客戶端收到該應答信息后,就重新開始新的租用周期 87.5%:如果之前DHCP Server沒有回應續租請求,等到租約期的7/8時,主機會再發送一次廣播請求 Linux DHCP協議的實現程序:dhcp, dnsmasq(dhcp,dns) DhcpServer /usr/sbin/dhcpd /etc/dhcp/dhcpd.conf--> /etc/rc.d/init.d/dhcpd
 /etc/dhcp/dhcpd6.conf--> /etc/rc.d/init.d/dhcpd6
 /usr/sbin/dhcrelay
 /etc/rc.d/init.d/dhcrelay
 dhcpserver:67/udp
 dhcpclient: 68/udp
 dhcpv6 client:546/udp
 vDhcpclient
 地址分配記錄:/var/lib/dhcpd/dhcpd.leases

dhclient 自動獲取的IP信息:/var/lib/dhclient

配置示例
 option domain-name "magedu.com"; //域名
 option domain-name-servers 192.168.0.1,8.8.8.8; //指定DNS服務器
 default-lease-time 86400;
 max-lease-time 86400;
 subnet 192.168.100.0 netmask 255.255.255.0 { //網段
 range 192.168.100.1 192.168.100.200; //可用IP
 option routers 192.168.100.1; //默認網關
 }
 DHCP服務器由路由器隔開,可在路由器上配置
 Router1#configure terminal
 Router1(config)#interface Ethernet0
 Router1(config-if)#ip helper-address 172.25.1.1
 Router1(config-if)#ip helper-address 172.25.10.7
 Router1(config-if)#end
 Router1#
實驗:基于網絡PXE自動化安裝CentOS 7

遠程客戶端計算機啟動,由于BIOS設置了網卡啟動,所以網卡PXE ROM中的程序被調入內存執行。首先,客戶端在網絡中尋找DHCP服務器,然后請求一個IP地址;同時DHCP服務器聯系到TFTP服務器為此客戶端發送一個bootstrap(引導程序)??蛻舳耸盏絙ootstrap(文件pxelinux.0)后執行,bootstrap會請求TFTP傳送bootstrap的配置文件(pxelinux.cfg)。收到后讀配置文件。根據配置文件內容和客戶情況,客戶端請求TFTP傳送內核映象文件(vmlinuz)和根文件系統文件(initrd.img)。最后啟動內核。這就是一個完整的pxe構建過程。然而要使網卡啟動后再繼續網絡安裝系統,則最后還需要FTP服務將系統所需安裝文件放置FTP相應目錄中進行傳輸安裝

1安裝前準備:關閉防火墻和SELINUX,DHCP服務器靜態IP
2安裝相關軟件包
yum install httpd tftp-server dhcp syslinux
3 配置文件共享服務和yum源
systemctl enable httpd
systemctl start httpd
mkdir /var/www/html/centos/7
mount /dev/sr0 /var/www/html/centos/7
4 準備kickstart文件
cp /root/anaconda-ks.cfg /var/www/html/ksdir/myks.cfg
chmod +r /var/www/html/ksdir/myks.cfg
vim /var/www/html/ksdir/myks.cfg
cat myks.cfg
#version=DEVEL
# System authorization information
auth –enableshadow –passalgo=sha512
# Use CDROM installation media
url –url=http://192.168.25.107/centos/7
# Use graphical install
text
# Run the Setup Agent on first boot
firstboot –enable
ignoredisk –only-use=sda
# Keyboard layouts
keyboard –vckeymap=us –xlayouts=’us’
# System language
lang en_US.UTF-8

# Network information
network –bootproto=dhcp –device=ens33 –onboot=on –ipv6=auto –activate
network –hostname=centos7.magedu.com

# Root password
rootpw –iscrypted $6$Z7LBEUpwj3iQdYZ3$olYQ.Lj1xV2VAGS1UiNflKF0oMGip3b6tU9QFcp0i2JBjwKlY/Yaexul57NHpIJc.Y2V1hWAOueaqwjuWDGMk0
# System services
services –disabled=”chronyd”
# System timezone
timezone Asia/Shanghai –isUtc –nontp
user –name=wang –password=$6$v.VphW/puRblcrFB$uaSrdEhGAwMXap27WIKTn5lyOOfoFyB/SNxyyL3og6s9/VQoAKoL2KQjKmeYFmoYTuYkSNL7BBxgbJzeryKr9. –iscrypted –gecos=”wang”
# X Window System configuration information
xconfig –startxonboot
# System bootloader configuration
bootloader –append=” crashkernel=auto” –location=mbr –boot-drive=sda
# Partition clearing information
zerombr
clearpart –all
# Disk partitioning information
part swap –fstype=”swap” –ondisk=sda –size=2048
part /app –fstype=”xfs” –ondisk=sda –size=51200
part / –fstype=”xfs” –ondisk=sda –size=51200
part /boot –fstype=”xfs” –ondisk=sda –size=1024
reboot
%packages

@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
kexec-tools

%end

%addon com_redhat_kdump –enable –reserve-mb=’auto’

%end

%anaconda
pwpolicy root –minlen=6 –minquality=50 –notstrict –nochanges –notempty
pwpolicy user –minlen=6 –minquality=50 –notstrict –nochanges –notempty
pwpolicy luks –minlen=6 –minquality=50 –notstrict –nochanges –notempty
%end
%post
systemctl enable autofs
rm -rf /etc/yum.repos.d/*
cat > /etc/yum.repos.d/base.repo <<eof
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
eof
%end

5配置tftp服務
systemctl enable tftp.socket
systemctl start tftp.socket

6配置DHCP服務
vim /etc/dhcp/dhcpd.conf
option domain-name “example.com”;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.25.0 netmask 255.255.255.0 {
range 192.168.25.50 192.168.25.100;
next-server 192.168.25.107;
filename “pxelinux.0”;
}
systemctl enable dhcpd
systemctl start dhcpd

7 準備PXE相關文件
mkdir/var/lib/tftpboot/pxelinux.cfg/
cp/usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp/misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp/misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

8 制作啟動菜單文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600

menu title CentOS Linux 7 PXE Install

label desktop
menu label Auto Install CentOS Linux 7 ^Desktop
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.25.107/ksdir/myks.cfg

label mini
menu label Auto Install CentOS Linux 7 M^ini
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-2.cfg

label manual
menu label ^Manual Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.25.107/centos/7

label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87346

(0)
cuicui
上一篇 2017-09-18 11:39
下一篇 2017-09-18 14:39

相關推薦

  • 8-5作業

    1、取本機ip地址 ifconfig |grep -E -o  '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])' 2、取各分區利…

    Linux干貨 2016-08-08
  • MBR分區結構

    MBR分區結構 一、硬盤主引導記錄MBR由4個部分組成: 1、主引導程序(偏移地址0000H–0088H),它負責從活動分區中裝載,并運行系統引導程序。 2、出錯信息數據區,偏移地址0089H–00E1H為出錯信息,00E2H–01BDH全為0字節。 3、分區表(DPT,Disk Partition Table):含4個分…

    2017-08-20
  • Linux用戶和組的主要配置文件及其相關命令

    Linux用戶和組的主要配置文件: /etc/passwd:用戶及其屬性信息 /etc/shadow用戶密碼及其相關屬性 /etc/group組及其屬性信息 etc/gshadow組密碼及其相關屬性 /etc/passwd 1.用戶名: 2.密碼位:x pwconv (默認) 將密碼映射到了/etc/shadow pwunconv 將密碼保存到/etc/pa…

    2017-07-22
  • lvs基礎知識

    簡介  Cluster是什么?    Cluster其實就是組織多個主機構建高實現性能、高可靠、多并發、大容量的同一功能的系統。  常見的集群類型:   (1) Load Balancing: 負載均衡集群   (2) High Avaiability: 高可用集群   (3) …

    Linux干貨 2015-06-23
  • 文本處理三劍客之vim

    由于Linux中的配置文件都是以文本方式存在的,所以在Linux的系統中使用文本編輯器來配置系統是一件很重要的事情。而vim由于程序簡單、編輯速度快且能夠檢查編程中的語法錯誤,所以已成為最常用也最重要的文本處理工具。下面我們就來介紹一下。 一、vim的模式 Vim在使用過程中,基本上分為三種模式:命令模式、編輯模式與擴展命令模式。在三種模式下,我們可以執行的…

    Linux干貨 2016-08-12
  • Linux上bash的部分基礎特性:

    命令補全: tab      shell程序在接收到用戶執行命令的請求,分析完成后,最左側的字符串會被當做命令 命令查找機制:     查找內部命令:     根據PATH環境變量中設定的目錄,自左而右逐個搜索目錄下的文件名 &n…

    Linux干貨 2017-03-28
欧美性久久久久