RHEL7/CentOS7でNetworkManagerを使っている場合ETHTOOL_OPTSによる設定は無視される


RHEL4,5や、RHEL6,7でNetworkManagerを使ってない環境では、eth0に対して autoneg on 設定をする場合 /etc/sysconfig/network-scripts/ifcfg-eth0 に「ETHTOOL_OPTS=”-A ${DEVICE} autoneg on”」というような記述を書く。

複数の設定項目がある場合は「;」で間を区切ることができる。

しかし、NetworkManagerを利用している場合、ETHTOOL_OPTSの値は見ない仕様となっているとのこと。

では、どうやって対処するかと言えばudevによるデバイス初期化ルールに、該当デバイス追加時の命令としてethtoolを実行する処理を記述する、というもの。

この対処方法はNetworkManagerを使わない場合でも適用できる。

具体的には「/etc/udev/rules.d/50-ethtool.rules」というようなファイルを作って下記を書く。

ACTION=="add", SUBSYSTEM=="net", NAME=="eth0", RUN+="/sbin/ethtool -A eth0 autoneg off"

・・・めんどくさーーい


2024/11/07追記

RHEL9時代になっても、時々この記事に来訪があるので追記

RHEL9のNetwork Manager環境では nmcliコマンドで 802-3-ethernet.auto-negotiate オプションを指定して設定できる。 マニュアル→RHEL9 ネットワークの設定および管理第47章 802.3 リンク設定

現在の設定値確認は「nmcli connection show デバイス名」で行う

[root@pve40 ~]# nmcli connection show ens192|grep 802-3
connection.type:                        802-3-ethernet
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          はい
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     自動
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
[root@pve40 ~]#

変更は1つだけ変更するなら「nmcli connection modify デバイス名 802-3-ethernet.auto-negotiate no」といった形で実行する

[root@pve40 ~]# nmcli connection modify ens192 802-3-ethernet.auto-negotiate no
[root@pve40 ~]# nmcli connection show ens192|grep 802-3
connection.type:                        802-3-ethernet
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          いいえ
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     自動
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
[root@pve40 ~]#

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください