Keyfile を使用して物理接続がない場合、NetworkManager は静的接続を確立しません。

Keyfile を使用して物理接続がない場合、NetworkManager は静的接続を確立しません。

NetworkManager Keyfileを使用しているときに物理接続がないか手動で設定しないと、デバイス(固定IPアドレス)は設定されませんnmcli connection up Onboard-NET。これを使用する内部プログラムの場合は、常に接続している必要があります。

以前にこの機能を使用すると、/etc/sysconfig/network-scripts/ifcfg-net0デバイスは自動的に次のように設定されていました。

TYPE=Ethernet
DEVICE=net0
NAME="Onboard NET"
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=192.x.x.x
NM_CONTROLLED=yes
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
PREFIX=24
DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DISABLED=yes
IPV6INIT=no

物理接続や手動コマンドなしで割り当てられたIPアドレスでデバイスが起動することを確認できます。

net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state ***DOWN*** group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.x.x.x/24 brd 192.9.201.255 scope global noprefixroute net0
       valid_lft forever preferred_lft forever

今キーファイルを使用してください

キーファイルに設定をコピーする/etc/NetworkManager/system-connections/Onboard-NET.nmconnection::

[connection]
id=Onboard-NET
type=ethernet
interface-name=net0
autoconnect=yes # also tried =no

[ethernet]
mac-address=xx:xx:xx:xx:xx:xx

[ipv4]
address1=192.x.x.x/24
method=manual
never-default=true

[ipv6]
method=disabled
never-default=true
addr-gen-mode=stable-privacy

[proxy]

静的IPアドレス/接続は起動時に自動的に開始されません。

net0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    altname eno1
    altname enp0s31f6

他のコンピュータに物理接続がある場合は自動的に接続が確立されますが、そうでない場合は手動で設定されるまで接続は閉じたままになります。そしてnmcli connection up Onboard-NET。これで始まったことがわかります。

[amat@adt ~]$ nmcli connection up Onboard-NET
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[amat@adt ~]$ ip a
net0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state **DOWN** group default qlen 1000
    link/ether 00:01:29:ad:8f:47 brd ff:ff:ff:ff:ff:ff
    altname eno1
    altname enp0s31f6
    inet 192.x.x.x/24 brd 192.x.x.255 scope global noprefixroute net0
       valid_lft forever preferred_lft forever

便利なその他のデバッグ情報

  • 外部インターネットへの接続に使用されるdhcpという別の接続ext0()があります。/etc/NetworkManager/system-connections/Onboard-EXT.nmconnection正しく起動できます。
  • udevでデバイス名が変更されました。
  • ifcfgメソッドはCentOS 6/7/8で動作します。
  • net0 システム起動メッセージ
NetworkManager[1037]: <info>  [1668115652.0180] manager: (net0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/7)
NetworkManager[1037]: <info>  [1668115652.0182] device (net0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
  • 次のカーネルパラメーターを使用してください。net.ifnames=0 biosdevname=0

編集する

ifcfgファイルを使用しても問題は解決しません(NetworkManager.confを次に変更)。[main] plugins=ifcfg-rh

たぶん節電構成のようなものがありますか?なぜONBOOT = yesを聞かないのかわかりません。

答え1

おそらくignore-carrier? ~からNetworkManager.confマニュアルページ:

ignore-carrier

NetworkManagerキャリア状態が(部分的に)無視されるデバイスを指定します。通常、キャリア検出をサポートするデバイスタイプ(イーサネットやInfiniBandなど)の場合、キャリアがある場合(NetworkManagerケーブルが接続されている場合)にのみデバイスで接続を有効にできます。数秒以上低下すると、デバイスは無効になります。

キャリアを無視するデバイスは、デバイスにキャリアがない場合でも、接続が静的に設定されたIPアドレスのみを使用している場合は、そのデバイスで接続を有効にします。さらに、キャリアが失われると、すべてのアクティブ接続(静的または動的)がデバイス上でアクティブになります。

関連情報