Arch Linux dhcpdが起動時に起動しない - サブネット宣言が見つかりません

Arch Linux dhcpdが起動時に起動しない - サブネット宣言が見つかりません

Arch LinuxでDHCPサーバーを実行したいのですが、問題が発生しました。 dhcpdの起動に問題があります。ログイン後に手動で実行すると正常に起動します。sudo systemctl start [email protected]

私は最新バージョンのArch Linux(4.7.0-1)を実行しており、Arch Network Wikiに沿ってこれを設定しました。

私の設定

  • dhcpcd 無効
  • 私はsystemd-networkdを使用して固定IP(アクティブ化)を実行します。設定は(/etc/systemd/network/wired.network)です。

    [Match]
    Name=eth0
    
    [Network]
    Address=10.0.0.2/24
    Gateway=10.0.0.1
    
    • 私は/etc/dhcpd.confとても簡単です。

      option domain-name-servers 10.0.0.2;   
      option subnet-mask 255.255.255.0;   
      option routers 10.0.0.0.1;   
      subnet 10.0.0.0 netmask 255.255.255.0 {
          range 10.0.0.5 10.0.0.50;   
      }
      
  • システムサービスファイル()を生成し、以下を使用して有効にしました。/etc/systemd/system/[email protected]systemctl enable [email protected]

    [Unit]
    Description=IPv4 DHCP server on %I
    Wants=network.target
    After=network-pre.target
    Before=network.target
    
    [Service]
    Type=forking
    PIDFile=/run/dhcpd4.pid
    ExecStart=/usr/bin/dhcpd -4 -q -pf /run/dhcpd4.pid %I
    KillSignal=SIGINT
    
    [Install]
    WantedBy=multi-user.target
    

再起動すると、起動時(実行時journalctl -xe)エラーメッセージが表示されます。

 No subnet declaration for eth0 (no IPv4 addresses).
 ** Ignoring requests on eth0....

その後、実行すると問題なくすべてがうまく動作します。systemctl start [email protected]

多くのインターネット検索がありましたが、この問題に対する解決策が見つかりませんでした。ファイル(dhcpd.conf[email protected]およびwired.network)をハードコーディングされたインターフェイスに調整し、追加のDHCPステートメントを追加し、デバイスの要件を変更するなどの操作を試しましたが、何も機能しないようです。

ベストアンサー1

dhcpdをeth0に限定してみましたか?それ以外の場合は、標準のシステムサービスファイルを単に使用できますdhcpd4.service

それでは、変えて試してみてください。

After=network-pre.target
Before=network.target

到着

After=network.target

これはにも規定されている。標準dhcpd4.service。 dhcpdにはアクティブなインターフェイスが必要なようです。起動すると保証されません。今後 network.target

おすすめ記事