web-dev-qa-db-ja.com

デフォルトのifcfg-ethを作成するものは何ですか?ファイル?

RHEL5ボックスのNICカードを交換すると、該当する/etc/sysconfig/network-scripts/ifcfg-eth?ファイルの名前がifcfg-eth?.bakに変更され、次の構成で新しいファイルが作成されます。

ONBOOT=yes
BOOTPROTO=dhcp

Q1)これらのデフォルトファイルを作成するスクリプトまたはプログラムは何ですか?

私はdhcpサーバーを持っていないので、起動して起動するのに時間がかかるだけです。

Q2)新しく検出されたNICがONBOOT=noで構成されるように変更できる構成はありますか?

ノート:

  1. chkconfig --list NetworkManagerは、NetworkManagerがすべてのランレベルで無効になっていることを示しています

  2. udevルールは/etc/udev/rules.dに保存されます。 60-net.rulesは、ファイル名にnetが含まれる唯一のファイルです。

  3. 60-net.rulesに含まれるもの:

    ACTION=="add", SUBSYSTEM=="net", IMPORT{program}="/lib/udev/rename_device"
    SUBSYSTEM=="net", RUN+="/etc/sysconfig/network-scripts/net.hotplug"
    
  4. rename_deviceは、xxdで表示される実行可能ファイルのどこにも文字列ONBOOTがないため、初期ファイルを書き込むプログラムではないようです。また、 ソースコードオンライン は、このファイルを書き込むことも示していません。

1
Chad Skeeters

A.「デフォルトの接続が作成されず、自動アクティブ化が試行されない」ことを保証するために、/ etc/udev /rules.d内のファイルでNM_UNMANAGEDをTRUEに設定する必要があります。

それは素晴らしい質問です。 Fedoraで調べたので、ディレクトリ名が変更されている可能性があります。

これは私がドキュメントで見つけたものです。

 man NetworkManager

UDEVプロパティudev(7)デバイスマネージャーは、ネットワークデバイスの検出に使用されます。次のプロパティは、NetworkManagerがデバイスを管理する方法に影響を与えます。

   NM_UNMANAGED
       No default connection will be created and automatic activation will not be attempted when this property of a
       device is set to a true value ("1" or "true"). You will still be able to attach a connection to the device
       manually or observe externally added configuration such as addresses or routes.

RHELでは、システムルールはls/usr/lib/udev/rules.d /にある必要があります

そして、それを扱うデフォルトのファイルは次のとおりです。

/usr/lib/udev/rules.d/

/usr/lib/udev/rules.d/85-nm-unmanaged.rulesの上部に、次のように記載されています。

head /usr/lib/udev/rules.d/85-nm-unmanaged.rules

このファイルは変更しないでください。更新時に上書きされます。ルールをオーバーライドまたは拡張するには、ファイルを/etc/udev/rules.dに配置します

/etc/udev/rules.dフォルダーは、現時点では空である可能性があります。



例。

新しいネットワークインターフェイスのスタートアップファイルを管理するための鍵は、適切なグループ、つまり「エンベロープ」を選択することです。


例1.新しいpciネットワークインターフェイスカードの設定。

1.テストデバイスを選択します。

仮想マシンに新しいカードを配置すると、次のような名前が付けられます:ens11

2.グループを定義するための情報を取得します。

デバイスクラスファイルを見つけます。

find /sys/class -name "ens*"

これはたまたま他のNICと一緒に/ sys/class/netにあります。

ls /sys/class/net

デバイス(または「-a」を使用したデバイスツリー)に関する情報を取得します。

udevadm info /sys/class/net/ens11
udevadm info -a /sys/class/net/ens11 | more

これが私の画面でどのように見えるかです:

[root@s1 ~]# udevadm info /sys/class/net/ens11
P: /devices/pci0000:00/0000:00:0b.0/net/ens11
E: DEVPATH=/devices/pci0000:00/0000:00:0b.0/net/ens11
E: ID_BUS=pci
...
E: ID_NET_NAME_SLOT=ens11
E: ID_PATH=pci-0000:00:0b.0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
...
E: USEC_INITIALIZED=2939943

ID_PATH = pci-0000:00:0b.0を使用して、変更するデバイスをグループ化します。個別のファイルで個別のバスを制御します。

3./etc/udev/rules.d/にファイルを作成します

cat /etc/udev/rules.d/pci_bus_0b.rules

#state down  ( They are up by default. )
ENV{ID_PATH}=="pci-0000:00:0b.0", ENV{NM_UNMANAGED}="0", ENV{ONBOOT}="1"

#state up
#ENV{ID_PATH}=="pci-0000:00:0b.0", ENV{NM_UNMANAGED}="0", ENV{ONBOOT}="0"

4.デバイスとネットワークを再起動します。

他の重要な操作が同時に発生していないことを確認してください。

内蔵ハードドライブで問題なく仮想マシンを実行していましたが、USB接続のハードドライブは少し回転しました。はるかに遅い代替手段は、再起動することです。

udevadm trigger
# You should see the changes already:
udevadm info /sys/class/net/wlp0s8f7u4
systemctl restart NetworkManager
ip a


例2.無線LANUSBネットワークインターフェイスカード。 (無線LAN)

1.テストデバイスを選択します。

USBワイヤレスアダプターを接続すると、wlp0s8f7u4のような名前が付けられます。

2.グループを定義するための情報を取得します。

デバイスファイルクラスを見つける

find /sys/class -name "wlp*"

これはたまたま他のNICと一緒に/ sys/class/netにあります。

ls /sys/class/net

デバイス(または「-a」を使用したデバイスツリー)に関する情報を取得します。

udevadm info /sys/class/net/wlp0s8f7u4
udevadm info -a /sys/class/net/wlp0s8f7u4 | more

これが私の画面でどのように見えるかです:

[root@s1 ~]# udevadm info /sys/class/net/wlp0s8f7u4
P: /devices/pci0000:00/0000:00:08.7/usb1/1-4/1-4:1.0/net/wlp0s8f7u4
E: DEVPATH=/devices/pci0000:00/0000:00:08.7/usb1/1-4/1-4:1.0/net/wlp0s8f7u4
E: DEVTYPE=wlan
E: ID_BUS=usb
E: ID_MODEL=802.11_n_WLAN
...
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/wlp0s8f7u4
E: TAGS=:systemd:
E: USEC_INITIALIZED=4672793558

「DEVTYPE = wlan」を使用して、変更するデバイスをグループ化します。

3./etc/udev/rules.d/にファイルを作成します

cat /etc/udev/rules.d/Wireless_lan.rules
# State down
ENV{DEVTYPE}=="wlan", ENV{NM_UNMANAGED}="0", ENV{ONBOOT}="1"

# State up
#ENV{DEVTYPE}=="wlan", ENV{NM_UNMANAGED}="0", ENV{ONBOOT}="0"

4.デバイスとネットワークを再起動します。

他の重要な操作が同時に発生していないことを確認してください。

内蔵ハードドライブで問題なく仮想マシンを実行していましたが、USB接続のハードドライブは少し回転しました。はるかに遅い代替手段は、再起動することです。

udevadm trigger
# You should see the changes already:
udevadm info /sys/class/net/wlp0s8f7u4
systemctl restart NetworkManager
ip a

参照:

ルール:man 7 udev

Udev属性: Arch Linux wiki

環境変数のリスト:( nixフォーラム のLekensteynの礼儀):

grep -hrPo'ENV {\ K [^}] *(?=} = [^ =]) '/{etc,lib}/udev/rules.d |並べ替え-u

3
BloodyEl

新しいLinuxシステムでは、これらのファイルを処理することがよくあります NetworkManager 。そのためのコマンドラインツールがありますが、通常は、選択したデスクトップで利用可能なGUIを介して構成されます。

RHEL 5は本当に古いので、Redhat構成ツールを使用できる/使用する必要があると思いますsystem-config-network。スクリプトによって生成されるいくつかのマスター情報ファイルといくつかのファイル(あなたが言及したものとして)があります。この単純な構成ツールを使用するのが最も簡単です。

0
John

無効になっていることを示していると思いますが、NetworkManagerがそれらのファイルを作成している場合は、停止するように指示する構成オプションがあります。

/etc/NetworkManager/NetworkManager.confのヘッダーは、設定ファイルのマニュアルページを示しています。

# Configuration file for NetworkManager.
#
# See "man 5 NetworkManager.conf" for details.

マニュアルページでは、次のように説明しています。

   no-auto-default
       Specify devices for which NetworkManager shouldn't create default
       wired connection (Auto eth0). By default, NetworkManager creates a
       temporary wired connection for any Ethernet device that is managed
       and doesn't have a connection configured. List a device in this
       option to inhibit creating the default connection for the device.
       May have the special value * to apply to all devices.

       When the default wired connection is deleted or saved to a new
       persistent connection by a plugin, the device is added to a list in
       the file /var/run/NetworkManager/no-auto-default.state to prevent
       creating the default connection for that device again.

       See the section called “Device List Format” for the syntax how to
       specify a device.

       Example:

           no-auto-default=00:22:68:5c:5d:c4,00:1e:65:ff:aa:ee
           no-auto-default=eth0,eth1
           no-auto-default=*

したがって、/ etc/NetworkManager /NetworkManager.confに対して「no-auto-default = *」を実行した場合、それがソースであれば、これらのファイルの作成を停止する必要があります。

0
Twirrim