bgp 확인 사이트
https://bgplay.massimocandela.com/
나의 as번호
IGP- RIP,EIGRP,OSPF,ISIS
하나의 as로 표현됨
EGP - BGP - eBGP / iBGP
여러개의 as로 표현
AS 라는 하나의 거대한 가상 라우터간의 동작으로 라우팅이 이뤄진다
양 끝단에 있는 라우터끼리 eBGP 연결
서로 다른 AS 정보 전달
eBGP 엣지라우터
구간 사이사이 라우터끼리 IBGP 연결
서로 같은 AS 정보 전달

eBGP 설정
R1(config)#router bgp 100
R1(config-router)#neighbor 1.1.12.2 remote-as 200
R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#router bgp 200
R2(config-router)#neighbor 1.1.12.1 remote-as 100
R2(config-router)#network 2.2.2.0 mask 255.255.255.0
R3(config)#router bgp 300
R3(config-router)#neighbor 1.1.23.1 remote-as 200
R3(config-router)#network 3.3.3.0 mask 255.255.255.0
R3#ping 1.1.1.1 source l0
R1에서 확인
sh ip bgp
bgp에 올라와있기 때문에 소스 핑 가능
PC2(192.168.10.2)에서 PC1(8.8.8.8)로 핑테스트 해보기
BGP 특성으로 모든 대역을 학습 할 필요는 없음
1.1.23.0/24대역을 학습하지 않아도 핑 전송 가능
테스트 하고자 하는 구간만 bgp table에 올려서 학습
R1(config)#router bgp 100
R1(config-router)#network 192.168.10.0 mask 255.255.255.0 #PC2 대역 학습
R3(config)#router bgp 300
R3(config-router)#network 8.8.8.0 mask 255.255.255.0 #PC1 대역 학습
성공확인
R1(config-router)#no network 192.168.10.0 mask 255.255.255.0
R1(config-router)#redistribute connected
기존꺼 취소 후
R1에서 C(connected)로 연결된것을 BGP table에 올림

route-map으로 connected로 연결할 것을 제한
R1(config)#route-map BGP_G1/0
R1(config-route-map)#match interface gigabitEthernet 1/0
R1(config)#router bgp 100
R1(config-router)#redistribute connected route-map BGP_G1/0
route map 이름 BGP_G1/0로 설정
Route Map 내에서 g1/0 인터페이스와 연결된 경로만 배포하도록 조건을 지정
모든 직접 연결된 경로를 배포하는 것이 아닌 route-map BGP_G1/0에 정의된 조건을 만족하는 경로만 배포

PC2에서 외부(8.8.8.8) 핑 성공하기
nat설정 후 0.0.0.0 대역 BGP table에 올려서 학습시키기
R3(config-router)#redistribute static
R3(config-router)#default-information originate
R1에서 0.0.0.0 대역 학습 확인
핑 테스트 확인

기존 랩에서 초기화 후 시작
R1(config)#no router bgp 100
R1(config)#router bgp 100
R1(config-router)#neighbor 1.1.12.2 remote-as 100
R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#no router bgp 200
R2(config)#router bgp 100
R2(config-router)#neighbor 1.1.12.1 remote-as 100
R2(config-router)#network 2.2.2.0 mask 255.255.255.0
R1에서 확인
R1(config-router)#do sh ip bgp
i는 ibgp를 의미
LocPrf는 Local Preference 를 의미
기존 이웃 삭제후 진행
R1(config-router)#no neighbor 1.1.12.2 remote-as 100
R1(config-router)#neighbor 2.2.2.2 remote-as 100
R1(config-router)#neighbor 2.2.2.2 update-source loopback 0
출발지를 loopback 0 로 설정
R2(config-router)#no neighbor 1.1.12.1 remote-as 100
R2(config-router)#neighbor 1.1.1.1 remote-as 100
R2(config-router)#neighbor 1.1.1.1 update-source loopback 0
출발지를 loopback 0 로 설정
1.1.1.0 은 자신의 loopback
주로 loopback은 static으로 설정
다른 라우팅 프로토콜로 설정해도 무방
R1(config)#ip route 2.2.2.0 255.255.255.0 1.1.12.2
R2(config)#ip route 1.1.1.0 255.255.255.0 1.1.12.1
R2의 l0(2.2.2.2)가 이웃이 된것을 확인
기본값이 1인 홉수를 2로 설정
R1(config-router)#neighbor 2.2.2.2 ebgp-multihop 2
R2(config-router)#neighbor 1.1.1.1 ebgp-multihop 2
ebgp-multihop 2는 두 라우터가 최대 2개의 홉을 통해 연결될 수 있음을 의미

서로 다른 BGP 연결 후 R1에서 각 loopback 0로 핑 테스트
R1(config)#router bgp 100
neighbor 1.1.12.2 remote-as 200
neighbor 1.1.14.2 remote-as 400
R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2#(config)router bgp 200
neighbor 1.1.12.1 remote-as 100
neighbor 1.1.23.2 remote-as 300
network 2.2.2.0 mask 255.255.255.0
R3#(config)router bgp 300
neighbor 1.1.23.1 remote-as 200
neighbor 1.1.34.2 remote-as 400
network 3.3.3.0 mask 255.255.255.0
R4#(config)router bgp 400
neighbor 1.1.14.1 remote-as 100
neighbor 1.1.34.1 remote-as 300
network 4.4.4.0 mask 255.255.255.0

R5
int g2/0
ip ospf network point-to-point
router ospf 1
router-id 5.5.5.5
redistribute bgp 100 subnets
network 5.5.5.0 0.0.0.255 area 0
network 192.168.15.0 0.0.0.255 area 0
R1
int g2/0
ip ospf network point-to-point
router ospf 1
router-id 1.1.1.1
network 192.168.15.0 0.0.0.255 area 0
default-information originate always
router bgp 100
redistribute ospf 1
R5# sh ip route
아직 돌아오는 정보를 받을 수 없음
돌아오는 정보 설정
R6(config)#ip route 0.0.0.0 0.0.0.0 192.168.36.1
돌아오는 정보 설정
R3(config-router)#redistribute eigrp 1
보내는 정보 설정
R7(config)#ip route 0.0.0.0 0.0.0.0 192.168.47.1
돌아오는 정보 설정
R4(config-router)#redistribute rip