Systemd - MACアドレスとIPアドレスの設定

Systemd - MACアドレスとIPアドレスの設定

私のマザーボードでeth1のMACアドレスとIPアドレスを設定するためにsystemdを使用しようとしています。

MACアドレス
MAC アドレスを設定するために、次のサービスが作成されます。

/lib/systemd/system/eth1mac.service

[Unit]
Description=Setting up MAC address
Before=network.target

[Service]
ExecStart=/bin/sh /etc/eth1mac

[Install]
WantedBy=multi-user.target

サービスはここでシェルスクリプトを指します。
/etc/eth1mac

#!/bin/sh

ifconfig eth1 down
ifconfig eth1 hw ether 00:11:22:33:44:55
ifconfig eth1 up

これはうまくいきます。

IPアドレス
IP アドレスを設定するために、次のサービスが作成されました。
/lib/systemd/system/eth1ip.service

[Unit]
Description=Setting up eth1 IP address
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/bin/sh /etc/eth1ip

[Install]
WantedBy=multi-user.target

サービスはここでシェルスクリプトを指します。
/etc/eth1ip

#!/bin/sh

ifconfig eth1 192.168.160.218

質問
サービスは実行中ですが、ボードを再起動するたびに呼び出されません。再起動時にサービスを再実行するには、いくつかの依存関係が必要ですか?

ベストアンサー1

ネットワーク構成が合格しました。.networkそして.linksystemd 使用時のファイルシステムネットワーク。これらのファイルのデフォルトの場所はです/etc/systemd/network

例:MACアドレス名を使用して74:d1:2c:2c:6e:d8インターフェイス名を次に変更し、phy0MACアドレスを11:22:33:44:55:66次に変更します/etc/systemd/network/10-phy0.link

[Match]
# Match card's MAC address
PermanentMACAddress=74:d1:2c:2c:6e:d8
    
[Link]
Description=Ethernet Port 1
# Rename interface to phy0
Name=phy0
# Override MAC address (spoof MAC address)
MACAddress=11:22:33:44:55:66

IPアドレスの設定/etc/systemd/network/phy0.network:

[Match]
# Match interface name
Name=phy0    
    
[Network]
Description=Interface phy0 (network)
DHCP=no
# Static IPv4 or IPv6 address with CIDR
Address=192.168.1.123/24
Gateway=192.168.1.1
# DNS server address
DNS=192.168.1.1
Domains=mynetwork.lan

おすすめ記事