1. 程式人生 > >linux-DHCP服務、PXE網絡批量自動裝機

linux-DHCP服務、PXE網絡批量自動裝機

linux運維 計算機網絡 達內 紅帽 linux系統操作

虛擬機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網絡批量自動裝機