アーカイブ

‘iptables’ タグのついている投稿

debian-volatile mirror 復活

2010 年 5 月 7 日 コメントはありません

なんか どーも push signal こねぇな と思ってたら、ルータで塞いでいました…orz

ということで、signal くるのを確認したので復活したはず。

どーも すいません(わら

カテゴリー: Debian, Linux タグ: , , , ,

Source IPをラウンドロビンで変更するような挙動をiptablesで頑張ってみる

2008 年 1 月 17 日 コメントはありません

ある特定のportあて(宛先IPは任意)のパケットのソースIPをラウンドロビン(ランダムでも、なにかをキーにしてhashとってばらけさせるとかでも良かったんだけど、最終的にラウンドロビンが簡単だったので)で変更する。アプリでやればいろいろ考えられるけど、そこには手を入れない。

という欲求が発生したので、例えばiptablesとかでなんとかできないかちょっと調べた。

結論としては、こんな感じでいけるようだ。以下例では3つのIPで振り分ける感じ。

1) そのパケットが出て行くインタフェースにIP aliasで使用する複数のIPアドレスをふっておく。
ifconfig eth0 192.168.0.101
ifconfig eth0:0 192.168.0.102
ifconfig eth0:1 192.168.0.103

2) でもって、こんな感じで iptables を設定(statistic を nth モードで使う)
iptables -t nat -A POSTROUTING -p tcp --dport 対象ポート -o eth0 -m statistic --mode nth --every 3 -j SNAT --to-source 192.168.0.101
iptables -t nat -A POSTROUTING -p tcp --dport 対象ポート -o eth0 -m statistic --mode nth --every 3 -j SNAT --to-source 192.168.0.102
iptables -t nat -A POSTROUTING -p tcp --dport 対象ポート -o eth0 -m statistic --mode nth --every 3 -j SNAT --to-source 192.168.0.103

statisticが使えないといけないので、最近のkernel(2.6.18以降かな?)じゃないとダメかも。

カテゴリー: Linux タグ: ,