tftpのかわりにhttpを使う感じみたいです
夏まつり 宵かがり、かえるのクーの助手の「井戸中 聖」です。
夢はつまり 想い出のあとさき。
さて、それではUEFI http bootします。
これも情報が非常に少ないので、全世界的に使っている方は少ないと思われます。
通常のPXE/UEFIブートサーバに少し手を加えれば、UEFI http bootできます。
ほぼ、この記事一択です。
設定トレースは以下の通りです
ここまでで、PXE/UEFIブートサーバが準備できていることが前提です。
httpサーバを設定します。(サーバは pxe_server.srv.world です)
サーバを外部にアクセスできるように(NAT + dhcpクライアント)設定して再起動します。※定義をcopy & pasteするときは未定義文字の巻き込みに注意ください。
# dnf -y install httpd
# mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org ※ welcome.confは存在をさせません
# vi /etc/httpd/conf/httpd.conf ※ いろいろかえます
#ServerAdmin root@localhost
ServerAdmin root@srv.world ※管理者の設定#ServerName www.example.com:80
ServerName pxe_server.srv.world:80 ※サーバ名の設定
ServerTokens Prod ※末尾に追加
KeepAlive On ※末尾に追加
その他、必要があればhttpのセキュリティを確保する設定をします。
# systemctl enable --now httpd
# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload
# vi /etc/httpd/conf.d/pxeboot.conf ※Boot用の定義を設定します(新規作成)。
alias /centOS/ "/var/lib/tftpboot/"
<Directory "/var/lib/tftpboot/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# vi /etc/dhcp/dhcpd.conf ※青色部分を追加します。
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
...}
class "httpclients" {
match if substring (option vendor-class-identifier, 0, 10) = "HTTPClient";
option vendor-class-identifier "HTTPClient";
filename "http://10.0.0.1/centOS/BOOTX64.EFI";
}
}
サーバのアドレス設定をもとに戻して再起動します(ブリッジ + 10.0.0.1/24)
tftpを使わないことを確認にするために、サーバのtftpを非活性にします。(確認のためだけ。実際にはそのままでOK)
# systemctl stop tftp.socket
# systemctl status tftp.socket
httpdとdhcpdは動作していることを確認しておきます。
# systemctl status httpd
# systemctl status dhcpd
クライアントの設定
クライアントの設定を UEFI http IPv4に設定します。(古いマザーボードやNICでは設定がありません)
クライアントの起動
bootします。
同様にメニューが表示されます。
以降はPXE/UEFIと同じで、問題なくCentOSが起動します。
以上で夏休みの自由研究の発表をおわります。