ホーム > 未分類 > DNATラウンドロビンではまる

DNATラウンドロビンではまる

msmrrenda.netのMXであるmailin.msmrrenda.netは、
グローバルアドレスを持っている2台のVPSから25/tcpをDNATし、
裏のメールサーバ2台に繋ぐ構成になっています。

これらは今まで1対1で対応していたのですが、
任意の組み合わせで落としたいなーと思ったのでDNATをラウンドロビン化しました。

問題. DNATに–toが複数指定できない
DNATの–toはレンジ指定に対応するが、二つのサーバのアドレスは隣接していないので不可。
–toを複数指定できるという記述が散見されるたものの、
iptables-extensions(8)によれば、2.6.11以降のカーネルでは対応していません。

Sep 10 15:49:38 chika iptables.init: iptables: Applying firewall rules: iptables-restore v1.4.21: DNAT: Multiple --to-destination not supported

もちろん、カンマ区切りもできない。

Sep 10 15:53:12 chika iptables.init: iptables: Applying firewall rules: iptables-restore v1.4.21: Bad IP address "192.168.2.27,192.168.2.227"

解法. しかたないので、mangleでコネクションにタグを付けてからnatでひっかける (重そう)

*mangle
-A PREROUTING -p tcp --dport 25 -m state --state NEW -m statistic --mode nth --every 2 --packet 0 -j CONNMARK --set-mark 1
-A PREROUTING -p tcp --dport 25 -m state --state NEW -m statistic --mode nth --every 2 --packet 1 -j CONNMARK --set-mark 2
COMMIT

*nat
-A PREROUTING -m tcp -p tcp --dport 25 -i eth0 -m connmark --mark 1 -j DNAT --to 192.168.2.27:25
-A PREROUTING -m tcp -p tcp --dport 25 -i eth0 -m connmark --mark 2 -j DNAT --to 192.168.2.227:25
COMMIT

重そうですが、まあそんなにがんがんメールが来るわけでもないのできっとダイジョウブ・・・

広告
カテゴリー:未分類
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。