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

 



はじめに

以下のような冗長WAN構成で、ISP#1経由のTCPパケットが、ISP#2から戻ってきた場合、以下ログと共にセキュリティドロップします。 これは、入出力Interface、及び TCPステートのチェックを ASAが行っているためです。



%ASA-6-302013: Built outbound TCP connection 179 for outside1:7.7.7.7/80 (7.7.7.7/80) to inside:172.16.0.1/12345 (172.16.0.1/12345)
%ASA-6-106015: Deny TCP (no connection) from 7.7.7.7/80 to 172.16.0.1/12345 flags SYN ACK on interface outside2


この非対称ルーティング構成のサポートは、Traffic Zone機能により可能です。

本ドキュメントでは、Traffic Zoneの設定と動作確認例を紹介します。 本ドキュメントは ASA version 9.4(2)を元に確認、作成しております。

   
     

Traffic Zoneとは

ASAソフトウェアバージョン 9.3(2)からの新機能で、複数Interfaceを Zoneに参加させることで以下を実現できます。

    • 非対称ルーティング (Asymmetric routing)
    • ルート冗長化
    • 等コスト マルチパス ルーティング (ECMP)


Zone毎にコネクションを保持するため、そのZoneに属する どのInterfaceでパケットを受信しても、そのコネクションで継続し処理が可能です。

逆に、ACLや NAT、Routingは、従来通り各Interfaceに適用が必要です。 通常、同じZoneに属する各Interfaceには、同等のACLやNAT設定を行うことを お勧めします。

また、所属するInterface間でのバランシングが可能となるため、非対称性によりVPN通信に悪影響を与える恐れがあるため、Zoneに属するInterfaceに VPN設定はしないでください。



構成と設定例

複数Interfaceを、定義したzoneに参加させます。 設定はシンプルです。

なお、InterfaceをZoneに参加時、そのInterfaceに紐づいていた Static Route設定は消えるため、Static Routeの再設定が必要となります。

zone OUTSIDE
!
interface GigabitEthernet0/0
nameif outside1
security-level 0
zone-member OUTSIDE
ip address 10.10.0.254 255.255.255.0
!
interface GigabitEthernet0/1
nameif outside2
security-level 0
zone-member OUTSIDE
ip address 10.20.0.254 255.255.255.0
!
interface GigabitEthernet0/2
nameif inside
security-level 100
ip address 172.16.0.254 255.255.255.0
!
route outside1 0.0.0.0 0.0.0.0 10.10.0.1 1
route outside2 0.0.0.0 0.0.0.0 10.20.0.1 210

    
     

動作確認

ISP#1~ISP#2 非対称ルーティング時

以下は、Internal Client(172.16.0.1)から Webサーバ(7.7.7.7)へのWEB通信で、ISP#1とISP#2で非対称ルーティング時の、コネクションテーブル変遷と、外部Interfaceの パケットキャプチャ結果です。

コネクションテーブルの変遷

- zone OUTSIDEの outside1を優先利用。 Zone OUTSIDEと inside間でコネクションが生成される事を確認できます

1. ISP#1経由-SYN送信時

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside1(outside1): 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags saA , idle 2s, uptime 2s, timeout 30s, bytes 0

  
2. ISP#2経由-SYN-ACK受信時

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside1(outside1): 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags A , idle 2s, uptime 9s, timeout 30s, bytes 0

  
3. ISP#1経由-ACK送信時

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside1(outside1): 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags U , idle 2s, uptime 21s, timeout 1h0m, bytes 0

   

各Interfaceの処理パケット

- IN(inside)からの 3way handshake パケットが、OUT1(oustide1)を通過し送出され、OUT2(outside2)側で受信、再度 OUT1(outside1)から送付されている事を確認できます

ASA(config)# sh cap IN
3 packets captured
1: 16:04:50.315108 172.16.0.1.12345 > 7.7.7.7.80: S 0:0(0) win 512
2: 16:04:57.863694 7.7.7.7.80 > 172.16.0.1.12345: S 0:0(0) ack 1 win 512
3: 16:05:09.315153 172.16.0.1.12345 > 7.7.7.7.80: . ack 1 win 512
ASA(config)# sh cap OUT1
2 packets captured
1: 16:04:50.315337 172.16.0.1.12345 > 7.7.7.7.80: S 0:0(0) win 512
2: 16:05:09.315215 172.16.0.1.12345 > 7.7.7.7.80: . ack 1 win 512
ASA(config)# sh cap OUT2
1 packet captured
1: 16:04:57.863618 7.7.7.7.80 > 172.16.0.1.12345: S 0:0(0) ack 1 win 512

   
   

ISP#1側 障害時

以下は、Internal Client(172.16.0.1)から Webサーバ(7.7.7.7)へのWEB通信で、ISP#1側リンクダウン時の、コネクションテーブル変遷と、外部Interfaceの パケットキャプチャ結果です。

ISP#1側(Gi0/0)ダウン時 ログ

 - Gi0/0のダウンに伴い、デフォルトゲートウェイが outside2側に切り替わっている事を確認できます

ASA(config)# sh int ip brie
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 10.10.0.254 YES manual down down
GigabitEthernet0/1 10.20.0.254 YES manual up up
GigabitEthernet0/2 172.16.0.254 YES manual up up
GigabitEthernet0/3 unassigned YES unset administratively down up
GigabitEthernet0/4 unassigned YES unset administratively down down
--- snip ---
ASA(config)#
ASA(config)# sh route | in 0.0.0.0
Gateway of last resort is 10.20.0.1 to network 0.0.0.0
S* 0.0.0.0 0.0.0.0 [210/0] via 10.20.0.1, outside2

    

コネクションテーブルの変遷

- zone OUTSIDEの outside2を利用。 Zone OUTSIDEと inside間でコネクションが生成される事を確認できます

1. ISP#2経由-SYN送信時

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside2(outside2): 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags saA , idle 5s, uptime 5s, timeout 30s, bytes 0


2. ISP#2経由-SYN-ACK受信時

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside2(outside2): 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags A , idle 2s, uptime 9s, timeout 30s, bytes 0


3. ISP#2経由-ACK送信時

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside2(outside2): 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags U , idle 2s, uptime 16s, timeout 1h0m, bytes 0

  

各Interfaceの処理パケット

- 外部パケットやり取りが、OUT2(outside2)側に全て寄っている事がわかる

ASA(config)# sh cap IN
3 packets captured
1: 16:18:04.379115 172.16.0.1.12345 > 7.7.7.7.80: S 0:0(0) win 512
2: 16:18:11.494389 7.7.7.7.80 > 172.16.0.1.12345: S 0:0(0) ack 1 win 512
3: 16:18:18.199162 172.16.0.1.12345 > 7.7.7.7.80: . ack 1 win 512
3 packets shown
ASA(config)# sh cap OUT1
0 packet captured
0 packet shown
ASA(config)# sh cap OUT2
3 packets captured
1: 16:18:04.379329 172.16.0.1.12345 > 7.7.7.7.80: S 0:0(0) win 512
2: 16:18:11.494313 7.7.7.7.80 > 172.16.0.1.12345: S 0:0(0) ack 1 win 512
3: 16:18:18.199254 172.16.0.1.12345 > 7.7.7.7.80: . ack 1 win 512

     

既存通信の保護

上記の確認結果は、ISP#1側障害時の "新規通信"のコネクションテーブルですが、ISP#1障害前からある既存コネクションにおいても outside2を用いて通信継続が可能です。

Egress(送出)Interfaceが切り替わると、コネクションの()内のCurrent Interfaceも変わります。

ISP#1 ダウン前 既存通信 (outside1をEgressに利用)

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside1(outside1 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags UO , idle 3s, uptime 4m6s, timeout 1h0m, bytes 1000


ISP#1側リンクダウン後 既存通信 (outside2をEgressに利用)

ASA(config)# sh conn long | in flag
TCP OUTSIDE:outside1(outside2 7.7.7.7/80 (7.7.7.7/80) inside: 172.16.0.1/12345 (172.16.0.1/12345), flags UO , idle 2s, uptime 5m18s, timeout 1h0m, bytes 1596

   
  

参考情報

ASA9.4: Traffic Zones
 - 設定例や機能制限の詳細
http://www.cisco.com/c/en/us/td/docs/security/asa/asa94/config-guides/cli/general/asa-94-general-config/interface-zones.html

ASA: パケットキャプチャ機能の活用(CLI)
 - 動作確認例で紹介したパケットキャプチャ方法の詳細
https://supportforums.cisco.com/ja/document/12437966

ファイアウォール トラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161736

Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733

 

Getting Started

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

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