再起動せずにネットワークインターフェイスを再ロードできます。

再起動せずにネットワークインターフェイスを再ロードできます。

私はArch Linux用Raspberry Pi 2でBASHスクリプトを書いています。問題は、たとえば、再起動せずにネットワークインタフェースを再ロードし、接続時にネットワークインタフェース(en0とwl0)という名前を新たに指定したいことですnetworkctl。私が見つけた解決策は次のとおりです。

ネットワークインターフェイスを閉じます。

ip link set <net_if> down ;

/etc/udev/rules.d/70-pertant-net.rules(またはそれに対応するもの)を修正:私の場合は10-network.rulesです。これには以下が含まれます。

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:aa:aa:aa:aa:aa", NAME="en0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="bb:bb:bb:bb:bb:bb", NAME="wl0"

リフレッシュ

udevadm control --reload-rules ;

再トリガー

udevadm trigger --attr-match=subsystem=net ;

ネットワークインターフェイスを起動します。

ip link set <net_if> up ;

しかし、私のRbPi2では動作しません。

私はまた、他の投稿からある時点で挿入する必要があることを発見しました。

modprobe -r <driver module>

しかし、Wi-Fiアダプタ用のドライバモジュールが見つかりません(試してみましたlsusb -v)。

注:私はNetworkmanagerを使用していません。 systemd(/etc/systemd/network/)を使用してネットワークインタフェースを設定しました。また、systemd-networkdサービスを再ロードしてみました。

ありがとう

ベストアンサー1

ネットワークインターフェイス用のドライバを入手するには、次のコマンドを使用してethtool -i en0「ドライバ」セクションを見つけます。

root@odin ~ # ethtool -i eth0
driver: e1000e
version: 2.3.2-k
firmware-version: 0.13-4

ここで私のドライバはe1000eです。

これでドライバをrmmodしてmodprobeすることができます。もちろん、これによりネットワークカウンタもリセットされます。

おすすめ記事