Debian バスターのアップグレードは、すべてのインターフェイスの名前を renameX に変更します。

Debian バスターのアップグレードは、すべてのインターフェイスの名前を renameX に変更します。

アップグレード前に、次のように名前が付けられました。

iface ens2f0
iface ens2f1

オリジナルからインストールしてください。今、彼らは次のようになります:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: rename2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:1e:67:7c:84:2b brd ff:ff:ff:ff:ff:ff
3: eno0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:1e:67:7c:84:2c brd ff:ff:ff:ff:ff:ff
4: rename4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:1e:67:7c:84:2d brd ff:ff:ff:ff:ff:ff
5: rename5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:1e:67:7c:84:2e brd ff:ff:ff:ff:ff:ff

Intel Gigabit I350アダプタなので、lshwで次のようになりました。

           *-network:0 DISABLED
            description: Ethernet interface
            product: I350 Gigabit Network Connection
            vendor: Intel Corporation
            physical id: 0
            bus info: pci@0000:02:00.0
            logical name: rename2
            version: 01
            serial: 00:1e:67:7c:84:2b
            size: 1Gbit/s
            capacity: 1Gbit/s
            width: 32 bits
            clock: 33MHz
            capabilities: pm msi msix pciexpress vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
            configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.4.0-k duplex=full firmware=1.48, 0x800006e7 latency=0 link=no multicast=yes port=twisted pair speed=1Gbit/s
            resources: irq:26 memory:d0960000-d097ffff ioport:2060(size=32) memory:d09b0000-d09b3fff memory:d0aa0000-d0abffff memory:d0a80000-d0a9ffff
       *-network:1 DISABLED
            description: Ethernet interface
            product: I350 Gigabit Network Connection
            vendor: Intel Corporation
            physical id: 0.1
            bus info: pci@0000:02:00.1
            logical name: eno0
            version: 01
            serial: 00:1e:67:7c:84:2c
            size: 1Gbit/s
            capacity: 1Gbit/s
            width: 32 bits
            clock: 33MHz
            capabilities: pm msi msix pciexpress vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
            configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.4.0-k duplex=full firmware=1.48, 0x800006e7 latency=0 link=no multicast=yes port=twisted pair speed=1Gbit/s
            resources: irq:39 memory:d0940000-d095ffff ioport:2040(size=32) memory:d09a0000-d09a3fff memory:d0a60000-d0a7ffff memory:d0a40000-d0a5ffff
       *-network:2 DISABLED
            ...

ファームウェアに問題がある場合に備えて、Firmware-linux-nonfreeをインストールしましたが、Debian Stretchではうまく動作します。ここでは、論理名をどのように生成するかを理解していません。 int rename2を固定IPとして設定して使用できますか?今はなぜeno0と呼ばれますか? lshwでは、4つのインタフェースがすべて無効になっているように見えます。

編集:詳細を追加しました。

私もudevadminに彼がどう思うか尋ねました。

udevadm test-builtin net_id /sys/class/net/eno0 2>/dev/null
ID_NET_NAMING_SCHEME=v240
ID_NET_NAME_MAC=enx001e677c842c
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_ONBOARD=eno0
ID_NET_LABEL_ONBOARD=enPowerVille
ID_NET_NAME_PATH=enp2s0f1
ID_NET_NAME_SLOT=ens2f1

では、Debian はなぜこのインターフェイスを eno0 ではなく ens2f1 として扱わないのですか?

編集2:@telcoMのソリューションを追加

vi /etc/systemd/network/20-builtins.link 
 [Match]
 Path=pci-0000:02:*

 [Link]
 NamePolicy=slot

その後、再起動すると次のようになります。

kernel: [  107.897834] igb 0000:02:00.1 ens2f1: igb: ens2f1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Mar 30 11:56:45 host1 kernel: [  107.897978] br1: port 1(ens2f1) entered blocking state
Mar 30 11:56:45 host1 kernel: [  107.897981] br1: port 1(ens2f1) entered forwarding state
Mar 30 11:56:45 host1 kernel: [  107.898129] IPv6: ADDRCONF(NETDEV_CHANGE): br1: link becomes ready
Mar 30 11:56:46 host1 kernel: [  108.093815] igb 0000:02:00.0 ens2f0: igb: ens2f0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Mar 30 11:56:46 host1 kernel: [  108.093957] br0: port 1(ens2f0) entered blocking state
Mar 30 11:56:46 host1 kernel: [  108.093960] br0: port 1(ens2f0) entered forwarding state

ネットワークを起動してもエラーが発生し、syslogで特定のエラーが見つかりませんが、インターフェイスとブリッジが機能します。 @telcoM ありがとうございます。

ベストアンサー1

本番ビルドからベータ版9に移動したとき、Red Hat ELで同じ動作を見ました。使用されているシステムのバージョンによって動作が異なるようです。

問題は実際には、古いバージョンがeno0の代わりにenp2f0のような名前を使用する理由です。システムのPCIスロットのSMBIOSレコードの出力を表示しない限り、元のdmidecode -t 9ポスターにens2f0などの名前が表示された理由を説明できません。これは、SMBIOSがオンボードデバイスにも物理スロット番号があることを示します。

以前と同じように、eno0以前のバージョンのJavaScriptから名前が返されない理由がわかりました。systemd関数はdev_pci_onboard<= 0の値を確認し、エラーを返します。最新バージョンにはより複雑なロジックがあります。 systemd 250はSMBIOSから返されたインスタンス番号0を受け入れます。したがって、元の質問に答えるためにenp更新後にスタイル名を返すことから、systemdファームウェアのデータを受け入れることに切り替えたようです。

昨日の私の答えのアップデートは次のとおりです。

enoスタイル名は、SMBIOS(DMI)またはACPIがデバイスがオンボードNICであることを示す情報を返すときに使用されます。 ACPI ケースを詳しく見たことはありませんが、SMBIOS ケースでは、タイプ 41 レコードが以前のタイプ 10 レコードを置き換えます。以下の例をご覧ください。

以前のバージョンのsystemd関数dev_pci_onboardではudev/udev-builtin-net_id.c、返されたインデックス番号を確認して<= 0からエラーが返されます。したがって、aを実行してdmidecode -t 410が表示されると、Type Instanceこれらの以前のバージョンのsystemdはSMBIOSを無視するため、PCIスロットまたはアドレスensまたはスタイル名を使用します。enp。 systemd 250の場合、関数のロジックはより複雑ですが、これはゼロのSMBIOSデバイスインスタンスを受け入れることができることを意味します。

以下は私がこの事実を知る前に昨日書いた文ですが、データのソースを示し、SMBIOSインスタンス番号の一般的な説明をしています。

Red Hatでも同じ動作が現れますが、なぜデバイスのファームウェアインスタンス番号が1から始まるのか疑問に思います。スタイル名の番号は、enoSMBIOS(DMI)タイプ41レコードから取得できます。

[root@ml110c ~]# dmidecode -t 41
# dmidecode 3.2

Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x2900, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: NIC Port 1
        Type: Ethernet
        Status: Enabled
        Type Instance: 0
        Bus Address: 0000:02:00.0

Handle 0x2901, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: NIC Port 2
        Type: Ethernet
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:03:00.0

[root@ml110c ~]#

このシステムでは、HP ProLiant ml110 g7 NICポートにはインスタンス番号0と1があります。 NICポート2のインスタンス番号は1で、予測可能な名前が割り当てられていますeno1。ただし、enp2s0対応するPCIアドレスのタイプ9レコードがないため、インスタンス番号が0のデバイスは最終的に呼び出されます。

[root@ml110c ~]# ethtool -i enp2s0
driver: e1000e
version: 3.2.6-k
firmware-version: 2.1-2
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
[root@ml110c ~]#

最初のタイプ41レコードで識別されたデバイスのPCIアドレスをメモします。

10G NICを搭載したHP gen9サーバーでは、オンボードデバイスインスタンス番号は1ではなく49で始まり、さまざまなオンライン投稿によると、一部のDellサーバーでも同様です。これらのNICにアクセスできるHPシステムでは、「予測可能な名前」として表示されますeno49eno50これらの名前をどのように予測できるかはよくわかりません。最新の第10世代HPEサーバーはこれを実行せず、最初から始まりますeno1

おすすめ記事