Jump to content 日本-日本語
製品  >  ソフトウェア  >  Linux

bonding ドライバ利用時デフォルトゲートウェイが設定されない問題

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HPE OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
サイトマップ
HPE & Red Hat情報ポータル HPEとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
revised 22-NOV-04
 本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予めサイト内リンク技術情報サイト内リンク保証について、ディストリビュータが提供する WEBサイト等をご覧ください。
 本ページでは、bondingドライバ利用時にデフォルトゲートウェイが設定されない問題についての原因と回避策を説明します。

対象環境

 bonding v1.0.4o-1では、bondingドライバ自体の機能修正により、デフォルトゲートウェイが設定される様になりました。
  • Red Hat7 + 全ての initscripts version + bonding-1.0.4m-1以下
  • Red Hat8 + 全ての initscripts version + bonding-1.0.4m-1以下
  • Red Hat EL2.1 + initscripts-6.47.5-1未満 + bonding-1.0.4m-1以下
  • Red Hat EL2.1 + initscripts-6.47.10-1 + bonding-1.0.4m-1以下
  • Red Hat EL3 + initscripts-7.31.16.EL-1 + bonding-1.0.4m-1以下
  • MC21SE + 全ての initscripts version + bonding-1.0.4m-1以下

概要

 bondingドライバ利用時に deafult gatewayが設定されない問題が発生する場合があります。この問題は、ディストリビューションのネットワーク起動スクリプトと ifenslaveコマンドの処理に依存します。

回避策

1) bonding設定ファイル(例:ifcfg-bond0)の MACADDRに MACアドレスを設定する
2) default gatewayを設定するネットワーク起動スクリプトを追加する
3) bonding-1.0.4o-1に updateする(推奨)

ネットワーク起動スクリプトのシーケンスについて

 /sbin/ifenslaveが master deviceへ slave deviceを attachする時、master deviceの MAC addressをチェックし、"00:00:00:00:00:00"(ifcfg-bind0で MACADDRが指定されていない時の値)であれば、一度、master deviceを downさせ、slave deviceから MAC addressを取得したあと、master deviceを upさせます。

 master deviceが downすると、/sbin/ifup bond0で設定された master deviceに関するルーティング情報が削除され、default gatewayが無くなります。その後、/sbin/ifup eth?(ifenslave bond0 eth?) で slave deviceが upされますが、 default gatewayを設定する処理が実行されないため、結果的に default gatewayが設定されないということになります。
bonding-1.0.4o-1から master device up/down処理がなくなったので、default gatewayが設定されない問題は解決しました。

 なお、この現象は bonding moduleが kernelへロードされた時にのみ発生します。いったん /sbin/ifenslaveで master deviceへ slave deviceの MAC addressが設定されてしまうと、kernel内部のネットワークインターフェイス情報が、設定された MAC addressを保持してしまうため(ifcfg-bond0で MACADDRが設定されている状態になる)、bonding moduleをリロードするまでこの現象は発生しません。

master device bond0 に対して slave device eth0,eth1 をattach する例

【default gatewayが設定される場合】 【default gatewayが設定されない場合1】
【default gatewayが設定される場合】   【default gatewayが設定されない場合1】
【default gatewayが設定されない場合2】  
【default gatewayが設定されない場合2】

注1: ここで default gateway と bond0の routingが kernel内の routing tableから削除されます。RHEL3の場合、bond0のネットワーク情報設定処理は slave deviceの後なので影響はありません。 注2: ここで default gateway と bond0の routingが kernel内のrouting tableから削除されます。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項