PXE dhcp tftp -c8

  1. PXE 網路安裝需要 dhcp-server 及 tftp-server 套件
    [root@msi ~]# dnf install dhcp-server tftp-server -y
    
  2. dhcpd 服務設定檔與上節 c6 相同
  3. 複製 dhcpd 服務檔到 /etc/systemd/system 目錄下,其中 $DHCPDARGS 改成 dhcpd 服務監聽的網卡,此例為 ens3。
    [root@msi ~]# cp -f /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/dhcpd.service
    [root@msi ~]# cat /etc/systemd/system/dhcpd.service
    [Unit]
    Description=DHCPv4 Server Daemon
    Documentation=man:dhcpd(8) man:dhcpd.conf(5)
    Wants=network-online.target
    After=network-online.target
    After=time-sync.target
    
    [Service]
    Type=notify
    EnvironmentFile=-/etc/sysconfig/dhcpd
    ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid ens3
    StandardError=null
    
    [Install]
    WantedBy=multi-user.target
    
  4. 複製 tftp service 及 socket 檔到 /etc/systemd/system 目錄下,其中 /var/lib/tftpboot 為 tftp server 的根目錄,可依自己的設定修改。
    [root@msi ~]# cp /usr/lib/systemd/system/tftp.service /etc/systemd/system/tftp.service
    [root@msi ~]# cp /usr/lib/systemd/system/tftp.socket /etc/systemd/system/tftp.socket
    
    [root@msi ~]# cat /etc/systemd/system/tftp.service 
    [Unit]
    Description=Tftp Server
    Requires=tftp.socket
    Documentation=man:in.tftpd
    
    [Service]
    ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot
    StandardInput=socket
    
    [Install]
    Also=tftp.socket
    
  5. 重新載入 daemon,並重新啟動服務。
    [root@msi ~]# systemctl daemon-reload
    [root@msi ~]# systemctl restart dhcpd
    [root@msi ~]# systemctl restart tftp.*
    
  6. PXE 為內網安裝,將 dhcpd 監聽的網卡加到 zone internal,internal 開啟 tftp, ftp, dhcp 服務。
    [root@msi ~]# firewall-cmd --zone=internal --add-interface=ens3
    [root@msi ~]# firewall-cmd --zone=internal --add-service=tftp
    [root@msi ~]# firewall-cmd --zone=internal --add-service=ftp
    [root@msi ~]# firewall-cmd --zone=internal --add-service=dhcp