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アドレスのみを使用している場合は、そのデバイスで接続を有効にします。さらに、キャリアが失われると、すべてのアクティブ接続(静的または動的)がデバイス上でアクティブになります。