BGP 認証と local-as no-prepend の機能
条件
・R2 R3 間でBGP認証の設定をしてください。
・R4 が R3 をネイバーをする際 AS400 ではなく AS100 として確立するように設定
してください。また R3 の他のネイバーに AS100 が広報されないようにしてください。

トポロジ


まず下記設定からスタートです。

R1
interface f0/0
ip address 12.12.12.1 255.255.255.0

interface lo0
ip address 11.11.11.11 255.255.255.0

router ospf 1
network 12.12.12.0 0.0.0.255 area 0

router bgp 300
neighbor 12.12.12.2 remote-as 300
network 11.11.11.0 mask 255.255.255.0

R2
interface f0/0
ip address 12.12.12.2 255.255.255.0

interface f0/1
ip address 23.23.23.2 255.255.255.0

router ospf 1
network 12.12.12.0 0.0.0.255 area 0
network 23.23.23.0 0.0.0.255 area 23

router bgp 300
neighbor 12.12.12.1 remote-as 300
neighbor 12.12.12.1 next-hop-self
neighbor 23.23.23.3 rmeote-as 400

R3
interface f0/0
ip address 34.34.34.3 255.255.255.0

interface 0/1
ip address 23.23.23.3 255.255.255.0

router ospf 1
network 23.23.23.0 0.0.0.255 area 23

router rip
version 2
network 34.34.34.0
redistribute ospf 1 metric 3

router bgp 400
neighbor 23.23.23.2 remote-as 400
neighbor 34.34.34.4 remote-as 54
redistribute rip subnets

R4
interface f0/0
ip address 34.34.34.4 255.255.255.0

interface lo0
ip address 44.44.44.0 255.255.255.0

router rip
version 2
network 34.34.34.0

router bgp 54
neighbor 34.34.34.3 remote-as 400
network 44.44.44.0 mask 255.255.255.0



IGP の設定は特になんでもいいですが、とりあえず、R1 のlo0 と R4 の Lo0
同士が通信できるようにしています。でまずは下記の条件からやっちゃいます。

・R2 R3 間でBGP認証の設定をしてください。
参考:
http://www.cisco.com/cisco/web/support/JP/109/1099/1099006_configure-md5-bgp-00.html


R2
router bgp 300
neighbor 23.23.23.3 password cisco

R3
router bgp 400
neighbor 23.23.23.2 password cisco


簡単ですね。片方しか設定してない状態だと下記にようなエラーが吐かれます。

*Apr 27 14:35:08.031: %TCP-6-BADAUTH: No MD5 digest from 23.23.23.2(35264) to 23.23.23.3(179)
*Apr 27 14:35:08.043: %TCP-6-BADAUTH: No MD5 digest from 23.23.23.2(35264) to 23.23.23.3(179)
*Apr 27 14:35:30.791: %TCP-6-BADAUTH: No MD5 digest from 23.23.23.2(35264) to 23.23.23.3(179)
*Apr 27 14:35:30.795: %TCP-6-BADAUTH: No MD5 digest from 23.23.23.2(35264) to 23.23.23.3(179)

BGP のネイバーが MD5認証になっているかどうかを確認するには下記で確認します。

まず、sh tcp brief にて TCPセッション?を確認します。


R3#sh tcp brief
TCB Local Address Foreign Address (state)
658CD474 34.34.34.3.25407 34.34.34.4.179 ESTAB
658C8430 23.23.23.3.46192 23.23.23.2.179 ESTAB

R3とR4 のセッションなので一行目のエントリですね。
次に上記 TCB の値にて sh tcp tcb コマンドを確認します。

R3#sh tcp tcb 658C8430

SRTT: 226 ms, RTTO: 877 ms, RTV: 651 ms, KRTT: 1754 ms
minRTT: 44 ms, maxRTT: 340 ms, ACK hold: 200 ms
Flags: active open, nagle, md5
IP Precedence value : 6

すると上記赤字で md5 と表示されることで MD5認証であることがわかります。


はい。次の条件いきます。

・R4 が R3 をネイバーをする際 AS400 ではなく AS100 として確立するように設定
してください。また R3 の他のネイバーに AS100 が広報されないようにしてください。

まずは現状の設定として、R3(AS400) と R4(AS54) がネイバーの状態になっています。
R4 から R3 を見たときに AS100 とネイバーとなるように仕向けてやる必要があります。

R4#sh ip bgp
BGP table version is 33, local router ID is 34.34.34.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 11.11.11.0/24    34.34.34.3                             0 400 300 i
*> 44.44.44.0/24    0.0.0.0                  0         32768 i


現状 R4 は AS400 とネイバーとなっていますので、それを AS100 を見るように変えてやります。

R4
router bgp 54
no neighbor 34.34.34.3 remote-as 400
neighbor 34.34.34.3 remote-as 100


そうすると当然ネイバーが途切れますので、今度は R3 にて R4 宛には
AS100 としてネイバーとなるように下記の設定をしてやります。

R3
router bgp 400
neighbor 34.34.34.4 local-as 100

参考:
http://www.cisco.com/cisco/web/support/JP/100/1008/1008062_39-j.html

これで、R3,R4 が再び AS100 - AS54 でネイバーとなりました。

R4 にて sh ip bgp を確認します。


R4#sh ip bgp
*Apr 27 15:25:02.875: %SYS-5-CONFIG_I: Configured from console by console
R4#sh ip bgp
BGP table version is 35, local router ID is 34.34.34.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path

*> 11.11.11.0/24    34.34.34.3                             0 100 400 300 i

*> 44.44.44.0/24    0.0.0.0                  0         32768 i



先ほどと比べると、R4 から R1 の lo0 へ行くためには AS100→400→300 となり、
まず AS100 を経由するようになりました。

また R3 にて sh ip bgp を確認しますと、


R3#sh ip bgp
BGP table version is 3, local router ID is 34.34.34.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 11.11.11.0/24    23.23.23.2                             0 300 i

*> 44.44.44.0/24    34.34.34.4               0             0 100 54 i




R3 から 44.44.44.0 へ行くには AS100 を経由していることがわかります。
イメージとしては AS400 と AS54 の間に AS100 がはさまる感じなんですかね。

ただ、この設定だと "R3 の他のネイバーに AS100 が広報されないようにしてください。"
の条件が満たされていません。R1 にて sh ip bgp を見てみます。


R1#sh ip bgp
BGP table version is 47, local router ID is 12.12.12.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 11.11.11.0/24    0.0.0.0                  0         32768 i

*>i44.44.44.0/24    12.12.12.2               0    100      0 400 100 54 i


R1 にて AS100 が見えてしまっておりますので、これを見えないようにします。

R3
router bgp 400
neighbor 34.34.34.4 local-as 100 no-prepend


no-prepend についてはいいリンクが見つからないですが、これをつけないと
指定したネイバー以外にも AS100 が AS400 と AS54 にはさまれた状態で広報される
ようです。

no-prepend の状態で R3 にて sh ip bgp を見てみます。


R3#sh ip bgp
BGP table version is 11, local router ID is 34.34.34.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 11.11.11.0/24    23.23.23.2                             0 300 i

*> 44.44.44.0/24    34.34.34.4               0             0 54 i


上のほうに no-prepend なしの sh ip bgp が載っていますが、そちらとくらべると
"100 54 i" ではなく "54 i" となっていることがわかります。
確かに AS100 が R4 以外では存在していないことがわかります。

一応載せますが、R4 ではしっかり AS100 が存在していることがわかります。


R4#sh ip bgp
BGP table version is 49, local router ID is 34.34.34.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 11.11.11.0/24    34.34.34.3                             0 100 400 300 i
*> 44.44.44.0/24    0.0.0.0                  0         32768 i

no-prependあり no-prependなし
R1(R4あて) 400 54 i 400 100 54 i
R2(R4あて) 400 54 i 400 100 54 i
R3(R4あて) 54 i 100 54 i
R4(R1あて) 100 400 300 i 100 400 300 i


更新日:2013年4月27日
TOPに戻る