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
。