シスコサポートコミュニティ
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ACE: Source NAT

    Loadbalancer を使用した場合、client ACE vip 宛てに access し、server からの返信 packet ACE address を変換 (server ip address -> ACE vip) してくれるため、client server address を知る必要がありません。 つまり、client routing table server network がのっている必要はありません。

    client から ACE vip 宛ての access の場合、ACE NAT してくれるため、server address を知る必要はないのですが、server から client syn packet を送信した場合、ACE server address を変換してくれないため、client は知らない network から packet を受信することになってしまいます。

    # 構成

    inspect_ftp_01.png

    # client から ACE vip syn を送信した場合の connection table

    # client 側の vlan771 client address(192.168.71.11) vip(192.168.71.100) を使用


    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

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

    91         2     in  TCP   771     192.168.71.11:43939      192.168.71.100:80     SYNSEEN

    92         2  out TCP   772  192.168.72.11:80      192.168.71.11:43939   INIT

    ACE20/Admin#

    # server から client syn を送信した場合の connection table

    # client vlan771 でも client address(192.168.71.11) server address(192.168.72.11) を使用


    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

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

    28         1  in  TCP   772  192.168.72.11:39782   192.168.71.11:80      SYNSEEN

    29         1     out TCP   771  192.168.71.11:80      192.168.72.11:39782   INIT

    ACE20/Admin#

    client からの access 同様、server からの access に対しても ACE address を変換してくれれば、こういった問題は発生しません。

    これを可能にする設定が source  nat (SNAT) で、下記のように設定します。

    # 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 rserver

      2 match source-address 192.168.72.0    255.255.255.0

    class-map    match-all vip

      2 match virtual-address 192.168.71.100 any

    policy-map    type loadbalance first-match lb

      class class-default

        serverfarm sf

    policy-map    multi-match client-vips

      class vip

        loadbalance vip inservice

        loadbalance policy lb

        loadbalance vip icmp-reply

    policy-map    multi-match server-snat

      class rserver

        nat dynamic 1 vlan 771

    access-group    input all

    interface    vlan 771

      ip address 192.168.71.250 255.255.255.0

      nat-pool 1 192.168.71.100 192.168.71.100    netmask 255.255.255.255

      service-policy input client-vips

      no shutdown

    interface    vlan 772

      ip address 192.168.72.250 255.255.255.0

      service-policy    input server-snat

      no shutdown

    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

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

    36         1  in  TCP   772  192.168.72.11:59577   192.168.71.11:80      ESTAB

    37         1     out TCP   771  192.168.71.11:80      192.168.71.100:59577  ESTAB

    ACE20/Admin#

    上記は、server ip  address vip に変換しましたが、client 側に SNAT を設定すれば、client  ip address nat-pool で設定した address に変換することができます。 そうすることで、server 側も client 側の network を知る必要がなくなります。

    下記にも設定例が記載されているので、合わせてご参照ください。

    http://www.cisco.com/en/US/docs/interfaces_modules/services_modules/ace/vA2_3_0/configuration/security/guide/nat.html#wp1025068

    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

      2 match virtual-address 192.168.71.100 any

    policy-map    type loadbalance first-match lb

      class class-default

        serverfarm sf

        nat dynamic 1 vlan 772 serverfarm    primary

    policy-map    multi-match client-vips

      class vip

        loadbalance vip inservice

        loadbalance policy lb

        loadbalance vip icmp-reply

    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

      nat-pool 1 192.168.72.100 192.168.72.100    netmask 255.255.255.255

      no shutdown

    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

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

    523        1     in  TCP   771     192.168.71.11:38530      192.168.71.100:80     ESTAB

    524        1     out TCP   772  192.168.72.11:80      192.168.72.100:38530  ESTAB

    !___ client : 192.168.71.11    <-> 192.168.71.100

    !___ server : 192.168.72.11    <-> 192.168.72.100

    ACE20/Admin#

    ACE20/Admin# sh xlate

    NAT from    vlan771:192.168.71.11 to vlan772:192.168.72.100 count:1

    ACE20/Admin#

バージョン履歴
改訂番号
1/1
最終更新:
‎07-27-2010 06:20 PM
更新者:
 
タグ(2)