IBGPとEBGP での疑問

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2015-11-30 20:02 | 最終変更
platina30  半人前   投稿数: 8
BGP で下記のような構成を作りましたが、R1のループバックからR3のループバックへping が飛びません。

調べていったところ、next-hop-self で解決できるようでしたが、ping疎通まではできませんでした。

どうして、ping が通らないのでしょうか?
また、どうしたらping が飛ぶようになるのでしょうか?
飛ばないのが普通なのでしょうか?
よろしくお願いいたします。

BGP は、RIPやOSPF等みたいに簡単にping が通らないのですね…
ピアが張れてもpingは飛ばないものなのでしょうか。

[トポロジ]
R1 --- R2 --- R3

R1 = AS100
R2 = AS100
R3 = AS200




[R1]
int loopback 0
ip address 1.1.1.1 255.255.255.255

int gi 0/0
ip address 192.168.12.1 255.255.255.0
no sh

router eigrp 100
network 192.168.12.0

router bgp 100
network 1.1.1.1 mask 255.255.255.255
neighbor 192.168.12.2 remote-as 100


[R2]
int loopback 0
ip address 2.2.2.2 255.255.255.255

int gi 0/0
ip address 192.168.12.2 255.255.255.0
no sh

int gi 1/0
ip address 192.168.23.2 255.255.255.0
no sh

router eigrp 100
network 192.168.12.0 0.0.0.255

router bgp 100
network 2.2.2.2 mask 255.255.255.255
neighbor 192.168.12.1 remote-as 100
neighbor 192.168.12.1 next-hop-self
neighbor 192.168.23.3 remote-as 200

[R3]
int loopback 0
ip address 3.3.3.3 255.255.255.255

int gi 0/0
ip address 192.168.23.3 255.255.255.0
no sh

router bgp 200
network 3.3.3.3 mask 255.255.255.255
neighbor 192.168.23.2 remote-as 100





以下は、R1で show コマンドを叩いた結果です。

[R1]
R1#sh ip bgp
BGP table version is 6, local router ID is 1.1.1.1

Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*>i 2.2.2.2/32 192.168.12.2 0 100 0 i
*>i 3.3.3.3/32 192.168.12.2 0 100 0 200 i


R1#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms


R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/28/36 ms


R1#sh ip bgp 3.3.3.3
BGP routing table entry for 3.3.3.3/32, version 5
Paths: (1 available, best #1, table default)
Not advertised to any peer
Refresh Epoch 1
200
192.168.12.2 from 192.168.12.2 (2.2.2.2)
Origin IGP, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0




試しに、R3 にて debug ip icmp を有効にしてみます
その後、R1からping を打ってみます。


R3#debug ip icmp
ICMP packet debugging is on



R1#ping 3.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

R3#
*Nov 30 19:40:58.379: ICMP: echo reply sent, src 3.3.3.3, dst 192.168.12.1, topology BASE, dscp 0 topoid 0
R3#
*Nov 30 19:41:00.415: ICMP: echo reply sent, src 3.3.3.3, dst 192.168.12.1, topology BASE, dscp 0 topoid 0
R3#
*Nov 30 19:41:02.403: ICMP: echo reply sent, src 3.3.3.3, dst 192.168.12.1, topology BASE, dscp 0 topoid 0
R3#
*Nov 30 19:41:04.403: ICMP: echo reply sent, src 3.3.3.3, dst 192.168.12.1, topology BASE, dscp 0 topoid 0
R3#
*Nov 30 19:41:06.423: ICMP: echo reply sent, src 3.3.3.3, dst 192.168.12.1, topology BASE, dscp 0 topoid 0




R1からR3までping が届いているものの、R3からR1へ届いていないようです。

R1からR3までping が通るようにするには、どうしたら良いでしょうか?

そもそもどうして、ping が通らないのでしょうか?
下記のようにeigrp の設定を追加することが一般的な解決手段でしょうか?
他に解決手段がありましたら教えて頂けると幸いです。

[R2]
router eigrp 100
network 192.168.23.0 0.0.0.255

[R3]
router eigrp 100
network 192.168.23.0 0.0.0.255




R3での ルーティングテーブルや BGP のshow 結果も記します。

R3#sh ip bgp

Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.23.2 0 100 i
*> 2.2.2.2/32 192.168.23.2 0 0 100 i
*> 3.3.3.3/32 0.0.0.0 0 32768 i




R3#sh ip route

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [20/0] via 192.168.23.2, 00:26:34
2.0.0.0/32 is subnetted, 1 subnets
B 2.2.2.2 [20/0] via 192.168.23.2, 00:26:03
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
192.168.23.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.23.0/24 is directly connected, GigabitEthernet0/0
L 192.168.23.3/32 is directly connected, GigabitEthernet0/0
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-11-30 20:33
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
以下は、R1で show コマンドを叩いた結果です。

R3での ルーティングテーブルや BGP のshow 結果も記します。
どうしてR2の情報はないのでしょうか?
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015-11-30 20:47
platina30  半人前   投稿数: 8
arashi1977さん

申し訳ありません。
こちらがR2の情報になります。
他に不明な点がありましたら教えて下さい。
よろしくお願いいたします。


R2#sh ip route
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [200/0] via 192.168.12.1, 00:02:10
2.0.0.0/32 is subnetted, 1 subnets
C 2.2.2.2 is directly connected, Loopback0
3.0.0.0/32 is subnetted, 1 subnets
B 3.3.3.3 [20/0] via 192.168.23.3, 00:02:10
192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.12.0/24 is directly connected, GigabitEthernet0/0
L 192.168.12.2/32 is directly connected, GigabitEthernet0/0
192.168.23.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.23.0/24 is directly connected, GigabitEthernet1/0
L 192.168.23.2/32 is directly connected, GigabitEthernet1/0




R2#sh ip bgp

Network Next Hop Metric LocPrf Weight Path
*>i 1.1.1.1/32 192.168.12.1 0 100 0 i
*> 2.2.2.2/32 0.0.0.0 0 32768 i
*> 3.3.3.3/32 192.168.23.3 0 0 200 i
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-11-30 21:00
antares01  長老   投稿数: 690
BGPに限らず、送信元は送信先の経路を学習していることが必要です。

R1からR3に届いていて、その戻りがこないのであれば、R3は応答に必要な経路をきちんと学習しているか見直してみてください。
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015-11-30 21:44
platina30  半人前   投稿数: 8
antares01さん

ご教授ありがとうございます。
R3のルーティングテーブルを見ると、戻りの経路(R1のインターフェース)へのルートがありません。

恐らくこれが原因だと思いますが、これだとBGPはstatic route や IGPで経路がないと使えないプロトコルなのでしょうか?
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-11-30 22:12 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
こちらがR2の情報になります。
他に不明な点がありましたら教えて下さい。
いえいえ、きちんと全部確認してるのかな?という意図でしたので。
確認されているのであれば大丈夫ですよ。

で、antares01さんも言及されていることですが、そもそも「戻りの経路情報がないと疎通は不可能」というのはCCNAレベルの時点で学習済みの話ですので、BGPに限ったものではないです。

引用:
恐らくこれが原因だと思いますが、これだとBGPはstatic route や IGPで経路がないと使えないプロトコルなのでしょうか?
ここがどういう意味かがわからないのですが…
・R1→R3にpingを打つとき、送出I/FであるR1 Gi0/0のアドレス(192.168.12.1)が送信元となるので、R3は192.168.12.0/24の経路情報を知らないと応答が返せない
・R3はBGPしか動いていないので、R2からもらうeBGP経路しか192.168.12.0/24を知る方法がない
・R2は192.168.12.0/24を広告していないので、最後はR3自身がこの経路を知る(=スタティックに設定する)しか経路情報を得る方法がない
というだけですよ?

EIGRPやRIPを例にしてみると、R2のGi1/0をpassive-interfaceとを対象にdistribute-list outでフィルタリングしている場合、どうなるかということを考えてみるとイメージできるでしょうか?

おまけ)
R1#ping 3.3.3.3 so lo0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/25/36 ms

R3#ping 1.1.1.1 so lo0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/32/44 ms
どうしてこれならping通るんでしょうね?
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-12-1 8:40 | 最終変更
antares01  長老   投稿数: 690
引用:
恐らくこれが原因だと思いますが
なぜpingが通らないのかという点では、それも原因の1つです。

引用:
これだとBGPはstatic route や IGPで経路がないと使えないプロトコルなのでしょうか?
そのようなことはありません。
BGPが経路を広報できるのには条件がありますが、その条件を満たすためにstaticやIGPが必要になる場合もあります。
ただ、今回のPingが通らないという問題点では関係ありません。

---

前にも書きましたが、宛先を知らないと通信ができません。
今回はR3が宛先を学習していません。
そうなると、方法としては
・R3が宛先を学習できるようにする
・R3が学習済みのアドレスを送信元にしてあげる
のどちらかになります。

詳しくはarashi1977さんの返信が参考になります。
せっかく実機やシミュレータがあるのであれば、もう少し色々と試してみてください。
そのほうが勉強になります。
(具体的にこうする、ああすると言うコメントは控えます)

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.