NATとGREでZscalerに振り分ける最適構成:C8200/ISRガイド

ネットワーク

本ページはプロモーションが含まれています

Zscaler×GRE×NAT:設計のコアアイデア

  • デフォルトはNATで外へ:従来のインターネット通信はISPへPAT/NAT。
  • 選別トラフィックだけGREへ:PBRで80/443などをGREトンネルに誘導。
  • GREはNATしない:ASAはプロトコル47(GRE)許可+アイデンティティNATで素通し。
  • トンネルは2本:異なるZEN(DC)へ冗長。Zscaler推奨。

1. 事前確認チェックリスト

  • GRE送信元は静的パブリックIP(直接割当 もしくは 1:1 NAT)。
  • ASA等のFWでGRE(プロトコル47)を許可。
  • ZENの宛先パブリックIP ×2と、各トンネルの/30アドレス(Router側/ZEN側)を控える。
  • MTU/MSSは経路実測で最適化(後述)。

2. C8200/ISR(IOS-XE)基本コンフィグ例

例では Tunnel10/11 をそれぞれ Primary/Secondary ZENへ接続。LANは 192.168.10.0/24、外側IFは Gi0/0/0、ASAの外に出ていく構成を想定。

!
! ====== 物理IF ======
interface GigabitEthernet0/0/0
 description WAN-to-ASA
 ip address dhcp
 ip nat outside
 no shut
!
interface GigabitEthernet0/0/1
 description LAN
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
 no shut
!
! ====== GRE Tunnel #1 (Primary) ======
interface Tunnel10
 description ZIA-GRE-Primary
 ip address <WAN IPアドレス> 255.255.255.252   ! Router側 /30
 tunnel source GigabitEthernet0/0/0         ! 公開側IF or 1:1 NAT対象のLoopback
 tunnel destination <Zscaler IPアドレス>             ! ZEN(Primary) Public IP
 keepalive 10 3
 ip mtu 1476
 ip tcp adjust-mss 1436                     ! 1476基準の一例。実測に合わせて最適化
!
! ====== GRE Tunnel #2 (Secondary) ======
interface Tunnel11
 description ZIA-GRE-Secondary
 ip address <WAN IPアドレス> 255.255.255.252
 tunnel source GigabitEthernet0/0/0
 tunnel destination <Zscaler IPアドレス>         ! ZEN(Secondary) Public IP
 keepalive 10 3
 ip mtu 1476
 ip tcp adjust-mss 1436
!
! ====== ZEN宛の到達性(物理インターネット側へ) ======
ip route <Zscaler IPアドレス> 255.255.255.255 GigabitEthernet0/0/0
ip route <Zscaler IPアドレス> 255.255.255.255 GigabitEthernet0/0/0
!
! ====== 既定のデフォルトはISPへ(NAT/PAT用) ======
ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0
!
! ====== PBR:WebだけGREへ(優先: Tunnel10, 二次: Tunnel11) ======
ip access-list extended ACL-WEB-TO-ZIA
 permit tcp 192.168.10.0 0.0.0.255 any eq 80
 permit tcp 192.168.10.0 0.0.0.255 any eq 443
!
route-map RM-WEB-TO-ZIA permit 10
 match ip address ACL-WEB-TO-ZIA
 set ip next-hop verify-availability 172.18.58.122 1 track 10
 set ip next-hop verify-availability 172.18.58.126 2 track 11
!
interface GigabitEthernet0/0/1
 ip policy route-map RM-WEB-TO-ZIA
!
! ====== IP SLAでトンネル健全性をトラッキング ======
ip sla 10
 icmp-echo <Zscaler IPアドレス> source-interface Tunnel10
 frequency 3
ip sla schedule 10 life forever start-time now
track 10 ip sla 10 reachability
!
ip sla 11
 icmp-echo <Zscaler IPアドレス> source-interface Tunnel11
 frequency 3
ip sla schedule 11 life forever start-time now
track 11 ip sla 11 reachability
!
! ====== NAT(通常のインターネット用) ======
ip access-list standard ACL-NAT-LAN
 permit 192.168.10.0 0.0.0.255
!
ip nat inside source list ACL-NAT-LAN interface GigabitEthernet0/0/0 overload
!
! (任意)ZIAの /30やZEN宛はNATから除外したい場合はRoute-map NATで除外も可

ポイント:デフォルトはISPへ。その上でPBRでWebだけトンネル内のZEN内側IP(/30の相手側)をverify-availabilityつきでネクストホップに指定し、IP SLAで自動フェイルオーバーします。GREはNAT対象外なので、NAT設定はそのままでも衝突しません。

3. ASA(ファイアウォール)側の考慮

  • GRE(プロトコル47)を許可(ACL/ポリシー)。
  • ルータPublic⇄ZEN間のGREはNATしない(アイデンティティNAT)。
!
! GRE許可(例)
access-list OUTSIDE-IN extended permit gre host <Router-Public-IP> host <ZEN-Public-IP1>
access-list OUTSIDE-IN extended permit gre host <Router-Public-IP> host <ZEN-Public-IP2>
!
! アイデンティティNAT(GREを素通し)
object network OBJ_ROUTER_PUB
 host <Router-Public-IP>
object network OBJ_ZEN1
 host <ZEN-Public-IP1>
object network OBJ_ZEN2
 host <ZEN-Public-IP2>
nat (inside,outside) source static OBJ_ROUTER_PUB OBJ_ROUTER_PUB destination static OBJ_ZEN1 OBJ_ZEN1 no-proxy-arp route-lookup
nat (inside,outside) source static OBJ_ROUTER_PUB OBJ_ROUTER_PUB destination static OBJ_ZEN2 OBJ_ZEN2 no-proxy-arp route-lookup

ASAはGRE終端は不可ですが、通過+NAT回避は可能です。ZIAはトンネル送信元のパブリックIPで識別するため、1:1 NATは可、PATは不可と考えるのが安全です。(Cisco/Zscaler資料より)

4. MTU/MSSの最適化

GREのヘッダ分だけ有効MTUが小さくなります。Zscalerは実測に基づく最適化を推奨しています。目安として Tunnel IFで ip mtu 1476ip tcp adjust-mss 1436 から開始し、ping <宛先> df-bit size で確認→微調整が実用的です。計算式と測定手順は公式ヘルプ参照。

参考:Zscaler: Determining Optimal MTU for GRE/IPsecTraffic Forwarding in ZIA

5. 動作確認コマンド

  • トンネル:show interface tunnel10show gre tunnelshow ip route | inc 172.18.58
  • PBR:show route-mapshow policy-map interface g0/0/1debug ip policy
  • IP SLA:show ip sla statisticsshow track
  • NAT:show ip nat translations(通常インターネット用のPATのみが増える/GREは該当なし)

6. よくあるハマりどころ

  • デフォルトをGREにしない:既存のPAT戻り経路がトンネルへ流れ、コネクションが壊れる原因に。PBRで必要分だけGREへ。
  • GREのNAT誤設定:PATは不可。1:1 NATは可だが送信元IPがZIA登録と一致必須。
  • トンネル1本のみ:障害時の収容先がなくダウンに直結。必ず2本。
  • MTU未最適化:断続的な遅延/再送の温床。公式手順で実測してMSSを合わせる。

参考リンク

Zscaler公式:GREの概要/要件、2本推奨、MTU測定、帯域条件など(本文内リンク/脚注参照)。Cisco公式:SD-WAN×ZIAのGRE送信元アドレス/NATの扱い。

コメント

タイトルとURLをコピーしました