- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
2016-07-27 03:31 PM 2019-03-22 07:09 AM 更新
異なるVRF間でNATを実行したい場合には、NVI(Nat Virtual Interface)を使用する必要があります。
VRFとグローバルとの間または同一VRFの内部でのNATは従来方式でNATが行えます。
ここではNVIを用いたNATを紹介します。
なお、ISR(IOS)では異なるVRF間のNATするにはNVIを使用しますが、
ASR1000(IOS-XE)ではVASIを使用します。ASR1000にはNVIはありません。
VASIはこちらをご参照ください。
【ASR1000】VASIとNATの設定例
NW構成
目的
R203でVRFを設定して、異なるVRFであるA-X間、B-X間でNATを行います。
つまりは、R201-R204間とR202-R204間でPing疎通を確認します。
R203で意図的にルーティング設定はしませんが、
R202、R201、R204ではデフォルトルートをR203へ向けます。
R203の設定(抜粋)
ip vrf A
!
ip vrf B
!
ip vrf X
!
interface Ethernet0/0
ip vrf forwarding B
ip address 192.168.1.25 255.255.255.0
ip nat enable
!
interface Ethernet0/1
ip vrf forwarding A
ip address 192.168.2.25 255.255.255.0
ip nat enable
!
interface Ethernet0/2
ip vrf forwarding X
ip address 172.30.1.242 255.255.255.0
ip nat enable
!
ip nat pool pool1 192.168.33.1 192.168.33.10 netmask 255.255.255.0 add-route
ip nat source list 1 pool pool1 vrf A
ip nat source list 1 pool pool1 vrf B
ip nat source static 172.30.1.241 192.168.33.33 vrf X
!
!
!
access-list 1 permit 192.168.2.0 0.0.0.255
access-list 1 permit 192.168.1.0 0.0.0.255
!
!
解説
ip nat enableを設定すると自動的にNVI0が追加されます。
VRF間の通信はこのNVI0を介して行います。
R201、R202、R204からの通信はNVI0にルーティングされる必要があります。
192.168.33.0/24という架空のセグメントを想定します。
VRF間を繋ぐようなセグメントのイメージかと思います。
送信元及び宛先をこのセグメントのアドレスでNATします。
ip nat pool pool1 192.168.33.1 192.168.33.10 netmask 255.255.255.0 add-route
を設定しますと、
Globalを含め各VRFのルーティングテーブルに
S 192.168.33.0/24 [0/0], NVI0
が設定されます。
送信元NAT:
こちらで送信元をNATします。
送信元アドレスがaccess-list1に該当した通信をpool1でNATします。
ip nat source list 1 pool pool1 vrf A
ip nat source list 1 pool pool1 vrf B
※overload付けても可
宛先NAT:
R202からは192.168.33.33宛てにPingを送信するものとします。
192.168.33.33はNATされて172.30.1.241となり、R204に届きます。
こちらの設定で宛先をNATします。
ip nat source static 172.30.1.241 192.168.33.33 vrf X
結果
R202から192.168.33.33宛てにPingを送信します。
R203でデバッグを取得してみると、次のようになります。
行き
*Jul 27 02:23:36.091: NAT*: i: icmp (192.168.2.1, 14) -> (192.168.33.33, 14) [70]
*Jul 27 02:23:36.091: NAT*: s=192.168.2.1->192.168.33.1, d=192.168.33.33 [70]
*Jul 27 02:23:36.091: NAT*: s=192.168.33.1, d=192.168.33.33->172.30.1.241 [70]
帰り
*Jul 27 02:23:36.093: NAT*: i: icmp (172.30.1.241, 14) -> (192.168.33.1, 14) [73]
*Jul 27 02:23:36.093: NAT*: s=172.30.1.241->192.168.33.33, d=192.168.33.1 [73]
*Jul 27 02:23:36.093: NAT*: s=192.168.33.33, d=192.168.33.1->192.168.2.1 [73]
詳しく見てみると、
行きのNAT下記は、ip nat source list 1 pool pool1 vrf A に対応して、送信元NATしています。
*Jul 27 02:23:36.091: NAT*: s=192.168.2.1->192.168.33.1, d=192.168.33.33 [70]
行きのNAT下記は、ip nat source static 172.30.1.241 192.168.33.33 vrf Xに対応して、宛先をNATしています。
*Jul 27 02:23:36.091: NAT*: s=192.168.33.1, d=192.168.33.33->172.30.1.241 [70]
帰りは逆になります。
R201からも192.168.33.33へのPingが可能になります。
異なるVRFを跨いでNATを用いた通信ができました。
参考資料
以上