- PR -

Linuxでマルチキャストルーティング(?)

1
投稿者投稿内容
ryujinmaru0403
会議室デビュー日: 2004/05/31
投稿数: 8
投稿日時: 2007-10-17 11:32
お世話になっております。

掲題の件、MiracleLinux4.0にNICが2枚挿さっているPCで
マルチキャストを利用した通信を行いたいと思っております。
ただし、同一のマルチキャストを使うグループが両方のNIC側にいます。
つまり、マルチキャストIPへの通信ではルータとして動くように設定をしたいのですが
普通のルーティングでは通信に使用するNICを固定しなくてはいけないようで・・・。
(静的ルーティングテーブルを追加するとかデフォルトゲートウェイとかで)

このような動作を行いたい場合、どのように設定すればいいのでしょうか?

※マルチキャストルーティングでググるとCiscoのルータの設定方法はでてくるんですが
Linuxでの設定方法が出ないんですよね・・・。ひょっとしたらできないのでしょうか?

以上です。よろしくお願いいたします。
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2007-10-18 09:59
こんにちは。

引用:
ryujinmaru0403さんの書き込み (2007-10-17 11:32) より:

ただし、同一のマルチキャストを使うグループが両方のNIC側にいます。
つまり、マルチキャストIPへの通信ではルータとして動くように設定をしたいのですが
普通のルーティングでは通信に使用するNICを固定しなくてはいけないようで・・・。
(静的ルーティングテーブルを追加するとかデフォルトゲートウェイとかで)

このような動作を行いたい場合、どのように設定すればいいのでしょうか?


Linux機でマルチキャストルーティングは対応したことがありません。
従って直接回答ではありません。

ネットワーク側から考えると件のLinux機の設定で解決すべき問題ではなく
LAN全体の構成を見直すべき内容ではないかと思います。
# もしその方向でも良いのでしたら現状のLAN構成を図示願えれば幸いです。
ryujinmaru0403
会議室デビュー日: 2004/05/31
投稿数: 8
投稿日時: 2007-10-18 13:38
BackDoorさま
早速の返答 ありがとうございます。
以下のような構成を考えています。

      [クライアントプログラム2]
            |
---------------------------------------------
       | eth1            | eth1
  [サーバプログラム(Linux)]  [サーバプログラム(Linux)]
       | eth0            | eth0
 [クライアントプログラム1]   [クライアントプログラム1]

クライアントプログラム1⇔Linuxサーバでは既にマルチキャストで通信しており
マルチキャスト用のルーティングテーブルをいまは入れてます。
224.0.0.0/4への通信で使用するNICはeth0にしています。

ここへ、またマルチキャストを使用したいクライアントプログラム2を入れたいと
考えています。クライアントプログラム2では複数のサーバ(この図では2台ですが
もっといっぱいいるときもあります)から
自分がアクセスしたいサーバを選択したり、一括で情報を取得したりするのを
ユニキャストIPの変更やサーバの追加時にまったく設定変更を行わずに実行したい
ためです。

こんな感じですが雰囲気掴めますでしょうか?
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2007-10-18 14:12
どうも意図が伝わっていないようです。

引用:
ryujinmaru0403さんの書き込み (2007-10-18 13:38) より:
コード:
      [クライアントプログラム2]
            |
---------------------------------------------
       | eth1            | eth1
  [サーバプログラム(Linux)]  [サーバプログラム(Linux)]
       | eth0            | eth0
 [クライアントプログラム1]   [クライアントプログラム1]


こんな感じですが雰囲気掴めますでしょうか?


申し訳無いですが、そういう意味ではありません。

補足要求質問の表現を変えますと
現状環境のLinux機には何故2枚のNICが必要なのか?
に尽きます。

レイヤ3でのマルチキャスト環境では複数経路が存在するケース等、
複雑なルーティングになる可能性がありますので、通常はルータで
通信制御します。
環境見直しのアドバイスはLinux機の実装NICを1枚に出来ないか?
という意味でした。
# 提示頂いた図はプログラムからのイメージである点でも理解しにくい
# と感じています。
# Linux機のNIC1(eth1)、NIC2(eth2)のIPアドレスは実際のところ、
# どうなっていますか?
ryujinmaru0403
会議室デビュー日: 2004/05/31
投稿数: 8
投稿日時: 2007-10-18 14:41
BackDoorさま
大変失礼しました。
さて、NICを2枚使いたい理由ですが、1つはトラフィック制限です。
クライアントプログラム1⇔サーバプログラムは非常に多くのデータを
やりとりしており、また、クライアントプログラム1が動く端末の数は
かなり多いです。さらにそのシステムがいくつも存在することもあります。
これらの通信で基幹ネットワークの他のサーバ(Web,メール、ファイルサーバなど)の
通信を圧迫したくないと顧客は考えているようです。
それだけだと、eth0だけ使って閉じたネットワークにすればいいんですが、
顧客の要望により、基幹ネットワークの監視下にクライアントプログラム2が
動作する端末とLinuxサーバを置きたいとのことでしたので
NICを2枚使うことになったという次第です。
#「じゃあクライアントプログラム1が動いている端末は無視?」という
#指摘もありますが、そちらは常に作業者が作業しているので監視は必要なし
#という見解のようです。
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2007-10-18 15:17
なんか環境説明が理解できないのですが・・・。

2枚のNICをチーミングしている訳じゃないですよね?
# もしかしたら多くのクライアントPCもNIC2枚構成なんでしょうか?
# 基幹系LANと特殊用途用LAN(クライアントプログラム1用)の2系統。
# それとも今回の要望が起こる前はLinux機はNIC1枚ということ?

想像があたっているなら、基幹系LAN側に新たにクライアントプログラム2
が動作するLinux機を新設する方法が最も簡単だと思えます。
要するに既存プログラム1が動作している機器とは別な機器を用意して
クライアントプログラム2は基幹系LANだけのマルチキャストを行なえば
よいという意味です。

# 全く環境理解できずに変なコメント書いているかも知れません(冷汗
ryujinmaru0403
会議室デビュー日: 2004/05/31
投稿数: 8
投稿日時: 2007-10-19 10:07
BackDoorさま
返答遅くなりました。

BackDoorさまのご想像どおりの状況です。
NICが2枚挿さってるからって無理に使わなきゃいいのに・・・なんて思ってました。

顧客にはとりあえず、無理にマルチキャストルーティングなんてバクチを打たずに
別の方法考えましょうと提案することにします。
2台目Linux導入も視野に入れて。

相談に乗っていただきありがとうございました。
稚拙な説明につきあっていただいてとても感謝しております。
1

スキルアップ/キャリアアップ(JOB@IT)