今回は、vEdge間で複数のオーバレイトンネルが存在する状況で、特定のトラフィックの転送に使用するパス(オーバレイトンネル)を明示的に指定する方法を説明します。
ローカルブレイクアウトと同様にCentralized Control Policyを使用して、パスを指定します。
- 概要
- 検証環境、内容
- 設定、正常時の動作確認
- vEdge2の設定の確認
- Centralized Control Policy適用前の状態確認
- Centralized Control Policy適用前の疎通確認
- VPN Listの確認
- Site Listの確認
- Traffic Data Policyの確認
- Centralized Control Policyの確認
- vSmartへのCentralized Control Policyの適用
- Centralized Control Policy適用後のvSmartの状態確認
- Centralized Control Policy適用後のvEdgeの状態確認
- Centralized Control Policy適用後の疎通確認
- 閉域網障害時の動作確認
概要
Centralized Control Policyを使用したパス指定
今までのルータでは、IPアドレスやポート番号単位でパスを指定することは可能でした。
Viptelaでは、IPアドレスやポート番号に加え、アプリケーション単位でパスを指定することが可能です。
これにより、例えば、Skypeなどの遅延に敏感な通信は高品質な閉域網を使用して転送、他の通信はインターネットを使用して転送、などのトラフィック制御を容易に実現可能です。
検証環境、内容
検証内容
R2からR1に対して、Telnetを実施します。
そして、vEdge2において、Telnetのパケットを強制的に閉域網を使用して転送させます。
(インターネットに出れない閉じた環境で検証しているので、アプリケーションではなく、従来のIPアドレスやポート番号を条件に使用します。。。)
物理/論理構成
オーバレイネットワーク構成
初期設定
system
system-ip 10.1.10.11
site-id 10
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface eth0
ip address 172.16.10.11/24
tunnel-interface
no shutdown
!
ip route 0.0.0.0/0 172.16.10.254
system
host-name vBond
system-ip 10.1.10.21
site-id 10
organization-name "Criterio1 - 19101"
vbond 172.16.10.21 local vbond-only
!
vpn 0
interface ge0/0
ip address 172.16.10.21/24
tunnel-interface
encapsulation ipsec
!
no shutdown
!
ip route 0.0.0.0/0 172.16.10.254
system
host-name vSmart
system-ip 10.1.10.31
site-id 10
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface eth0
ip address 172.16.10.31/24
tunnel-interface
no shutdown
!
ip route 0.0.0.0/0 172.16.10.254
system
host-name vEdge1
system-ip 1.1.1.1
site-id 1
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface ge0/0
ip address 172.16.1.1/24
tunnel-interface
encapsulation ipsec
color biz-internet restrict
!
no shutdown
!
interface ge0/1
ip address 172.20.1.1/24
tunnel-interface
encapsulation ipsec
color metro-ethernet restrict
max-control-connections 0
!
no shutdown
!
ip route 0.0.0.0/0 172.16.1.254
!
vpn 10
interface ge0/2
ip address 10.1.1.1/24
no shutdown
system
host-name vEdge2
system-ip 2.2.2.2
site-id 2
organization-name "Criterio1 - 19101"
vbond 172.16.10.21
!
vpn 0
interface ge0/0
ip address 172.16.2.2/24
tunnel-interface
encapsulation ipsec
color biz-internet restrict
!
no shutdown
!
interface ge0/1
ip address 172.20.1.2/24
tunnel-interface
encapsulation ipsec
color metro-ethernet restrict
max-control-connections 0
!
no shutdown
!
ip route 0.0.0.0/0 172.16.2.254
!
vpn 10
ecmp-hash-key layer4
interface ge0/2
ip address 20.1.1.2/24
no shutdown
!
policy
app-visibility
aaa new-model
!
aaa authentication login default none
aaa authentication enable default none
!
interface GigabitEthernet2
ip address 10.1.1.11 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.1
!
line vty 0 4
privilege level 15
transport input telnet
interface GigabitEthernet2
ip address 20.1.1.12 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.1.1.2
interface GigabitEthernet2
ip address 172.16.1.254 255.255.255.0
!
interface GigabitEthernet3
ip address 172.16.2.254 255.255.255.0
!
interface GigabitEthernet4
ip address 172.16.10.254 255.255.255.0
設定、正常時の動作確認
vEdge2の設定の確認
今回のパス指定の機能とは直接関係ないですが、検証のためにvEdge2にecmp-hash-key layer4コマンドを設定しております。
vpn 10
ecmp-hash-key layer4
vEdgeでは特定の宛先に対して等コストなパスが複数存在する際、転送対象のパケットから生成したハッシュ値を基に、転送先のパスを決定します。
デフォルトでは、このハッシュ値の計算には、IPヘッダの送信先IPアドレス、送信元IPアドレス、プロトコル番号、DSCP値を使用します。
ecmp-hash-key layer4コマンドを設定することで、上記のパラメータに加え、TCP/UDPヘッダの送信先ポート番号と送信元ポート番号も考慮してハッシュ値の計算します。
また、ECMPで使用可能なパスの上限はecmp-limit <ルート数>コマンドで変更可能です。
omp
ecmp-limit <ルート数>
Centralized Control Policy適用前の状態確認
vEdge2でshow bfd sessionsコマンドを実行すると、インターネットと閉域網経由でオーバレイトンネルを構築して、BFDネイバーを確立していることが確認できます。
vEdge2# show bfd sessions | tab
SRC DST SYSTEM SITE DETECT TX
SRC IP DST IP PROTO PORT PORT IP ID LOCAL COLOR COLOR STATE MULTIPLIER INTERVAL UPTIME TRANSITIONS
--------------------------------------------------------------------------------------------------------------------------------------------------
172.16.2.2 172.16.1.1 ipsec 12346 12346 1.1.1.1 1 biz-internet biz-internet up 7 1000 0:00:20:38 3
172.20.1.2 172.20.1.1 ipsec 12346 12346 1.1.1.1 1 metro-ethernet metro-ethernet up 7 1000 0:00:20:34 1
vEdge2でshow ip routes vpn 10コマンドを実行すると、サイト1の10.1.1.0/24へのパスとしてインターネット経由のオーバレイトンネルと閉域網経由のオーバレイトンネルがルーティングテーブルに投入されていることが確認できます。
vEdge2# show ip routes vpn 10 | tab
ADDRESS PATH PROTOCOL NEXTHOP NEXTHOP NEXTHOP
VPN FAMILY PREFIX ID PROTOCOL SUB TYPE METRIC IFNAME ADDR TLOC IP COLOR ENCAP VPN STATUS
---------------------------------------------------------------------------------------------------------------------------------
10 ipv4 10.1.1.0/24 0 omp - 0 - - 1.1.1.1 metro-ethernet ipsec - F,S
10 ipv4 10.1.1.0/24 1 omp - 0 - - 1.1.1.1 biz-internet ipsec - F,S
10 ipv4 20.1.1.0/24 0 connected - 0 ge0/2 - - - - - F,S
Centralized Control Policy適用前の疎通確認
R2からR1に対して、Telnetを2回実施します。
vEdge2でshow app dpi flowsコマンドを実行して、Telnetのパケットがどのオーバレイトンネルを経由してvEdge1に転送されたかを確認します。
show app dpi flowsコマンドの出力のtunnels-inの箇所がオーバレイにパケットを転送する際に使用したTLOCを示しています。一方、tunnels-outの箇所がオーバレイから受信したパケットが使用していたTLOCを示しています。(inとoutが紛らわしい。。。)
Centralized Control Policy適用前なので、インターネットと閉域網の両方を使用ていることが確認できます。
vEdge2# show app dpi flows detail
app dpi flows vpn 10 20.1.1.12 10.1.1.11 19457 23 tcp
application telnet
family Terminal
active-since 2020-04-11T20:59:55+00:00
packets 40
octets 1709
tunnels-in 1
local-tloc TLOC IP 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 857
start-time 2020-04-11T20:59:55+00:00
tunnels-out 1
local-tloc ip 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 852
start-time 2020-04-11T20:59:55+00:00
app dpi flows vpn 10 20.1.1.12 10.1.1.11 41473 23 tcp
application telnet
family Terminal
active-since 2020-04-11T20:59:58+00:00
packets 39
octets 1669
tunnels-in 1
local-tloc TLOC IP 2.2.2.2
local-tloc color metro-ethernet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color metro-ethernet
remote-tloc encap ipsec
packets 19
octets 817
start-time 2020-04-11T20:59:58+00:00
tunnels-out 1
local-tloc ip 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 852
start-time 2020-04-11T20:59:58+00:00
VPN Listの確認
VPN Listで、Traffic Data Policyの適用先のVPNのIDを指定します。
Site Listの確認
Site Listで、Traffic Data Policyの適用先のSiteのIDを指定します。
Traffic Data Policyの確認
パス指定のアクションはLocal TLOCになります。
Colorとカプセル化方式を使用して、転送に使用する自身のTLOCを指定します。
Local TLOCのRestrictオプションは、指定したColorとカプセル化方式のTLOCがダウンしている場合に、パケットをどのように扱うかを指定するためのオプションになります。
Restrictオプションが有効な場合はパケットは破棄されます。Restrictオプションが無効な場合は他のTLOCを使用してパケットを転送します。
今回はRestrictオプションが無効なため、もし、vEdge2の閉域網用のTLOCがダウンしても、インターネット用のTLOCを使用して、Telnetパケットを転送可能です。
他の通信はインターネットと閉域網を均等に使用してハブ拠点に転送させるために、Default ActionにはAcceptを設定します。
Centralized Control Policyの確認
Traffic Rules > Traffic DataからCentralized Control Policyにパス指定用のTraffic Data Policyをインポートしておきます。
Policy Application > Traffic DataからインポートしたTraffic Data Policyの適用先のSiteとVPNを指定します。
vSmartへのCentralized Control Policyの適用
vSmartにCentralized Control Policyを適用します。
適用方法が分からない場合は、こちらの記事を参照お願いします。
Centralized Control Policy適用後のvSmartの状態確認
vSmartでshow runコマンドを実行し、Centralized Control Policy用のコマンドを確認します。
vSmart# show run
.
<一部省略>
.
policy
data-policy _VPN_10_Traffic_Data_Policy
vpn-list VPN_10
sequence 1
match
source-ip 0.0.0.0/0
destination-port 23
protocol 6
!
action accept
set
local-tloc-list
color metro-ethernet
encap ipsec
!
!
!
!
default-action accept
!
!
lists
vpn-list VPN_10
vpn 10
!
site-list Site_2
site-id 2
!
!
!
apply-policy
site-list Site_2
data-policy _VPN_10_Traffic_Data_Policy from-service
Centralized Control Policy適用後のvEdgeの状態確認
vEdge2でshow policy from-vsmartコマンドを実行し、Centralized Control Policyの情報を確認します。
vEdge2# show policy from-vsmart
from-vsmart data-policy _VPN_10_Traffic_Data_Policy
direction from-service
vpn-list VPN_10
sequence 1
match
source-ip 0.0.0.0/0
destination-port 23
protocol 6
action accept
set
local-tloc-list
color metro-ethernet
encap ipsec
default-action accept
from-vsmart lists vpn-list VPN_10
vpn 10
Centralized Control Policy適用後の疎通確認
R2からR1に対して、Telnet2回を実施します。
vEdge2でshow app dpi flowsコマンドを実行して、Telnetのパケットがどのオーバレイトンネルを経由してvEdge1に転送されたかを確認します。
Centralized Control Policy適用後なので、閉域網のみ使用ていることが確認できます。
vEdge2# show app dpi flows detail
app dpi flows vpn 10 20.1.1.12 10.1.1.11 35841 23 tcp
application telnet
family Terminal
active-since 2020-04-17T19:45:51+00:00
packets 40
octets 1709
tunnels-in 1
local-tloc TLOC IP 2.2.2.2
local-tloc color metro-ethernet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color metro-ethernet
remote-tloc encap ipsec
packets 20
octets 857
start-time 2020-04-17T19:45:51+00:00
tunnels-out 1
local-tloc ip 2.2.2.2
local-tloc color metro-ethernet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color metro-ethernet
remote-tloc encap ipsec
packets 20
octets 852
start-time 2020-04-17T19:45:51+00:00
app dpi flows vpn 10 20.1.1.12 10.1.1.11 51713 23 tcp
application telnet
family Terminal
active-since 2020-04-17T19:45:53+00:00
packets 40
octets 1709
tunnels-in 1
local-tloc TLOC IP 2.2.2.2
local-tloc color metro-ethernet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color metro-ethernet
remote-tloc encap ipsec
packets 20
octets 857
start-time 2020-04-17T19:45:53+00:00
tunnels-out 1
local-tloc ip 2.2.2.2
local-tloc color metro-ethernet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color metro-ethernet
remote-tloc encap ipsec
packets 20
octets 852
start-time 2020-04-17T19:45:53+00:00
閉域網障害時の動作確認
vEdge2の閉域網向けのWANインタフェース障害
vEdge2の閉域網向けのWANインタフェースであるge0/1をシャットダウンします。
vpn 0
interface ge0/1
shutdown
vEdge2でshow interfaceコマンドを実行すると、ge0/1がダウンしていることが確認できます。
vEdge2# show interface
IF IF IF TCP
AF ADMIN OPER TRACKER ENCAP SPEED MSS RX TX
VPN INTERFACE TYPE IP ADDRESS STATUS STATUS STATUS TYPE PORT TYPE MTU HWADDR MBPS DUPLEX ADJUST UPTIME PACKETS PACKETS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
0 ge0/0 ipv4 172.16.2.2/24 Up Up NA null transport 1500 00:0c:29:35:f9:91 1000 full 1416 4:21:32:24 2802680 2725617
0 ge0/1 ipv4 172.20.1.2/24 Down Down NA null transport 1500 00:0c:29:35:f9:9b - - 1416 - 852692 851253
0 system ipv4 2.2.2.2/32 Up Up NA null loopback 1500 00:00:00:00:00:00 0 full 1416 4:21:32:31 0 0
10 ge0/2 ipv4 20.1.1.2/24 Up Up NA null service 1500 00:0c:29:35:f9:a5 1000 full 1416 4:21:32:23 42467 7504
512 eth0 ipv4 192.168.1.212/24 Up Up NA null service 1500 00:0c:29:35:f9:87 0 full 0 4:21:32:24 578531 49033
vEdge2の状態確認
vEdge2でshow bfd sessionsコマンドを実行すると、インターネット経由でのみオーバレイトンネルを確立していることが確認できます。
vEdge2# show bfd sessions | tab
SRC DST SYSTEM SITE DETECT TX
SRC IP DST IP PROTO PORT PORT IP ID LOCAL COLOR COLOR STATE MULTIPLIER INTERVAL UPTIME TRANSITIONS
--------------------------------------------------------------------------------------------------------------------------------------------------
172.16.2.2 172.16.1.1 ipsec 12366 12346 1.1.1.1 1 biz-internet biz-internet up 7 1000 1:23:49:48 0
vEdge2でshow ip routes vpn 10コマンドを実行すると、サイト1の10.1.1.0/24へのパスとしてインターネット経由のオーバレイトンネルのみがルーティングテーブルに投入されていることが確認できます。
vEdge2# show ip routes vpn 10 | tab
ADDRESS PATH PROTOCOL NEXTHOP NEXTHOP NEXTHOP
VPN FAMILY PREFIX ID PROTOCOL SUB TYPE METRIC IFNAME ADDR TLOC IP COLOR ENCAP VPN STATUS
---------------------------------------------------------------------------------------------------------------------------------
10 ipv4 10.1.1.0/24 0 omp - 0 - - 1.1.1.1 metro-ethernet ipsec - F,S
10 ipv4 20.1.1.0/24 0 connected - 0 ge0/2 - - - - - F,S
疎通確認
R2からR1に対して、Telnet2回を実施します。
vEdge2でshow app dpi flowsコマンドを実行して、Telnetのパケットがどのオーバレイトンネルを経由してvEdge1に転送されたかを確認します。
今回、Traffic Data PolicyのLocal TLOCのRestrictオプションが無効なため、インターネットを使用してTelnetパケットの転送を継続できていることが確認できます。
vEdge2# show app dpi flows detail
app dpi flows vpn 10 20.1.1.12 10.1.1.11 15361 23 tcp
application telnet
family Terminal
active-since 2020-04-17T20:00:47+00:00
packets 40
octets 1709
tunnels-in 1
local-tloc TLOC IP 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 857
start-time 2020-04-17T20:00:47+00:00
tunnels-out 1
local-tloc ip 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 852
start-time 2020-04-17T20:00:47+00:00
app dpi flows vpn 10 20.1.1.12 10.1.1.11 40449 23 tcp
application telnet
family Terminal
active-since 2020-04-17T20:00:49+00:00
packets 40
octets 1709
tunnels-in 1
local-tloc TLOC IP 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 857
start-time 2020-04-17T20:00:49+00:00
tunnels-out 1
local-tloc ip 2.2.2.2
local-tloc color biz-internet
local-tloc encap ipsec
remote-tloc TLOC IP 1.1.1.1
remote-tloc color biz-internet
remote-tloc encap ipsec
packets 20
octets 852
start-time 2020-04-17T20:00:49+00:00
コメント