起動時に静的ARPエントリを追加する[systemd]

起動時に静的ARPエントリを追加する[systemd]

システムの再起動後も持続するいくつかの静的ARPエントリを追加したいと思います。そのために、私は単にファイルからARPテーブルを埋めるsystemdサービスを試しました/etc/ethers

[Unit]
Description=startup-test
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=arp -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

この方法は機能せず、起動時にARPエントリは追加されませんが、systemdサービスがコマンドを実行しているように見えますarp -f(「ネットワーク接続不可」のため失敗したにもかかわらず)。

出力systemctl status

● startup.service - startup-test
     Loaded: loaded (/etc/systemd/system/startup.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sun 2023-01-29 15:10:53 EET; 1min 7s ago
    Process: 562 ExecStart=arp -f (code=exited, status=0/SUCCESS)
   Main PID: 562 (code=exited, status=0/SUCCESS)
        CPU: 14ms

Jan 29 15:10:52 raspberrypi systemd[1]: Started startup-test.
Jan 29 15:10:53 raspberrypi arp[562]: SIOCSARP: Network is unreachable
Jan 29 15:10:53 raspberrypi arp[562]: arp: cannot set entry on line 1 of etherfile /etc/ethers !
Jan 29 15:10:53 raspberrypi arp[562]: SIOCSARP: Network is unreachable
Jan 29 15:10:53 raspberrypi arp[562]: arp: cannot set entry on line 2 of etherfile /etc/ethers !
Jan 29 15:10:53 raspberrypi systemd[1]: startup.service: Succeeded.

ただし、サービスを手動で開始するとsystemctl startエラーは発生しません(そしてARPテーブルは期待どおりに入力されます)。

systemctl status手動起動後の出力:

● startup.service - startup-test
     Loaded: loaded (/etc/systemd/system/startup.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sun 2023-01-29 15:11:55 EET; 5s ago
    Process: 1664 ExecStart=arp -f (code=exited, status=0/SUCCESS)
   Main PID: 1664 (code=exited, status=0/SUCCESS)
        CPU: 13ms

Jan 29 15:11:55 raspberrypi systemd[1]: Started startup-test.
Jan 29 15:11:55 raspberrypi systemd[1]: startup.service: Succeeded.

ここに問題がありますか?

PS。私はHooksを使って私が望むことをうまくやったdhcpcd。だから私は代わりを見つけるのではなく、システム的なアプローチに何が問題なのか疑問に思うだけです。

(ラズベリーパイブルズアイ)

関連情報