2010年7月28日

CentOSにおいてマルチホーミングの設定

CentOSにおいてマルチホーミングの設定
複数のNICがある場合、適切にルーティングをしておかないと、たとえば外からpingを打ったとき、受け取ったNICから返さないと疎通が行われません。
マルチホーミングでは、この"受け取ったNICに返す"と、"負荷が小さいNICから返す"などいくつか方法がありますが、今回は前者の設定を行います。
書籍『Linux高信頼サーバ構築ガイド シングルサーバ編』に掲載されているまんまです。

■I/F毎にルーティングを決めるテーブルを作るためのIDと名前をデータベース(ファイル)に記述する
[root@gold ~]# vi /etc/iproute2/rt_tables
# Intel Corporation 82573L Gigabit Ethernet Controller
#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
200     WorkGlobal  ←追加
201     WorkLocal  ←追加
202     Management  ←追加
203     Storage  ←追加
※追加はVLANの数だけ追加しています


■設定スクリプトを作成
(1) mainテーブルにI/Fそれぞれのルーティングエントリを追加
ip route add ネットワークアドレス/マスク dev デバイス名 src IPアドレス
(2) I/F毎にルーティングテーブルを作成・追加
ip route add ネットワークアドレス/マスク dev デバイス名 src IPアドレス table テーブルID
ip route add default via ネットワークアドレス/マスク table テーブルID
(3) デフォルトの送信ルートを設定
ip route add default via 送信ルートの相手IP
(4) I/F毎と使用テーブルの紐付け
ip rule add from ネットワークアドレス/マスク table テーブルID
※上記の書籍(P.77)にあるスクリプトをほぼそのまま使っていますので、ここには掲載しません(マズイだろうから)
実行し、それぞれのNIC宛、NICからpingを打ち疎通確認します。

0 件のコメント: