キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
3085
閲覧回数
3
いいね!
0
コメント
yushimaz
Cisco Employee
Cisco Employee

    ACE FTP 通信を負荷分散する場合、inspect ftp の設定を policy-map に設定するだけで実現可能です。

    # 構成

    inspect_ftp_01.png

    # ACE 設定


    ACE20/Admin#    sh run

    Generating    configuration....

    hostname    ACE20

    boot system    image:c6ace-t1k9-mz.A2_3_1.bin

    access-list    all line 8 extended permit ip any any

    rserver host    sv1

      ip address 192.168.72.11

      inservice

    rserver host    sv2

      ip address 192.168.72.12

      inservice

    serverfarm    host sf

      rserver sv1

        inservice

      rserver sv2

        inservice

    class-map    match-all vip-ftp

      2 match virtual-address 192.168.71.100 tcp    eq ftp

    policy-map    type loadbalance first-match lb

      class class-default

        serverfarm sf

    policy-map    multi-match client-vips

      class vip-ftp

        loadbalance vip inservice

        loadbalance policy lb

        loadbalance vip icmp-reply

        inspect ftp

    access-group    input all

    interface    vlan 771

      ip address 192.168.71.250 255.255.255.0

      service-policy input client-vips

      no shutdown

    interface    vlan 772

      ip address 192.168.72.250 255.255.255.0

      no shutdown

    設定自体は簡単なのですが、この 1 行があるとないとでは動作が大きく異なります。

    以下、設定の有無でどのように違うのかを見ていきます。

    ## inspect ftp なし

    #  control connection

    inspect_ftp_02.png

    # data  connection (active mode)

    inspect_ftp_03.png

    # client log


    ftp> get tempfile

    local:    tempfile remote: tempfile

    200 PORT    command successful.

    425 Can't    build data connection: Connection refused.

    ftp>


    # data  connection (passive mode)

    inspect_ftp_04.png

    # client log

    ftp> passive

    Passive mode    on.

    ftp> get tempfile

    local:    tempfile remote: tempfile

    227 Entering    Passive Mode (192,168,72,11,215,196)

    ftp: connect:    Network is unreachable

    ftp>


    inspect ftp の設定を行わずに ftp command を実行しても、control connection を張ることは可能です。

    しかし、file download しようとすると、active/passive mode どちらを使用しても、error が発生し download に失敗してしまいます。 (active/passive mode については、FTP: active mode と passive mode について をご参照ください。)


    ただし、error の内容と、capture の結果が active/passive mode で異なります。


    active mode の場合、capture から syn/ack がなく RST されている (98行目 - 114行目) ことが確認できます。

    passive mode の場合、syn packet すら送信されていません。

    active mode が正常に動作しないのは、server から client に対して直接 data connection を張ろうとしているためです。 client server から直接 syn packet を受信しても、routing table server network 情報がないため、server syn/ack を返すことができません。 そのため、正常に connection を張れず、download に失敗しています。


    passive mode が正常に動作しないのは、232 行目の 227 response address server address が入っているためです。 active mode 同様、client routing table server network 情報がないため、syn を送信できませんでした。


    client:/# netstat -rn

    Kernel IP    routing table

    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

    192.168.71.0    0.0.0.0         255.255.255.0   U         0 0          0 eth1

    !___ 192.168.71.0/24 network しか知らない。

    client:/#

    つまり、ftp data  connection を張る場合、loadbalancer において

    - server から張られる data-connection src address vip address に変換

    - 227      response 中の、server address vip address に変換

    という処理が必要になりますが、inspect ftp command を設定するだけで、data  connection を監視し、この両方の処理を行ってくれます。

    ftp inspection ACE: Hardware architecture から見た L3/L4  と L7 の違 にも記載されているように、Xscale が処理を担当しています。

    ## inspect ftp あり

    #  control connection

    inspect_ftp_05.png

    control connection inspect ftp  command の有無にかかわらず動作するため、inspect ftp command がない場合と同様の capture 結果となります。

    # data  connection (active mode)

    inspect_ftp_06.png

    96 行目では、server(192.168.72.12) であった src address 97 行目で vip address(192.168.71.100) に変換されています。

    # data  connection (passive mode)

    inspect_ftp_07.png

    inspect_ftp_08.png

    136 行目の response arg では 192,168,72,12 であったものが 137 行目の response arg 192,168,71,100 に変換されています。

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします