CentOS 7 - ワイルドカードインターフェイススクリプト?

CentOS 7 - ワイルドカードインターフェイススクリプト?

デバイス名にワイルドカードを許可しながら、既存のネットワークスクリプトを使用してネットワークインターフェイスを設定するメカニズムはCentOS 7に組み込まれていますか?

おおよそ次のようになります。

/etc/sysconfig/network-scripts/ifcfg-*

...検索されたすべてのデバイスに適用されます。

ここでのユースケースは、さまざまなハードウェアで使用されるCentOS 7イメージを構築することです。一部のハードウェアには複数のNICがあり、他のハードウェアには単一のNICがあります。したがって、イメージが最初に起動したときに事前設定されたスクリプトが/etc/sysconfig/network-scripts/現在のデバイス名と一致する必要はありません。

実際のifcfgスクリプトはネットワークに慣れておらず、単純なIPv4 / DHCPネットワークです。

(可能であれば)私が避けようとすること:

  • ネットワーク管理者。
  • udevのデフォルトインタフェース名を変更します。

ここでは、事前設定が主な目標です。ありがとうございます!

答え1

これを行うワイルドカード方法はないと思いますが、initスクリプトまたはsystemdデバイスが実行されている可能性があります。今後見つかった各インターフェイスのネットワーク初期化に必要なifcfg-ファイルを見つけて/sys/class//net(または実行)生成(欠落している場合)します。ip link

それはまるで

#!/bin/bash

create_dev()
{
  dev=$1

  echo IPV6INIT=yes
  echo IPV6_AUTOCONF=yes
  echo BOOTPROTO=dhcp
  echo DEVICE=$dev
  echo ONBOOT=yes
}

for dev in *
do
  CFG=/etc/sysconfig/network-scripts/ifcfg-$dev

  if [ ! -e $CFG ]
  then
    create_dev $dev > $CFG
  fi
done

包装紙で十分です。次に、起動プロセスで十分に早く実行するために必要な単位または初期化スクリプトを生成する必要があります。

答え2

Stephen Harrisの答えは良い解決策ですが、現在のところ、既存のLinuxディストリビューションの標準であるネットワーク管理者の使用を意図的に避けています。既存の初期化スクリプトは現在ネットワークデバイス上で動作し続けていますが、ネットワーク管理者のためのサポートは段階的に中断されています。これがデフォルトの理由です。

従来のinitスクリプトは将来(ほぼすべての一般的なディストリビューションで)消えるので、ネットワーク管理者に慣れることをお勧めします。このような場合には簡単に活用できます。

ネットワーク管理者〜するデフォルトのDHCP設定(デフォルトでは通常)を使用して新しいインターフェイスを呼び出します。以下にすぐに記載されていますnmcli con show。 Network Managerは自動的にifcfg-*ファイルを生成します。あなたの環境でDHCPを使用している場合、これは問題ではありません。静的を使用している場合は、さらに作業を行う必要があります。

望むよりman nmcli-examples

関連情報