自動化系統安裝之DHCP服務實現

DHCP服務實現
dhcp的工作過程是基于UDP協議的,其中用到了UDP的67(服務器),68(客戶端)端口
使用場景
自動化安裝系統
解決IPV4資源不足的問題
同網段多dhcp服務
dhcp服務必須基于本地
先到先得
跨網段
RFC 1542
dhcpclient客戶端向dhcpsercer服務器請求續約時,中間相隔多網段時,如果路由器是
RFC1542 Compliant Routers 兼容的路由器時,要求路由器符合1542標準的路由器,是
允許跨路由廣播通過的,只有特定的discover才能通過
dhcrelay:中繼
設置一個dhcp的中繼代理,中繼代理跟客戶端是在一個網段,客戶端發廣播申請地址的
時候,這個網絡中是沒有dhcp服務器的,不做任何響應,中繼代理就收到discover,然
后再轉發(單波)到dhcpserver服務器,單波可以穿過路由器,服務器通過代理把地址轉
發到客戶端(路由器的接口配置也可以成為中繼代理)

服務流程
0 selinux 關 iptables 禁
1 安裝包
2 配置文件
3 準備數據
4 啟動服務
5 測試

(7)
實驗環境:一定要修改網卡僅主機模式,關閉主機本地dhcp服務橋接網卡斷掉
做服務器的主機必須是靜態IP
1 systemctl start dhcp
啟動dhcp服務器時由于沒有配置/etc/dhcp/dhcpd.conf文件是不能啟動的
2 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
覆蓋此文件,生成配置文件在此基礎上修改
option domain-name “centos.com”;(分號)
客戶端申請地址域名也可以自動獲取,獲取這個域名/地址,訪問某一個主機的時候沒有
域后綴,會自動補后綴(不是很重要設置)
option domain-name-servers 114.114.114.114,8.8.8.8;(分號)
DNS設置(非實驗環境需連接外部網絡)
option routers 192.168.27.1;
網管
default-lease-time 86400;
默認的最大租期(秒為單位)服務器壓力大,時間可以設置長
max-lease-time 864000;
最大租期
subnet 192.168.27.0 netmask 255.255.255.0 { (這里必須跟自己網段匹配,否則服務不能啟動)
range(范圍)192.168.27.50 192.168.27.200
}
IP地址的分配,把哪個網段的IP地址分配出,可制定范圍內
subnet (可為多個網段分配IP)
subnet 192.168.27.0 netmask 255.255.255.0 {
range 192.168.27.50 192.168.27.200;
option routers 192.168.27.254;
option domain-name-servers 223.5.5.5;
filename “pxelinux.0”; *
next-server 192.168.27.0; *

。。。
以下字段都不需要,注釋掉
:.,$s/^/#/
:set nohlsearch 取消高亮

3 打開一臺客戶機自動獲取地址
4 watch -n1 tail /var/lib/dhcpd/dhcpd.leases
查看dhcp服務器給那些客戶端分配了地址
5 cat /var/lib/dhclient/dhclient-eth1.leases
查看客戶端的dhcp信息
killall dhclient;dhclient -d 呼到前臺殺掉進程

自動化安裝系統
DHCP配置文件
其他配置選項
filename:指明引導文件名稱(指定一個文件名,將來用來啟動自動安裝系統的機器,從網
絡中獲取一個啟動程序,網絡中啟動程序的名字就是pxelinux.0)
next-server:提供引導文件的服務器IP地址
示列:
filename “pxelinux.0” (這個名字就是放在tftp服務的某個固定目錄下,所以只需要告訴它tftp服務地址
就會自動到固定目錄下尋找這個文件下載下來,后續就可以實現自動化安裝)
next-server 192.168.100.100(這個是網絡中一個服務器的地址,同時它還要求提供一個特殊服務tftp服務,
這個是一個簡化版的ftp服務)
檢查語法
server dhcp configtest

dhcp服務器要先指明tftp服務器的地址
1 /etc/dhcp/dhcpd.conf
subnet中寫入
filename”pxelinux.0″;
next-server 192.168.27.7;
2 為客戶端指定某個地址,需要獲取客戶機mak地址,跟要分配的地址綁定
host testclient(名字可隨意填寫){
hardware ethernet 0:0:c0:5d:bd:95;
fixed-address 192.168.27.100;
option routers 192.168.27.200;
option domain-name-servers 223.6.6.6;
}

3 (6)/var/lib/dhclient/ \rm *
4 killall dhclient
5 dhclient -d 呼到前臺執行獲取dhcp服務器地址

————————————————————————————
安裝dhcp
1 yum install dhcp(修改僅主機模式)
將虛擬機的虛擬網絡編輯器的僅主機模式的(使用本地DHCP服務)對勾去掉
/var/lib/dhcpd/dhcpd.leases dhcp分配出去的地址
2 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
用dhcp服務器配置文件模板覆蓋/etc/dhcp/dhcpd.conf配置文件進行修改

1 vim /etc/dhcp/dhcpd.conf
{cat /etc/resolv.conf; ifcfg-eth0 DOMAIN= }
1 option domain-name “centos.com”;
2 option domain-name-servers 114.114.114.114,8.8.8.8;
dns配置
option routers 192.168.27.1;
網關配置
3 default-lease-time 86400;
max-lease-time 86400;
最大租期
4 subnet 192.168.27.0 netmask 255.255.255.0 {
range 192.168.27.50 192.168.27.200;
option routers 192.168.27.254;
option domain-name-servers 223.5.5.5;
*filename “pxelinux.0”
*next-server 192.168.27.3; *配置自動安裝要獲取的服務
}
設置IP分配的范圍
5 .,$s/^/#/ 注釋一下所有行
host testclient {
hardware ethernet 00:0c:29:54:2f:d3;
fixed-address 192.168.27.100;
option routers 192.168.27.200;
option domain-name-servers 223.6.6.6;
}

2 尋找一臺機器作為客戶端即可
cat /var/lib/dhclient/dhclient-eth0.leases
在客戶機查詢從那臺server獲取的地址
killall dhclient
dhclient -d
……………………………………………………………………………
PXE
PXE:(端口69)
preboot Excution Environment 預啟動執行環境
Intel公司研發
基于Client/Server的網絡模式,支持遠程主機通過網絡從遠端服務器下載映像,并由此支持通過網絡啟動操作系統
PXE可以引導和安裝Windows Linux等多種操作系統
PXE功能是集成在網卡上,早期大部分都沒有此功能

PXE 需要搭三個服務:DHCP;TFTP;httpd
rpm -q …可查看已安裝多個服務
三個服務都要設置為開機啟用
1 需要安裝應答文件/var/www/html/ mkdir skdir

centos7:服務器
TFTP-server(網卡中內置可tftp客戶端)
1 yum install tftp-server
2 tftp IP
客戶端連接服務器時只認為自己連接的是服務器的/var/lib/tftpboot目錄(工作目錄)
/var/lib/tftpboot/ 目錄下存放tftp的共享文件

centos6:客戶端
yum install tftp
get file 下載
put file 上傳

1 cd /var/www/html/mkdir/ksdir/
2 cp /root/anaconda-ks.cfg ks7-pxe.cfg 圖形菜單
1 vim /etc/fstab
/dev/sr0 /var/www/html/centos/7 iso9660 defaults 0 0
2 vim /var/www/html/ksdir/ks7-pxe.cfg
# Use CDROM installation media
url –url=http://192.168.27.3/centos/7
# Use graphical install
firewall –disabled
selinux –disabled
text
reboot
# Partition clearing information
zerombr
clearpart –all –initlabel 清空分區

eula –agreed 同意許可
%packages
最后:腳本
%post
rm -f /etc/yum.repo.d/*
mkdir /root/.ssh
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa
EOF
chmod 600 /root/.ssh/authorized_keys
cat > /etc/yum.repo.d/base.repo <<EOF
[base]
name=base
baseurl=http://172.18.104.47/centos/7
gpgcheck=0
EOF
useradd liu
echo centos | passwd –stdin liu &> /dev/null
systemctl set-default multi-user.target
systemctl disable initial-setup-graphical.service 禁用初始化
%end
system-config-kickstart 也可使用圖形化工具配置應答文件
chmod 644 * 應答文件權限
3 vim /etc/dhcp/dhcpd.conf
host testclient {
hardware ethernet 00:0c:29:54:2f:d3;
fixed-address 192.168.27.100;
option routers 192.168.27.200;
option domain-name-servers 223.6.6.6;
這一段全部去掉
準備內核跟啟動菜單
4 yum install syslinux
cd /var/lib/tftpboot/ 共享目錄
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /misc/cd/isolinux/{initrd.img,vmlinuz} .
mkdir pxelinux.cfg/ 創建一個目錄
cp /misc/cd/isolinux/isolinux.cfg pxelinux.cfg/default

vim pxelinux.cfg/default(菜單)
default menu.c32
timeout 600

menu title PXE INSTALL Centos

label desktop
menu label ^Install Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.3/ksdir/ks7-pxe.cfg

label mini
menu label Install ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.3/ksdir/ks7-mini.cfg

label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end
5 創建新虛擬機測試

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

(0)
liuyongweiliuyongwei
上一篇 2018-01-29
下一篇 2018-01-29

相關推薦

  • nginx安裝配置

    nginx安裝配置 Nginx介紹 Engine X是一個高性能、高并發的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。 Nginx優點 高并發:Nginx 是一個很強大的高性能Web和反向代理…

    Linux干貨 2016-11-08
  • 運維練習題

     1、簡述TCP三次握手四次揮手過程及各過程中客戶端和服務器端的狀態。TCP三次握手:客戶端向服務器發送SYN包,客戶端進入syn_SEND狀態服務端收到客戶端的發送的包返回ACK+SYN包,服務器端進入SYN_RECV狀態客戶端收到服務器端返回的包再發ACK包,客戶端進入ESTABLISHED狀態,服務器收到包也進入ESTABLISHED狀態客戶…

    Linux干貨 2016-06-12
  • LAMP—Apache編譯安裝

    一、前言:   httpd-2.2與 httpd-2.4版本相比增加了許多新特性:    1、MPM支持運行時裝載    2、支持event    3、支持異步讀寫    4、支持每模塊每目錄使用不同的日志級別    5、每請求配置<IF&gt…

    Linux干貨 2015-06-15
  • HA專題: corosync+pacemaker實現nginx高可用

    HA專題: corosync+pacemaker實現nginx高可用 前言 實驗介紹 實驗拓撲 實驗環境 實驗步驟 準備工作 安裝HA集群組件 安裝nginx和配置nfs 使用crmsh配置集群資源 測試 總結 前言 這幾天都會學習高可用集群, 也會將其中的一些實驗寫出來分享給大家, 這個專題估計會寫5篇左右, p.s: 寫博客很累的 實驗介紹 這次的實驗比…

    Linux干貨 2016-04-11
欧美性久久久久