キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ACE: L3/L4 設定と L7 設定

    ここでは、ACE module を用いた基本的な設定、及びそのときの動作や確認方法を紹介します。 client/server には、router(c2801) を用います。

    ACE connection の状態を確認するには show conn を、どの policy hit しているかを確認するには show service-policy command を用います。

    # 構成

    l3-l7_basic_01.png

    client(c2801a)  : 192.168.71.1

    server(c2801b)  :  192.168.72.1, 192.168.72.2

    ACE VIP:  192.168.71.100(L3), 192.168.71.101(L4), 192.168.71.102(L7)

    # client/server 設定


    client    router

    server    router

    c2801a#sh run

    Building    configuration...

    version 12.4

    service    timestamps debug datetime msec

    service    timestamps log datetime msec

    no service    password-encryption

    !

    hostname    c2801a

    !

    boot-start-marker

    boot-end-marker

    !

    enable    password cisco

    !

    no aaa    new-model

    ip cef

    !

    !

    interface    FastEthernet0/1

    ip address 192.168.71.1 255.255.255.0

    !___ client ip address

    duplex auto

    speed auto

    !

    !

    no ip http    server

    !

    !

    control-plane

    !

    !

    line con 0

    line aux 0

    line vty 0 4

    password cisco

    login

    !

    end

    c2801a#                                                                                

    c2801b#sh run

    Building    configuration...

    version 12.4

    service    timestamps debug datetime msec

    service    timestamps log datetime msec

    no service    password-encryption

    !

    hostname    c2801b

    !

    boot-start-marker

    boot-end-marker

    !

    enable    password cisco

    !

    no aaa    new-model

    ip cef

    !

    !

    interface    FastEthernet0/1

    ip address 192.168.72.2 255.255.255.0    secondary

    !___ server が複数あるように見せるため、sercondary    address を使用

    ip address 192.168.72.1 255.255.255.0

    !___ server ip address

    duplex auto

    speed auto

    !

    ip classless

    ip route    192.168.71.0 255.255.255.0 192.168.72.250

    !___ client は別 network にいるため、client 宛ての route が必要

    !

    !

    ip http    server

    !___ http server の機能を有効に

    ip http    timeout-policy idle 60 life 60 requests 100

    !

    !

    control-plane

    !

    !

    line con 0

    line aux 0

    line vty 0 4

    password cisco

    !___ telnet を使用するため password を設定

    login

    !

    end

    c2801b#

    # 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.1

      inservice

    rserver host    sv2

      ip address 192.168.72.2

      inservice

    !___ server をそれぞれ sv1, sv2 という名前で設定

    serverfarm    host sf

      rserver sv1

        inservice

      rserver sv2

        inservice

    !___ rserver sv1, sv2 serverfarm sf として設定

    class-map    type http loadbalance match-all url

      2 match http url .*

    !___ ACE url check する (L7 処理を行う) ための設定

    class-map    match-all vip-l3

      2 match virtual-address 192.168.71.100 any

    !___ virtual address 設定 (L3 )

    class-map    match-all vip-l4

      3 match virtual-address 192.168.71.101 tcp    eq www

    !___ virtual address 設定 (L4 )

    class-map    match-all vip-l7

      2 match virtual-address 192.168.71.102 tcp    eq www

    !___ virtual address 設定 (L7 )

    policy-map    type loadbalance first-match lb

      class class-default

        serverfarm sf

    !___ L3/L4 用の serverfarm 設定

    policy-map    type loadbalance first-match lb-l7

      class url

        serverfarm sf

    !___ L7 用の serverfarm 設定

    !___ class-map で設定した url match した場合、serverfarm    sf を使用

    !___ .* の設定のため、すべての url が該当

    policy-map    multi-match client-vips

      class vip-l3

        loadbalance vip inservice

        loadbalance policy lb

      class vip-l4

        loadbalance vip inservice

        loadbalance policy lb

      class vip-l7

        loadbalance vip inservice

        loadbalance policy lb-l7

    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

    # vip access 時の出力

    1) vip:192.168.71.100 telnet access


    c2801a#telnet 192.168.71.100

    Trying    192.168.71.100 ... Open

    User Access    Verification

    Password:

    c2801b>

    ACE20/Admin# sh service-policy

    Policy-map :    client-vips

    Status     : ACTIVE

    -----------------------------------------

    Interface:    vlan 771

      service-policy: client-vips

        class: vip-l3

          loadbalance:

            L7 loadbalance policy: lb

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr    conns       : 1         , hit    count        : 1

            dropped conns    : 0

            client pkt count : 0         , client byte count: 0

            server pkt count : 0         , server byte count: 0

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

        class: vip-l4

          loadbalance:

            L7 loadbalance policy: lb

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr conns       : 0         , hit count        : 0

            dropped conns    : 0

            client pkt count : 0         , client byte count: 0

            server pkt count : 0         , server byte count: 0

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

        class: vip-l7

          loadbalance:

            L7 loadbalance policy: lb-l7

            Regex dnld status    : SUCCESSFUL

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr conns       : 0         , hit count        : 0

            dropped conns    : 0

            client pkt count : 0         , client byte count: 0

            server pkt count : 0         , server byte count: 0

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

    ----------+--+---+-----+----+---------------------+---------------------+------+

    121        1     in  TCP   771     192.168.71.1:23022       192.168.71.100:23     ESTAB

    122        1     out TCP   772  192.168.72.2:23       192.168.71.1:23022    ESTAB

    show service-policy class vip-l3 hit していることが確認できます。

    show conn で、

      client -> ACE traffic src:192.168.71.1:23022, dest:192.168.71.100:23

      server -> ACE traffic src: 192.168.72.2:23, dest:192.168.71.1:23022

    であることが確認できます。

    ACE は、round robin で、192.168.72.2  (secondary address) を選択しました。

    また、server (c2801b) 192.168.71.1 宛てに返信するために routing 設定が必要になります。

    2) vip:192.168.71.101 http access

    c2801a#telnet 192.168.71.101 80

    Trying    192.168.71.101, 80 ... Open

    GET / HTTP/1.1

    Host:a

    Authorization: Basic OmNpc2Nv

    HTTP/1.1 200    OK

    Date: Tue, 06    Jul 2010 02:34:43 GMT

    Server:    cisco-IOS

    Transfer-Encoding:    chunked

    Content-Type:    text/html

    Expires: Tue,    06 Jul 2010 02:34:43 GMT

    Last-Modified:    Tue, 06 Jul 2010 02:34:43 GMT

    Cache-Control:    no-store, no-cache, must-revalidate

    Accept-Ranges:    none

    0000008E

    <!-- //    Copyright (c) 2004-2005 by Cisco Systems, Inc. -->

    <html>

    <head></head>

    <body>

    [snip]

    ACE20/Admin# sh service-policy

    Policy-map :    client-vips

    Status     : ACTIVE

    -----------------------------------------

    Interface:    vlan 771

      service-policy: client-vips

        class: vip-l3

          loadbalance:

            L7 loadbalance policy: lb

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr conns       : 0         , hit count        : 1

            dropped conns    : 0

            client pkt count : 23        , client byte count: 967

            server pkt count : 21        , server byte count: 934

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

        class: vip-l4

          loadbalance:

            L7 loadbalance policy: lb

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr    conns       : 1         , hit    count        : 1

            dropped conns    : 0

            client pkt count : 0         , client byte count: 0

            server pkt count : 0         , server byte count: 0

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

        class: vip-l7

          loadbalance:

            L7 loadbalance policy: lb-l7

            Regex dnld status    : SUCCESSFUL

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr conns       : 0         , hit count        : 0

            dropped conns    : 0

            client pkt count : 0         , client byte count: 0

            server pkt count : 0         , server byte count: 0

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

    ----------+--+---+-----+----+---------------------+---------------------+------+

    85         2     in  TCP   771     192.168.71.1:25980       192.168.71.101:80     ESTAB

    86         2     out TCP   772  192.168.72.2:80       192.168.71.1:25980    ESTAB

    ACE20/Admin#

    show service-policy class vip-l4 hit していることが確認できます。

    今回の通信は、http を用いるため、client port#80 宛てに access し、手動で GET request を送信しています。

    c2801 server にしているため、password が要求されるので、authentication も手動で設定しています。

    (OmNpc2Nv c2801 で設定した username(なし):password(cisco) base64 encode したものです。)

    # echo OmNpc2Nv | base64 -d

    :cisco

    3) vip:192.168.71.102 http access

    c2801a#telnet 192.168.71.102 80

    Trying    192.168.71.102, 80 ... Open

    GET / HTTP/1.1

    Host:a

    Authorization: Basic OmNpc2Nv

    HTTP/1.1 200    OK

    Date: Tue, 06    Jul 2010 02:35:21 GMT

    Server:    cisco-IOS

    Transfer-Encoding:    chunked

    Content-Type:    text/html

    Expires: Tue,    06 Jul 2010 02:35:21 GMT

    Last-Modified:    Tue, 06 Jul 2010 02:35:21 GMT

    Cache-Control:    no-store, no-cache, must-revalidate

    Accept-Ranges:    none

    0000008E

    <!-- //    Copyright (c) 2004-2005 by Cisco Systems, Inc. -->

    <html>

    <head></head>

    <body>

    [snip]


    ACE20/Admin# sh service-policy

    Policy-map :    client-vips

    Status     : ACTIVE

    -----------------------------------------

    Interface:    vlan 771

      service-policy: client-vips

        class: vip-l3

          loadbalance:

            L7 loadbalance policy: lb

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr conns       : 0         , hit count        : 1

            dropped conns    : 0

            client pkt count : 23        , client byte count: 967

            server pkt count : 21        , server byte count: 934

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

        class: vip-l4

          loadbalance:

            L7 loadbalance policy: lb

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr conns       : 0         , hit count        : 1

            dropped conns    : 0

            client pkt count : 21        , client byte count: 907

            server pkt count : 16        , server byte count: 4091

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

        class: vip-l7

          loadbalance:

            L7 loadbalance policy: lb-l7

            Regex dnld status    : SUCCESSFUL

            VIP Route Metric     : 77

            VIP Route Advertise  : DISABLED

            VIP ICMP Reply       : ENABLED

            VIP State: INSERVICE

            curr    conns       : 1         , hit    count        : 1

            dropped conns    : 0

            client pkt count : 0         , client byte count: 0

            server pkt count : 0         , server byte count: 0

            conn-rate-limit      : 0         , drop-count : 0

            bandwidth-rate-limit : 0         , drop-count : 0

    ACE20/Admin#

    ACE20/Admin#    sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

    ----------+--+---+-----+----+---------------------+---------------------+------+

    123        1     in  TCP   771     192.168.71.1:44102       192.168.71.102:80     ESTAB

    124        1     out TCP   772  192.168.72.1:80       192.168.71.1:44102    ESTAB

    ACE20/Admin#

    show service-policy class vip-l7 hit していることが確認できます。

    client からの access 方法や show conn の出力に大きな違いはありませんが、Loadbalancer の基本動作 に書かれているように、L3/L4 L7 では ACE 内部での動作が大きく異なります。

    この違いは、client -  ACE, ACE - server 間の capture を同時に取得することで確認できます。

    L3/L4 の場合、ACE syn  packet を受信した (L3:14 行目,  L4:168行目) 直後に server 宛てに syn packet を送信 (L3:15 行目, L4:169行目) していますが、L7 の場合、client に対して syn/ack を返し (309行目) ています。L7 の場合、server 宛てに syn を送信するのは 313 行目の GET request を受信した後(315行目)になります。

    # L3

    l3-l7_basic_02.png

    # L4

    l3-l7_basic_03.png

    # L7

    l3-l7_basic_04.png

バージョン履歴
改訂番号
1/1
最終更新:
‎07-27-2010 01:44 PM
更新者:
 
添付
タグ(4)