2010年7月28日

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

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

■I/F毎にルーティングを決めるテーブルを作るためのIDと名前をデータベース(ファイル)に記述する
  1. [root@gold ~]# vi /etc/iproute2/rt_tables  
  2. # Intel Corporation 82573L Gigabit Ethernet Controller  
  3. #  
  4. # reserved values  
  5. #  
  6. 255     local  
  7. 254     main  
  8. 253     default  
  9. 0       unspec  
  10. #  
  11. # local  
  12. #  
  13. #1      inr.ruhep  
  14. 200     WorkGlobal  ←追加  
  15. 201     WorkLocal  ←追加  
  16. 202     Management  ←追加  
  17. 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 件のコメント: