local-asの概要

local-asによって、特定のEBGPネイバーに対して本来のAS番号以外のASでBGPネイバーを確立しルートを交換できます。ISPの統合などでAS番号を変更したいが、ネイバー側で設定がまだ行われないようなときなどにlocal-asによって、新旧のAS番号の移行をスムーズに行うことができます。

以下の図は、local-asの概要です。

図 local-asの概要
図 local-asの概要

この図のR1は、AS100からAS1000へとAS番号を変更したことを想定しています。ただし、ISP1側ではまだR1のAS番号の変更に対応できていずに、R1のAS番号を100として設定しています。R1は、local-asによってISP1に対してはAS100であるかのように振る舞うことができます。

local-as設定時のAS_PATHアトリビュート

local-asによって、他のAS番号をエミュレートしているとき、ルートのAS_PATHアトリビュートは次のようになります。

  • ルートの送信:AS_PATHのプリペンドは、[古いAS番号] [新しいAS番号]で行われる
  • ルートの受信:AS_PATHに[古いAS番号]が追加でプリペンドされる
図 local-as設定時のAS_PATHアトリビュート
図 local-as設定時のAS_PATHアトリビュート

local-asの設定

lobal-asの設定は、BGPのコンフィグレーションモードで以下のコマンドを利用します。

local-asの設定

Router(config)#router bgp <AS-num1>
Router(config-router)#neighbor <ip-address> local-as <AS-num2>

<AS-num1> : AS番号
<ip-address> : ネイバーのIPアドレス
<AS-num2> : ネイバーに対してみせかけるAS番号

local-asの設定例

local-asの設定例をみていきましょう。

図 local-asの確認用トポロジ
図 local-asの確認用トポロジ

この図のISP1ではR1のAS番号を100として認識して、下記のようなBGP設定を行っています。

ISP1 BGP設定

router bgp 1
 bgp log-neighbor-changes
 network 100.1.1.0 mask 255.255.255.0
 network 100.1.2.0 mask 255.255.255.0
 network 100.1.3.0 mask 255.255.255.0
 neighbor 172.16.1.1 remote-as 100
 no auto-summary

R1では、実際にはAS1000へとAS番号が変わっているのですが、local-asでISP1に対してAS100であるように設定します。

R1 local-as設定

router bgp 1000
 neighbor 172.16.1.11 remote-as 1
 neighbor 172.16.1.11 local-as 100
 network 100.100.1.0 mask 255.255.255.0
 network 100.100.2.0 mask 255.255.255.0
 network 100.100.3.0 mask 255.255.255.0

R1でBGPネイバーを確認すると、正常にISP1とのネイバーが確立されています。

R1 ネイバーの確認

R1#show ip bgp summary
~省略~
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.1.11     4     1       8       8        7    0    0 00:03:49        3

また、R1でBGPテーブルを見ると次のようになります。

R1 BGPテーブル

R1#show ip bgp
~省略~
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.1.0/24     172.16.1.11              0             0 100 1 i
*> 100.1.2.0/24     172.16.1.11              0             0 100 1 i
*> 100.1.3.0/24     172.16.1.11              0             0 100 1 i
*> 100.100.1.0/24   192.168.13.3             2         32768 i
*> 100.100.2.0/24   192.168.13.3             2         32768 i
*> 100.100.3.0/24   192.168.13.3             2         32768 i

ISP1から受信したルートには、local-asで指定したAS番号が追加でプリペンドされていることがわかります。

そして、ISP1のBGPテーブルを見ると次のようになっています。

ISP1 BGPテーブル

ISP1#show ip bgp
~省略~
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.1.0/24     0.0.0.0                  0         32768 i
*> 100.1.2.0/24     0.0.0.0                  0         32768 i
*> 100.1.3.0/24     0.0.0.0                  0         32768 i
*> 100.100.1.0/24   172.16.1.1               2             0 100 1000 i
*> 100.100.2.0/24   172.16.1.1               2             0 100 1000 i
*> 100.100.3.0/24   172.16.1.1               2             0 100 1000 i

ISP1でR1から受信するルートのAS_PATHアトリビュートが「100 1000」となり、local-asで指定したAS番号が追加でプリペンドされています。

BGPの仕組み