- ベストアンサー
qmailでの複数LANインターフェース指定
RedhatES3+qmail+tcpserver構成で使用しています。 とあるホームページに「qmailが動作しているホストに複数のIPアドレスを割り振っている場合(複数のLANインターフェイスを持っているなど)、特定のIPアドレスでのみサービスを受け付けるように設定できる。「アドレスAはSMTP用、アドレスBはPOPサーバ用」などの使い分けが可能」とあったのですが、具体的にこれはどのように設定すればできるのでしょうか? ちなみに、eth0のエイリアスとしてeth0:0を定義し、グローバルIPをそれぞれに割り当てています。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 送信時のIPは受信したIPからではなく(IPエイリアス側ではなく)、 > プライマリ(言い方が違うと思いますが、IPエイリアスの元:ifcfg-eth0) > からの送信になってしまうようです。 これ良い質問ですね(個人的感想) これはdefault gatewayに依存した結果です。 # route とした時には、 default ホストIP 0.0.0.0 UG 0 0 eth0 などと表示される事と思います。 このホストIPがヘッダー中に表れてくるのでしょう。 サーバ1台に複数NICを用意したとして、同一方向のゲートウェイがあった場合、先に設定した方に向けられてしまいます。 (今回はエイリアスですが、同じことですね) ルータとしてみれば、静的ルーティングは別として、インターネット側については 「それ以外の全て」 と解釈されているので、この事が起きます。 つまりは特に差異がでないのからなのです。 私もこれについては、一回悩んだ覚えがありますが、物理的にサーバを別にする事より他方法が見つかりませんでした。 あるいは、デフォルトゲートウェイを今回の場合でしたら、エイリアス側のIPに設定することで、目的は果たせますが、他のサービスもすべからく、インターネット側のマシンからはエイリアス側IPからの通信と見なされます。 便乗になりますが、私も方法しりたいですね^^; 1つのサーバに、複数のインターネット(不特定)側ネットワークへサービス事にルーティングを変更する方法については・・。 参考になりますでしょうか。
その他の回答 (2)
- vais
- ベストアンサー率75% (47/62)
tcpserver については、ucspi-tcp というパッケージのものですね。 qmailと同じ作者ですが、マニュアルを見てみると tcpserver opts host port prog とあります。 この事については、マニュアルに記載されているのですが、回答となるのは 『host』 というパラメータになります。 これに指定IPを入れれば、特定IPアドレスにサービスを適用できるわけです。 多くのサイトでは、ここを「0」として指定していますが、これは全てのホストIPを指しているわけです。 ポート名は /etc/services に記載された名前でも良いですし、ポート番号でも良いですよ。 tcpserver オプション 192.168.1.4 smtp プログラム tcpserver オプション 192.168.1.5 pop-3 プログラム お試し下さい。
お礼
回答ありがとうございます。この内容で設定して実行した結果できました。実際にテストしている内容は、smtpdを2つ起動し(ポート番号を変えて)、且つIPエイリアス(ifcfg-eth0:0)を1つ作成してそれぞれのIPでsmtpdを待機させます。これに関しては回答のとおり設定することで実現できました。 ただ、受信(accept)は確かにそのIPでできているのですが、送信時のIPは受信したIPからではなく(IPエイリアス側ではなく)、プライマリ(言い方が違うと思いますが、IPエイリアスの元:ifcfg-eth0)からの送信になってしまうようです。やはりこの使い方は無理なんでしょうか?
- qaaq
- ベストアンサー率36% (146/404)
やったこと無いですが、tcpserver に仲介させるんじゃなかったっけ?
お礼
回答ありがとうございます。自分もこの設定はqmailかtcpserverのどちらかだと思っていたのですがはっきりしませんでした。この両方でいろいろと調べてみたのですが、「できる」とは書かれているのですが、実際にどうやって実現するのかが見つけられませんでした。tcpserverのオプションにも無いようですし...。引き続き調査してみます。
お礼
回答ありがとうございます。 やっぱり無理っぽいですね。他に何か良い方法が無いか、調べてみます。 いろいろとありがとうございましたm(__)m