2006-08-17 (Thu)
Linuxでiptablesを使ってDSRする
1. リアルサーバ側にもグローバルIPを振る必要がある(IPが少ないところは結構きついかも).
リアルサーバでは、VIPをループバックインターフェースにIP aliasすればいいので、リアルサーバの数だけグローバルIPアドレスを消費するってことはないような。(誤読してるかも
ただ、この方式だと、VIPの数だけいちいちリアルサーバにIP aliasして回らないといけないので、わりと大規模(VIPがたくさんある or リアルサーバがたくさんある)だとめんどくさいことこの上ない。
で、リアルサーバでこんなiptablesのルールを設定すれば、IP aliasしないでDSRできそうというのが主題。
VIP=10.1.1.0/24 iptables -t nat -A PREROUTING -d $VIP -j REDIRECT
多分、これでいけると思うんですけどちと自信なし。検証 and 詳しい説明はまた後日(するかもしれないししないかもしれない)。
(8/25追記)
こんなに簡単! Linuxでロードバランサ (1)の構成で、HTTPアクセスするクライアントがVIPと同じセグメントにいるとすると、
[lv1] iptables -t mangle -A PREROUTING -d 10.10.31.100 -j MARK --set-mark 1 ip rule add prio 100 fwmark 1 table 100 ip route add local 0/0 dev lo table 100 echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter [w101,w102] iptables -t nat -A PREROUTING -d 10.10.31.100 -j REDIRECT [クライアントPC] ip route add to 10.10.31.0/24 via 10.10.31.11
なん感じでDSRできたす。
詳しくはきっと後日DSASの中の人が教えてくれるんではないかと・・・
(/8/25追記)
iptablesの状態遷移の図示したものでは、
がわかりやすいす。
iptablesそのものについてはここがおすすめ。
iptablesは悪魔的にいろんなことができるす。たとえば、負荷分散とは関係ないけど、ssh の brute force アタックパケットの制限 -- DOS 的パケットをフィルタリングするとか。
最後に負荷分散とか冗長構成関係の書籍を。
- 作者: トニーブルーク,Tony Bourke,鍋島公章,横山晴庸,上谷一
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2001/12
- メディア: 単行本
- 購入: 6人 クリック: 134回
- この商品を含むブログ (19件) を見る
- 作者: スコットハル,Scot Hull,トップスタジオ
- 出版社/メーカー: 日経BP社
- 発売日: 2003/04
- メディア: 単行本
- クリック: 30回
- この商品を含むブログ (3件) を見る
トラックバック - http://d.hatena.ne.jp/hirose31/20060817/1155795703
2003 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 12 |
2012 | 01 | 02 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 12 |
2012 | 01 | 02 |



