概要
この記事では、ポリシーをプッシュするように GETVPN を設定して、暗号化パケットに挿入されたセキュリティ グループ タグ(SGT)の送受信を許可する方法を紹介します。この設定例では、2 つのブランチがすべてのトラフィックに特定の SGT タグを付け、受信した SGT タグに基づいてゾーンベース ファイアウォール(ZBF)ポリシーを適用します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- IOS コマンドライン インターフェイス(CLI)の設定と GETVPN 設定の基礎知識
- TrustSec サービスの基礎知識
- ゾーンベース ファイアウォールの基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- ソフトウェア リリース 15.3(2)T 以降を実行する Cisco 2921 ルータ
トポロジ

R3:Branch1 にある境界ルータ。GETVPN グループのメンバーです。
R4:Branch2 にある境界ルータ。GETVPN グループのメンバーです。
R1、R2:中央サイトにある GETVPN キー サーバです。
すべてのルータでは OSPF が実行されています。
KS からプッシュされる ACL により、10.0.0.0/16 <-> 10.0.0.0/16 間のトラフィックは強制的に暗号化されます。
R3 ルータが Branch1 から送信されたすべてのトラフィックに付ける SGT タグは 3 です。
R4 ルータが Branch2 から送信されたすべてのトラフィックに付ける SGT タグは 4 です。
R3 は LAN に向けてトラフィックを送信する際に SGT タグを削除します(R5 はインライン タギングをサポートしていないという前提です)。
R4 は LAN に向けてトラフィックを送信する際に SGT タグを削除します(R6 はインライン タギングをサポートしていないという前提です)。
R4 にファイアウォールはありません(すべてのパケットを受け入れます)。
R3 には、次のポリシーを使用した ZBF が設定されています。
- LAN から WAN に送信されるすべてのトラフィックを受け入れます。
- WAN から LAN に送信される ICMP は、SGT=4 のタグが付けられている場合にのみ許可
コンフィギュレーション
R1(中央サイトのキー サーバ)
ポリシーを送信してタグ付きパケットの送受信を許可するには、「tac cts sgt」コマンドがなければなりません。
interface Loopback0
ip address 10.0.1.1 255.255.255.0
!
interface Ethernet0/0
ip address 192.168.0.1 255.255.255.0
crypto ipsec transform-set TS esp-aes esp-sha256-hmac
mode tunnel
!
crypto ipsec profile prof1
set transform-set TS
!
crypto gdoi group group1
identity number 1
server local
rekey authentication mypubkey rsa GETKEY
rekey transport unicast
sa ipsec 1
profile prof1
match address ipv4 GET-IPV4
replay counter window-size 64
tag cts sgt
address ipv4 192.168.0.1
redundancy
local priority 100
peer address ipv4 192.168.0.2
router ospf 1
network 10.0.0.0 0.0.255.255 area 0
network 192.168.0.0 0.0.0.255 area 0
ip access-list extended GET-IPV4
permit icmp 10.0.0.0 0.0.255.255 10.0.0.0 0.0.255.255
R2 の設定もほとんど同じです。
R3(Branch1 のグループ メンバー)
GETVPN 設定は、SGT タグがない場合のシナリオと同じです。LAN インターフェイスは手動 TrustSec で次のように設定されています。
- policy static sgt 3 trusted:LAN から受信したすべてのパケットに SGT=3 のタグを付けます。
- no propagate sgt:パケットを LAN に送信する際にすべての SGT タグを削除します。
crypto gdoi group group1
identity number 1
server address ipv4 192.168.0.1
server address ipv4 192.168.0.2
!
!
crypto map cmap 10 gdoi
set group group1
interface Ethernet0/0
ip address 192.168.0.3 255.255.255.0
crypto map cmap
!
interface Ethernet0/1
ip address 10.0.3.1 255.255.255.0
cts manual
no propagate sgt
policy static sgt 3 trusted
router ospf 1
network 10.0.0.0 0.0.255.255 area 0
network 192.168.0.0 0.0.0.255 area 0
R3 での ZBF は次のように設定されています。
LAN からのすべてのパケットを受け入れます。WAN から送信された ICMP パケットは、SGT=4 のタグが付けられている場合にのみ受け入れます。
class-map type inspect match-all TAG_4_ICMP
match security-group source tag 4
match protocol icmp
!
policy-map type inspect FROM_LAN
class class-default
pass log
policy-map type inspect FROM_WAN
class type inspect TAG_4_ICMP
pass log
class class-default
drop log
!
zone security lan
zone security wan
zone-pair security WAN-LAN source wan destination lan
service-policy type inspect FROM_WAN
zone-pair security LAN-WAN source lan destination wan
service-policy type inspect FROM_LAN
interface Ethernet0/0
zone-member security wan
!
interface Ethernet0/1
zone-member security lan
Branch2 にある R4 の設定は、ZBF が設定されていないという点を除けば同じです。
R5、R6 の設定
R5 と R6 は、どちらのブランチでもローカル LAN をシミュレートします。以下に、R5 の設定例を記載します。
interface Ethernet0/0
ip address 10.0.3.10 255.255.255.0
router ospf 1
network 10.0.0.0 0.0.255.255 area 0
確認
SGT 対応 GETVPN のテスト
SGT タギングが Branch1 のグループ メンバー(R3)でサポートされているかどうかを確認します。
R3#show crypto gdoi feature cts-sgt
Version Feature Supported
1.0.8 Yes
Branch1 のグループ メンバー(R3)にプッシュされた TEK ポリシーで SGT が使用されているかどうかを確認します。
R3#show crypto gdoi
GROUP INFORMATION
<...some output ommited for clarity...>
TEK POLICY for the current KS-Policy ACEs Downloaded:
Ethernet0/0:
IPsec SA:
spi: 0xD100D58E(3506492814)
transform: esp-aes esp-sha256-hmac
sa timing:remaining key lifetime (sec): expired
Anti-Replay(Counter Based) : 64
tag method : cts sgt
alg key size: 16 (bytes)
sig key size: 32 (bytes)
encaps: ENCAPS_TUNNEL
IPsec SA:
spi: 0x52B3CA86(1387514502)
transform: esp-aes esp-sha256-hmac
sa timing:remaining key lifetime (sec): (1537)
Anti-Replay(Counter Based) : 64
tag method : cts sgt
alg key size: 16 (bytes)
sig key size: 32 (bytes)
encaps: ENCAPS_TUNNEL
R6 から R5 に ICMP トラフィックを送信します。
R6#ping 10.0.3.10 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 10.0.3.10, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 1/1/6 ms
R3 が暗号化パケットに SGT タグを追加しているかどうかを確認します。
R3#show crypto ipsec sa detail
interface: Ethernet0/0
Crypto map tag: cmap, local addr 192.168.0.3
protected vrf: (none)
local ident (addr/mask/prot/port): (10.0.0.0/255.255.0.0/1/0)
remote ident (addr/mask/prot/port): (10.0.0.0/255.255.0.0/1/0)
Group: group1
current_peer 0.0.0.0 port 848
PERMIT, flags={}
#pkts encaps: 39, #pkts encrypt: 39, #pkts digest: 39
#pkts decaps: 39, #pkts decrypt: 39, #pkts verify: 39
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#pkts no sa (send) 0, #pkts invalid sa (rcv) 0
#pkts encaps failed (send) 0, #pkts decaps failed (rcv) 0
#pkts invalid prot (recv) 0, #pkts verify failed: 0
#pkts invalid identity (recv) 0, #pkts invalid len (rcv) 0
#pkts replay rollover (send): 0, #pkts replay rollover (rcv) 0
##pkts replay failed (rcv): 0
#pkts tagged (send): 39, #pkts untagged (rcv): 39
<...some output ommited for clarity...>
Branch2 にあるグループ メンバー(R3)のデータ プレーン カウンタを確認します。
R3#show crypto gdoi gm dataplane counters
Data-plane statistics for group group1:
#pkts encrypt : 53 #pkts decrypt : 53
#pkts tagged (send) : 53 #pkts untagged (rcv) : 53
#pkts no sa (send) : 0 #pkts invalid sa (rcv) : 0
#pkts encaps fail (send) : 0 #pkts decap fail (rcv) : 0
#pkts invalid prot (rcv) : 0 #pkts verify fail (rcv) : 0
#pkts not tagged (send) : 0 #pkts not untagged (rcv) : 0
#pkts internal err (send): 0 #pkts internal err (rcv) : 0
プラットフォームに依存する詳細は、デバッグを使用して確認できます。たとえば、R3 の場合は次のコマンドを使用します。
R3#debug cts platform l2-sgt rx
R3#debug cts platform l2-sgt tx
R3 が LAN から受信したパケットには、次のように SGT タグが付けられているはずです。
01:48:08: cts-l2sgt_rx:l2cts-policysgt:[in=Ethernet0/1 src=0100.5e00.0005 dst=aabb.cc00.6800] Policy SGT Assign [pak=F1B00E00:flag=0x1:psgt=3]
また、トンネル経由で送信された暗号化パケットには、次のようにタグが付けられます。
01:49:28: cts_ether_cmd_handle_post_encap_feature:pak[36BF868]:size=106 in=Ethernet0/1 out=Ethernet0/0 enctype=1 encsize=0 sgt_offset=18 [adj]:idb=Ethernet0/0 is_dot1q=0 linktype=7 mac_length=22 SGT=3
SGT 対応 ZBF のテスト
R3 は WAN から送信された ICMP パケットのうち、SGT=4 のタグが付けられているパケットだけを受け入れます。ICMP パケットを R6 から R5 に送信すると、次のようになります。
R6#ping 10.0.3.10 repeat 11
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 10.0.3.10, timeout is 2 seconds:
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/6 ms
R3 はタグ付き ESP パケットを受信して、それを複合します。これにより、ZBF がトラフィックを受け入れます。
*Mar 17 12:45:28.039: %FW-6-PASS_PKT: (target:class)-(WAN-LAN:TAG_4_ICMP) Passing icmp pkt 10.0.4.10:0 => 10.0.3.10:0 with ip ident 57
また、ポリシー マップにより、受け入れられたパケット数を示すカウンタが表示されます。
R3#show policy-firewall stats all
Global Stats:
Session creations since subsystem startup or last reset 0
Current session counts (estab/half-open/terminating) [0:0:0]
Maxever session counts (estab/half-open/terminating) [0:0:0]
Last session created never
Last statistic reset never
Last session creation rate 0
Maxever session creation rate 0
Last half-open session total 0
policy exists on zp WAN-LAN
Zone-pair: WAN-LAN
Service-policy inspect : FROM_WAN
Class-map: TAG_4_ICMP (match-all)
Match: security-group source tag 4
Match: protocol icmp
Pass
18 packets, 1440 bytes
Class-map: class-default (match-any)
Match: any
Drop
3 packets, 72 bytes
policy exists on zp LAN-WAN
Zone-pair: LAN-WAN
Service-policy inspect : FROM_LAN
Class-map: class-default (match-any)
Match: any
Pass
18 packets, 1440 bytes
R6 から R5 に Telnet で接続しようとすると、Telnet は許可されないことから、R3 によって Telnet セッションがドロップされます。
*Mar 17 12:49:30.475: %FW-6-DROP_PKT: Dropping tcp session 10.0.4.10:37500 10.0.3.10:23 on zone-pair WAN-LAN class class-default due to DROP action found in policy-map with ip ident 36123
参考資料