Viptela オーバレイでのNAT

今回は、LANから受信したパケットをオーバレイトンネルに転送する際に、NATによりパケットの送信元アドレスを変換する方法を説明します。

概要

オーバレイでのNAT

CiscoのレガシーなルータのNATと比較すると、ViptelaのオーバレイでのNATはかなりイメージが異なっています。

Viptelaでは、NATで使用するアドレスプールをNAT Poolインタフェースとして設定します。
そして、Centralized Control Policyを使用して、NAT対象のパケットをNAT Poolインタフェースに強制的にリダイレクトすることで、パケットのアドレスを変換できます。

 

戻りのパケットの送信先アドレスはNAT変換後のアドレスで、NAT Poolインタフェースに設定したアドレスプールに含まれます。
他のvEdgeがNATのアドレスプール宛のパケットをオーバレイに転送できるように、NAT Poolインタフェースのルート情報はOMP経由で他のvEdgeに自動的に広報されます。

 

検証環境、内容

検証内容

vEdge2で20.2.2.0/24を割り当てたNAT Poolインタフェースを作成します。
そして、LANからオーバレイにパケットを転送する際に、パケットをNAT Poolインタフェースにリダイレクトし、パケットの送信元アドレスを変換します。

R2からR1に対して、Telnetを実施し、パケットの送信元アドレスが変換されていることを確認します。

 

物理/論理構成

 

オーバレイネットワーク構成

 

初期設定


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
 !
 ip route 0.0.0.0/0 172.16.1.254
!
vpn 10
 interface ge0/1
  ip address 10.1.1.1/24
  no shutdown
!
policy
 app-visibility
            


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
 !
 ip route 0.0.0.0/0 172.16.2.254
!
vpn 10
 interface ge0/1
  ip address 20.1.1.2/24
  no shutdown
            


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
            

 

設定、状態確認

Centralized Control Policy適用前の疎通確認

R2からR1に対して、Telnetを実施します。

 

vEdge1でshow app dpi flows detailコマンドを実行すると、vEdge1がオーバレイトンネルから受信したパケットの送信元アドレスはR2の実アドレスである20.1.1.12であることが確認できます。

vEdge1

vEdge1# show app dpi flows detail
app dpi flows vpn 10 20.1.1.12 10.1.1.11 38913 23 tcp
 application  telnet
 family       Terminal
 active-since 2020-04-08T22:14:40+00:00
 packets      27
 octets       1179
 tunnels-in 1
  local-tloc TLOC IP 1.1.1.1
  local-tloc color biz-internet
  local-tloc encap ipsec
  remote-tloc TLOC IP 2.2.2.2
  remote-tloc color biz-internet
  remote-tloc encap ipsec
  packets    12
  octets     521
  start-time 2020-04-08T22:14:46+00:00
 tunnels-out 1
  local-tloc ip 1.1.1.1
  local-tloc color biz-internet
  local-tloc encap ipsec
  remote-tloc TLOC IP 2.2.2.2
  remote-tloc color biz-internet
  remote-tloc encap ipsec
  packets    15
  octets     658
  start-time 2020-04-08T22:14:40+00:00
            

 

vEdge2にNAT Poolインタフェースを追加

vEdge2ではinterface natpool<番号>コマンドNAT Poolインタフェースを作成します。
NAT用のアドレスプールはip address <ネットワークアドレス>/<プレフィックス長>コマンドで指定します。
NAT PoolインターフェースでNATを有効にするために、natコマンドを設定します。

directionコマンドはNATを適用するトラフィックの方向を指定するコマンドです。
insideオプションの場合はService SideからTransport Sideへのトラフィック、outsideオプションの場合はTransport SideからService Sideへのトラフィックに対してNATを適用します。

vEdge2

vpn 0
 interface natpool1
  ip address 20.2.2.0/24
  nat
   direction inside
  !
  no shutdown
            

 

VPN Listの確認

VPN Listで、Traffic Data Policyの適用先のVPNのIDを指定します。

 

Site Listの確認

Site Listで、Traffic Data Policyの適用先のSiteのIDを指定します。

 

Traffic Data Policyの確認

NAT PoolインタフェースにパケットをリダイレクトするためのアクションはNAT Poolになります。
NAT Poolアクションでリダイレクト先のNAT Poolインタフェースの番号を指定します。

 

Default ActionにはAcceptを設定します。

 

Centralized Control Policyの確認

Traffic Rules > Traffic DataからCentralized Control PolicyにNAT用のTraffic Data Policyをインポートしておきます。

 

Policy Application > Traffic DataからインポートしたTraffic Data Policyの適用先のSiteとVPNを指定します。

 

vSmartのCentralized Control Policyの設定確認

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
    !
    action accept
     nat pool 1
    !
   !
   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
            

 

vEdge2のCentralized Control Policyの情報確認

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
   action accept
    nat pool 1
  default-action accept
from-vsmart lists vpn-list VPN_10
 vpn 10
            

 

Centralized Control Policy適用後の疎通確認

R2からR1に対して、Telnetを実施します。

 

vEdge1でshow app dpi flows detailコマンドを実行すると、vEdge1がオーバレイトンネルから受信したパケットの送信元アドレスはR2の実アドレスではなく、NATにより20.2.2.1に変換されていることが確認できます。

vEdge1

vEdge1# show app dpi flows detail
app dpi flows vpn 10 20.2.2.1 10.1.1.11 27649 23 tcp
 application  telnet
 family       Terminal
 active-since 2020-04-08T22:24:48+00:00
 packets      46
 octets       1970
 tunnels-in 1
  local-tloc TLOC IP 1.1.1.1
  local-tloc color biz-internet
  local-tloc encap ipsec
  remote-tloc TLOC IP 2.2.2.2
  remote-tloc color biz-internet
  remote-tloc encap ipsec
  packets    22
  octets     946
  start-time 2020-04-08T22:24:48+00:00
 tunnels-out 1
  local-tloc ip 1.1.1.1
  local-tloc color biz-internet
  local-tloc encap ipsec
  remote-tloc TLOC IP 2.2.2.2
  remote-tloc color biz-internet
  remote-tloc encap ipsec
  packets    24
  octets     1024
  start-time 2020-04-08T22:24:48+00:00
            

 

vEdge2でshow ip nat filterコマンドを実行すると、vEdge2がパケットの送信元アドレスを20.1.1.12から20.2.2.1に変換していることが確認できます。

vEdge2

vEdge2# show ip nat filter

                              PRIVATE    PRIVATE    PRIVATE  PRIVATE  PUBLIC    PUBLIC     PUBLIC  PUBLIC
NAT  NAT                      SOURCE     DEST       SOURCE   DEST     SOURCE    DEST       SOURCE  DEST    FILTER       IDLE        OUTBOUND  OUTBOUND  INBOUND  INBOUND
VPN  IFNAME    VPN  PROTOCOL  ADDRESS    ADDRESS    PORT     PORT     ADDRESS   ADDRESS    PORT    PORT    STATE        TIMEOUT     PACKETS   OCTETS    PACKETS  OCTETS   DIRECTION
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10   natpool1  10   tcp       20.1.1.12  10.1.1.11  27649    23       20.2.2.1  10.1.1.11  27649   23      established  0:00:59:44  24        1460      22       3740     -
            

 

vEdge1でshow ip route vpn <VPNのID>コマンドを実行すると、vEdge1がvEdge2のNAT Poolインタフェースのルート情報を学習していることが確認できます。

vEdge2

vEdge1# 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     connected  -         0       ge0/1    -        -        -             -      -        F,S
10   ipv4     20.1.1.0/24  0     omp        -         0       -        -        2.2.2.2  biz-internet  ipsec  -        F,S
10   ipv4     20.2.2.0/24  0     omp        -         0       -        -        2.2.2.2  biz-internet  ipsec  -        F,S
            

コメント

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