本ページはプロモーションが含まれています
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 1476
、ip tcp adjust-mss 1436
から開始し、ping <宛先> df-bit size
で確認→微調整が実用的です。計算式と測定手順は公式ヘルプ参照。
参考:Zscaler: Determining Optimal MTU for GRE/IPsec、Traffic Forwarding in ZIA
5. 動作確認コマンド
- トンネル:
show interface tunnel10
、show gre tunnel
、show ip route | inc 172.18.58
- PBR:
show route-map
、show policy-map interface g0/0/1
、debug ip policy
- IP SLA:
show ip sla statistics
、show 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の扱い。
コメント