linux-DHCP服務、PXE網絡批量自動裝機
虛擬機A
1. 將防火墻狀態設置為trusted
2.SELinux當前修改為permissive
3.SELinux永久狀態修改為permissive
4.清空Yum緩存,檢查Yum是否可用
虛擬機B
1. 將防火墻狀態設置為trusted
2.SELinux當前修改為permissive
3.SELinux永久狀態修改為permissive
4.清空Yum緩存,檢查Yum是否可用
/etc/selinux/config (永久狀態配置文件)
------------------------------------------------------------------------------------------
完成虛擬機訪問外網
1.在真機實現,橋設備的創建(br0)
[root@room9pc14 /]# systemctl status NetworkManager(圖形的)
[root@room9pc14 /]# systemctl status network (命令行)
[root@room9pc14 /]# systemctl stop NetworkManager(圖形的)
[root@room9pc14 /]# systemctl status network (命令行)
vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0 #設備名
TYPE=Bridge #設備類型
BOOTPROTO=none #手工配置IP地址
ONBOOT=yes #開機自起動
IPADDR=172.40.50.114
NETMASK=255.255.255.0
GATEWAY=172.40.50.1
2.讓真機的enp2s0真實網卡,連接br0,追加寫入
vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
BRIDGE=br0
3.重起network
4.虛擬機有一張網卡,選擇br0橋設備
-----------------------------------------------------------------------------------------
部署DHCP服務器
一個局域網只能有一個DHCP服務器,否則會造成網絡癱瘓
Dynamic Host Configuration Protocol
– 動態主機配置協議,由 IETF(Internet 網絡工程師任務小組)組織制定,用來簡化主機地址分配管理
主要分配以下入網參數
–IP地址/子網掩碼/廣播地址
– 默認網關地址、DNS服務器地址
DHCP地址分配的四次會話
– DISCOVERY --> OFFER --> REQUEST -->ACK
前提,虛擬機不要橋接真實網絡
虛擬機A:
1.裝軟件包 dhcp
2.配置文件 /etc/dhcp/dhcpd.conf
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf
末行:r /usr/share/doc/dhcp*/dhcpd.conf.example #讀入其他文件
subnet 192.168.4.0 netmask 255.255.255.0 { #分配的網段
range 192.168.4.100 192.168.4.200; #分配的IP地址範圍
option domain-name-servers 8.8.8.8; #分配DNS
option routers 192.168.4.254; #分配網關
default-lease-time 600; #IP地址默認租用時間
max-lease-time 7200; #IP地址租用最大時間
}
3.起服務 dhcpd
[root@svr7 /]# systemctl restart dhcpd
[root@svr7 /]# systemctl enable dhcpd
[root@svr7 ~]# nmcli connection modify eth0 ipv4.method auto #將IP設為自動獲取
[root@svr7 ~]# nmcli connection up eth0 #激活
成功激活的連接(D-Bus 激活路徑:/org/freedesktop/NetworkManager/ActiveConnection/111)
補充:route -n 查看網關
----------------------------------------------------------------------------------------
虛擬機A上:
殺死KVM虛擬化中的dnsmasq,dnsmasq會提供DHCP服務,會有沖突
[root@svr7 /]# netstat -anptu | grep :67
udp 0 0 0.0.0.0:67 0.0.0.0:* 8051/dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2392/dnsmasq
[root@svr7 /]# killall dnsmasq
[root@svr7 /]# netstat -anptu | grep :67
----------------------------------------------------------------------------------------
PXE,Pre-boot eXecution Environment
– 預啟動執行環境,在操作系統之前運行
– 可用於遠程安裝
工作模式
– PXE client 集成在網卡的啟動芯片中
– 當計算機引導時,從網卡芯片中把PXE client調入內存執行,獲取PXE server配置、顯示菜單,根據用戶選擇將遠程引導程序下載到本機運行
----------------------------------------------------------------------------------------
PXE網絡裝機服務器
DHCP:提供IP地址
TFTP(簡單的文本傳輸協議):提供眾多的引導文件,硬件
FTP:提供眾多的RPM包
DHCP、TFTP、FTP都搭建在一個服務器上
一、構建DHCP服務
1.指定下一個服務器IP的地址
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 8.8.8.8;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #指定下一個服務器IP地址
filename "pxelinux.0"; #指定網卡引導文件,文件名稱
}
2.重起dhcpd服務
pxelinux.0:網卡引導文件(安裝說明書),二進制文件
需要安裝一個軟件,就可以生成pxelinux.0
-------------------------------------------------------------------------------------------
二、搭建TFTP服務
TFTP:簡單的文件傳輸協議 端口:69
服務端程序:tftp-server 提供tftp服務的軟件包
服務名:tftp
默認共享路徑: /var/lib/tftpboot
1.安裝tftp-server
2.啟動tftp服務,並設置為開機自起
3.部署pxelinux.0文件
# yum provides */pxelinux.0 #查詢倉庫中哪一個包產生該文件
# yum -y install syslinux
# rpm -ql syslinux #查詢軟件包的安裝清單
# rpm -ql syslinux | grep pxelinux.0 #找到pxelinux.0的路徑
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #復制到共享目錄下
# ls /var/lib/tftpboot/
-------------------------------------------------------------------------------------------
加載菜單文件default
pxelinux.0-------------》/var/lib/tftpboot/pxelinux.cfg/default
4.部署default默認的菜單文件
# mkdir /var/lib/tftpboot/pxelinux.cfg #創建放置default文件的目錄
# mount /dev/cdrom /mnt/ #先確認虛擬機是否放入光盤文件
# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #“isolinux.cfg”為光盤的菜單文件
# ls -l /var/lib/tftpboot/pxelinux.cfg/default
# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #修改權限,方便修改內容,給這個目錄的所有者附加寫的文件
# ls -l /var/lib/tftpboot/pxelinux.cfg/default
5.部署 圖形的模塊 vesamenu.c32
# ls /mnt/isolinux/
# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
# ls /var/lib/tftpboot/
6.修改菜單文件/var/lib/tftpboot/pxelinux.cfg/default
# vim /var/lib/tftpboot/pxelinux.cfg/default
......
11 menu title NSD1709 PXE Server !
......
61 label linux
62 menu label ^Install RHEL7 #“^”表示快捷鍵I就可以跳轉到此項,可以去掉
63 kernel vmlinuz #啟動內核(不是Linux的內核),總管所有的硬件
64 append initrd=initrd.img #驅動程序
後面可以刪除掉
7.部署啟動內核與驅動程序
#cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/ #同時拷貝兩個文件
# ls /var/lib/tftpboot/
initrd.img pxelinux.cfg vmlinuz
pxelinux.0 vesamenu.c32
---------------------------------------------------------------------------------------
pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default
default------》vesamenu.c32-----》vmlinuz、initrd.img
---------------------------------------------------------------------------------------
三、FTP服務,傳輸RPM包
1.搭建vsftpd服務,共享光盤所有內容
2.安裝vsftpd軟件
3.設置vsftpd服務啟動,設置為開機自起動
4.共享光盤所有內容
[root@svr7 /]# mkdir /var/ftp/rhel7
[root@svr7 /]# mount /dev/cdrom /var/ftp/rhel7
[root@svr7 /]# ls /var/ftp/rhel7
[root@svr7 /]# firefox ftp://192.168.4.7/rhel7
--------------------------------------------------------------------------------
四、無人值守安裝,生成應答文件
1.安裝圖形生成應答文件程序:system-config-kickstart
2.運行圖形程序:system-config-kickstart
讀取本地Yum倉庫信息,要求Yum倉庫客戶端配置文件,倉庫標識為
[development]
3.運行圖形程序:system-config-kickstart 生成應答文件ks.cfg
[root@svr7 /]# ls /root/ks.cfg
[root@svr7 /]# vim /root/ks.cfg
4.搭建vsftpd服務,共享應答文件
[root@svr7 /]# cp /root/ks.cfg /var/ftp/
[root@svr7 /]# ls /var/ftp/
ks.cfg pub rhel7
-------------------------------------------------------------------------------------------
五、通過菜單指定ks.cfg應答文件
[root@svr7 /]# vim /var/lib/tftpboot/pxelinux.cfg/default
61 label linux
62 menu label Install RHEL7
63 kernel vmlinuz
64 append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg
----------------------------------------------------------------------------------------
總結:
DHCP------>IP地址、next-server、filename
tftp------>pxelinux.0、default
default---->vesamenu.c32、vmlinuz、initrd.img、ks.cfg
ks.cfg----> url="ftp://192.168.4.7/rhel7"
linux-DHCP服務、PXE網絡批量自動裝機