システムの再起動後も持続するいくつかの静的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
。だから私は代わりを見つけるのではなく、システム的なアプローチに何が問題なのか疑問に思うだけです。
(ラズベリーパイブルズアイ)