2012年1月14日土曜日

MPLS VPN


MPLS VPN


MPLS VPNとは、
MPLSを利用して、拠点間で仮想専用線を確立し拠点間で通信可能にする技術です。ISPで提供されているIP-VPNはこの技術を採用している会社が多いようです。
MPLS VPNでは、各顧客の識別子であるRD(ルート識別子)を使用して他の顧客のルーティング情報を論理的に分割されております。その為、高いセキュリティを確保する事も可能です。
又、各顧客のルーティング情報はPEルータ同士でMP-BGPを確立されて交換する為、MPLSネットワーク内のPルータにはあまり負荷がかからない。


※MPLS VPNの技術について

今回は、MPLS VPNの設定について説明します。

■ MPLS VPNの設定

(1) 全体的なMPLS VPNの設定の流れ

①PEルータの設定

②Pルータ(MPLSネットワーク内)の設定

③PEルータ間でMP-BGPを確立させる為の設定

④CEとPE間のルーティング設定

の4ステップです。



(2) 各ステップの設定

①PEルータの設定

RouterPE(config)# ip vrf { 仮想ルータ名 }
RouterPE(config-vrf)# rd { RD値 }
RouterPE(config-vrf)# route-target { export | import | both  } { RD値 } 
RouterPE(config-vrf)# exit
RouterPE(config)# interface { インターフェース名 }
RouterPE(config-if)# ip vrf forwarding {仮想ルータ名}
>上記のコマンドを入力すると、物理IPアドレスが削除される為再度設定が必要
RouterPE(config-if)# ip address { 物理IPアドレス } { MACアドレス }
RouterPE(config-if)# no shutdown


②Pルータ(MPLSネットワーク内)の設定

RouterP(config)# ip cef
RouterP(config)# interface { インターフェース名 }
RouterP(config-if)# mpls ip
RouterP(config-if)# exit
RouterP(config)# router ospf { プロセス番号 } //OSPFの場合。以下省略


③PEルータ間でMP-BGPを確立させる為の設定]

RouterPE(config)# interface loopback { ループバック番号 }
RouterPE(config-if)#ip address { BGPピアを張るIPアドレス } { MACアドレス }
RouterPE(config-if)#no shutdown
RouterPE(config-if)#exit
RouterPE(config)#router bgp { AS番号 }
RouterPE(config-router)#no bgp default ipv4-unicast
>MPLS VPNでは、VPNv4アドレスを使用する為従来のIPv4アドレスのやり取りを強制的に止める
RouterPE(config-router)#neighbor { BGPピアを張る為のBGPピアIPアドレス(ループバックアドレス) } remote-as 1
RouterPE(config-router)#neighbor { BGPピアを張る為のBGPピアIPアドレス(ループバックアドレス) }  update-source { ピアを張る際に使用するループバックアドレス }
RouterPE(config-router)#address-family { ipv4 | ipv6 | vpnv4 | nsap }
RouterPE(config-router-af)#neighbor  { BGPピアを張るIPアドレス }  activate 


④CEとPE間のルーティング設定

(1) スタティックルーティングによる再配送版

RouterPE(config)#ip route vrf { 仮想ルータ名 } { ネットワークアドレス} { MACアドレス } { 送出するインタフェース | ピアアドレス }
>例 ネットワークアドレス = 192.168.1.0 送出されるインターフェースがser0/0の場合は、192.168.1.0宛てのネットワークはser0/0に送るという意味。
RouterPE(config)#router bgp 1
RouterPE(config-router)#address-family ipv4 vrf { 仮想ルータ名 } 
RouterPE(config-router-af)#redistribute static


(2) OSPFによる再配送版

RouterPE(config)# router ospf { プロセス番号 } vrf { 仮想ルータ名 }
RouterPE(config-router)# network { ネットワークアドレス } { ワイルドカードマスク } area { エリア番号 }
RouterPE(config-router)# redistribute bgp { AS番号 } metric { メトリック数 } [ subnets ]
RouterPE(config-router)# exit
RouterPE(config)#router bgp { AS番号 }
RouterPE(config-router)# address-family ipv4 vrf { 仮想ルータ名 }
RouterPE(config-router-af)# redistribute ospf { プロセス番号 } vrf { 仮想ルータ名 }



※ コマンド例や検証コマンドは、以下のラボで

MPLS VPNラボ(スタティックルート)

MPLS VPNラボ(OSPF版)