Viptela オーバレイでのパス指定

今回は、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コマンドを設定しております。

vEdge2

vpn 10
 ecmp-hash-key layer4
            

vEdgeでは特定の宛先に対して等コストなパスが複数存在する際、転送対象のパケットから生成したハッシュ値を基に、転送先のパスを決定します。
デフォルトでは、このハッシュ値の計算には、IPヘッダの送信先IPアドレス、送信元IPアドレス、プロトコル番号、DSCP値を使用します。
ecmp-hash-key layer4コマンドを設定することで、上記のパラメータに加え、TCP/UDPヘッダの送信先ポート番号と送信元ポート番号も考慮してハッシュ値の計算します。

また、ECMPで使用可能なパスの上限はecmp-limit <ルート数>コマンドで変更可能です。

vEdge2

omp
 ecmp-limit <ルート数>
            

 

Centralized Control Policy適用前の状態確認

vEdge2でshow bfd sessionsコマンドを実行すると、インターネットと閉域網経由でオーバレイトンネルを構築して、BFDネイバーを確立していることが確認できます。

vEdge2

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

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

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 TLOCRestrictオプションは、指定した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

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

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

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をシャットダウンします。

vEdge2

vpn 0
 interface ge0/1
   shutdown
            

 

vEdge2でshow interfaceコマンドを実行すると、ge0/1がダウンしていることが確認できます。

vEdge2

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

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

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 TLOCRestrictオプションが無効なため、インターネットを使用してTelnetパケットの転送を継続できていることが確認できます。

vEdge2

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
            

コメント

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