[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:53179] Re: LVS NATでロードバランス



竹林です.


> > アウトバウンドはマスカレードにしておいて、インバウンドをhttp
> > (80番ポート)に限定して、静的マスカレードで負荷分散している
> > サーバへ流してあげれば、各サーバのファイアーウォール設定は無
> > くてもセキュリティ上、さほど問題にはならないと思います。
> 
> 
> 「パブリックIPアドレスをppp0でロードバランスをするパソコンに繋ぐのではなく、ルー
タのWAN側に繋ぎ、80番ポートに限定して、仮想IPアドレスに仕向けたら問題は解決するの
では?」との考えと理解しました。
> 
> なるほど、試してみます。
> スレットはこのままopenにしておき、追加質問または結果を報告いたします。

  ルータ上の DNAT を使うことで解決する/しないという問題ではなく,
ご自身が「どうしたいか」を決めないといけないと思いますが.


  とりあえず HTTP(80/tcp)をバランシングする例だけ示してみます.
  以下,keepalived ではなく ldirectord で LVS-NAT での設定となります.
# ldirectord の方が keepalived より設定が簡単なので
  
  
  【環境】
  
                |
       [ 123.123.123. 33 ]
    +-----------------------+
    | Router DNAT 設定済み  |
    +-----------------------+
       [ 192.168. 10.200 ]
                |
                |
       [ 192.168. 10.100 ]
     +---------------------+
     |     Debian BOX      |
     +---------------------+
       [ 192.168. 20.100 ]
                |
     +----------+----------+
     |                     |
   [ *1 ]                [ *2 ]
  +--------+          +--------+
  +  RS 1  |          |  RS 2  |
  +--------+          +--------+
  
    *1 : 192.168.20.105
    *2 : 192.168.20.106
  
  
  【手順】
  
  (1) ip_forward を有効にする
  
    # vi /etc/sysctl.conf
    
    (下記を追加)
    
      net.ipv4.ip_forward = 1
    
    保存後,sysctl -p あたりで反映.
    
  
  (2) ldirectord をインストールする
  
    # apt-get install ldirectord
  
  
  (3) ldirectord を設定する(ldirectord.cf を作成する)
  
    # mkdir /etc/ha.d/conf
    # vi /etc/ha.d/conf/ldirectord.cf
    
    virtual = 192.168.10.100:80
         real = 192.168.20.105:80 masq 1
         real = 192.168.20.106:80 masq 1
         protocol = tcp
         scheduler = rr
         checktype = connect
         
    ※ ECV チェックをする場合は・・・
         
         checktype = negotiate
         servite = http
         request = "/health.html"
         receive = "OK"
      
       などとしてください
    
      ちなみに virtual は行頭にスペースは入れないで,
    real 以降は行頭に「4 つ以上の半角スペース」 or「TAB」を
    入れてください.
  
  
  (4) ldirectord を起動する
  
    # /etc/init.d/ldirectord start
  
  
  (5) LVS の状況を確認する
  
    # ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.10.100:80 rr
      -> 192.168.20.105:80            Masq    1      0          0
      -> 192.168.20.106:80            Masq    1      0          0

----------------------------------------------------------------
Shinya TAKEBAYASHI

E-mail : makoto@xxxxxxxxxxxx
GPG ID : FFD20D1F
GPG FP : 7B5B E0FC B785 7457 683C  47D6 5564 DDDD FFD2 0D1F
----------------------------------------------------------------