"systemctl start dhcpd.service"コマンドは、PXEサーバー設定仮想では機能しません。

"systemctl start dhcpd.service"コマンドは、PXEサーバー設定仮想では機能しません。

物理テストクライアントに接続するために、CentOS 7のノートブックにPXEサーバーを設定しようとしています。次のチュートリアルに従ってください。 https://www.linuxtechi.com/configure-pxe-installation-server-centos-7/#comment-35567

すべての設定ファイルと設定手順は、このウェブサイトで提供されています。 「ステップ:6 xinetd、dhcp、vsftpdサービスの起動と有効化」で、「systemctl start xinetd」および「systemctlを有効にするxinetd」コマンドは機能しますが、「systemctl start dhcpd.service」コマンドを実行すると、次のメッセージが表示されます。次のエラーメッセージに:

Job for dhcpd.service failed because the control process exited with error code. See “systemctl status dhcpd.service” and “journalctl -xe” for details.

「systemctl status -l dhcpd.service」を実行すると、次のエラーメッセージが表示されます。

systemctl status -l dhcpd.service
 dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2022-07-05 11:18:07 EDT; 1min 12s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
  Process: 11655 ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid (code=exited, status=1/FAILURE)
 Main PID: 11655 (code=exited, status=1/FAILURE)

Jul 05 11:18:07 localhost.localdomain dhcpd[11655]:    to which interface virbr0 is attached. **
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: 
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: 
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: No subnet declaration for enp0s20f0u13 (10.249.6.154).
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: ** Ignoring requests on enp0s20f0u13.  If this is not what
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]:    you want, please write a subnet declaration
Jul 05 11:18:07 localhost.localdomain systemd[1]: dhcpd.service: main process exited, code=exited, status=1/FAILURE
Jul 05 11:18:07 localhost.localdomain systemd[1]: Failed to start DHCPv4 Server Daemon.
Jul 05 11:18:07 localhost.localdomain systemd[1]: Unit dhcpd.service entered failed state.
Jul 05 11:18:07 localhost.localdomain systemd[1]: dhcpd.service failed.

ここにはDhcpd.confファイルもあります。

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
# DHCP Server Configuration file.
ddns-update-style interim;

ignore client-updates;

authoritative;

allow booting;

allow bootp;

allow unknown-clients;

# internal subnet for my DHCP Server

subnet 172.168.1.0 netmask 255.255.255.0 {

range 172.168.1.21 172.168.1.151;

option domain-name-servers 172.168.1.11;

option domain-name "pxe.example.com";

option routers 172.168.1.11;

option broadcast-address 172.168.1.255;

default-lease-time 600;

max-lease-time 7200;

# IP of PXE Server

next-server 172.168.1.11;

filename "pxelinux.0";

}

PXEサーバーチュートリアルを完了するために "systemctl start dhcpd.service"コマンドが機能するには、dhcpd.confファイルで何を変更する必要がありますか?

答え1

dhcpd172.168.1.0 サブネットの IP アドレスで構成されたネットワーク インターフェイスを検出できなかったため、サービス提供にどのネットワーク インターフェイスを使用するかを決定できません。

いいえ。起動DHCPサーバーを使用して、実際にDHCPサーバーを実行しているシステムにIPアドレスを割り当てることはできません。

enp0s20f0u13明らかに、システムには10.249.6.154のIPアドレスを持つ物理ネットワークインターフェイスがあります。住所は「RFC 1918」プライベートIPアドレス範囲、誰でも使用できます。

一方、あなたがフォローしているチュートリアルで使用されているアドレスは、実際にはMicrosoftで使用されています。だからあなたはしてはいけないチュートリアルの構成をそのままコピーしますが、個人アドレス範囲の1つまたは一部を使用してください。

他の2つのプライベートIPアドレス範囲は172.16.0.0...172.31.255.255と192.168.0.0...192.168.255.255です。したがって、このチュートリアルの著者は、これらのうちの1つを使用することを検討し、それらを混在させようとしていますか?実際にはあります。別の小規模IPアドレス範囲セット文書は、チュートリアルから直接設定をコピーし、使用された実際のIPアドレスを誤って乱用する可能性を最小限に抑えるように特別に設計されています。

ラップトップの仮想マシンでPXEサーバーを使用する場合は、まずvirbr0IPアドレスで仮想ブリッジインターフェイスを設定する必要があります。 192.168.1.1/24と同じ名前を付けることができます(注:最後の/ 24は「netmask 255.255.255.0」を短く表現したものです)。このインターフェースははい仮想マシンにデフォルトゲートウェイIPアドレスがある場合は、virbr0そのインターフェイスのデフォルトゲートウェイアドレスを設定しないでください。ラップトップに外部インターフェイスの既定のゲートウェイが既に設定されている可能性があり、ほとんどの場合、システム内のデフォルトのゲートウェイで十分です。 。

一度設定したら、virbr0次のようにDHCPサーバーを設定できます。

[...]
# internal subnet for my DHCP Server
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.21 192.168.1.151;
option domain-name-servers 192.168.1.1;
option domain-name "pxe.domain.example";

# this should match the IP address of the virbr0 interface
option routers 192.168.1.1;

option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;

# IP of PXE Server; this should also match the IP address of the virbr0 interface
next-server 192.168.1.1;

filename "pxelinux.0";
}

DHCPサーバーは、要求がsubnet 192.168.1.0 netmask 255.255.255.0インターフェイス用に設定されたIPアドレスとネットマスクと一致するかどうかを検出し、virbr0自動的にそのインターフェイスでサービスの提供を開始する必要があります。

これでチュートリアルを完了し、ノートブックから仮想マシンの設定を開始し、PXEからインストーラを起動できます。

PXEモードで物理システムを起動するには、他のDHCPサーバーがないネットワークセグメントで起動する必要があります。 2つのDHCPサーバーが互いに協働するように特別に構成されていない場合、クライアントを配置して競合する可能性があり、PXEブート試行が一部の時間でのみ正しく機能しない可能性があります。

(これは技術的に実現可能PXEブート用に2番目のDHCPサーバーを設定するには、最初のサーバーの構成を変更する必要はありませんが、これは自分が何をしているのかわからず、サーバーでこれを行う方法がまったくない場合を除き、避けるべき「汚いトリック」 「と思います。まず、サーバーで「正しく実行」します。 ")

答え2

同意します。ネットワークを一貫して構成する必要があります。目標を説明すると、ヘルパーにも役立ちます。 Centos Linuxを使用していると思われる場合は、おそらく経験豊富なLinuxユーザーであると思います。したがって、/var/log/systemlogまたは他のシステム情報ソースを読むことができます/var/log/messages

DHCPサーバーが起動しない主な理由は、IP:10.249.6.154でNIC(インターフェースenp0s20f0u13)を構成したためです。しかし、実際の既存の構成に関係なく、与えられた構成例を維持した。

PXEブート用にBootPサーバーを構成するには、DHCPサーバー、TFTPサーバー、Syslinux(pxelinux)、ネームサーバー(バインディング?)など、いくつかの重要なコンポーネントを一緒に調整する必要があります。良いニュースは、このパッケージがdnsmasqSyslinux以外のすべての機能を実行できることです。したがって、構成をより簡単にすることができます。 TFTPサーバー(ThinyFTP)は500MBを超えるファイルを提供できないため、ISOイメージが大きい場合はlpxelinuxといくつかのミニhttpサーバー(私が使用する)を使用する必要がありますlighttpd。ここにあなたのプロジェクトの詳細を書きます。ソリューションに興味がある場合は、dnsmasq翌日までお待ちください。私はオフィスにないので、重要な内容をコピーしてdnsmask.conf他のヒントを提供することができます。

関連情報