-
5주차 3일 (3/22)네트워크 보안 전문가 과정/5주차 2023. 3. 27. 08:49
>> BGP Attribute (399.p)
>> BGP가 Neighbor에게 경로를 광고할 때, 포함하는 인자를 Attribute라고 합니다.
routing Protocol이 최적 경로를 선택하는 기준
RIP > 거리
EIGRP > Bandwidth, Delay
OSPF > Bandwidth
BGP > Attributes
********BGP가 2개의 경로중 최적 경로를 선택하는 Attribute 순서 ********
1. Weight (433.p)
> 경로선택 조건 1번
> 아무런 의미가 없는 값 (자신이 광고한 경로에는 32768을 붙임)
> 높은 값을 우선시함
> IBGP, EBGP neighbor에게 전달하지 않음(Local에서만 사용)
> Outbound Traffic을 조정하는 용도로 사용됨 (route-map XXXX in)
예) KT로부터 받는 경로에 weight 100을 붙이고,
LGU+로 부터 받는 경로에 weight 200을 붙이면 -> 이쪽으로 빠져나감
2. Local Preference
> 경로선택 조건 2번
> 아무런 의미가 없는 값 (IBGP로 주는 경우에만 100이 붙음)
> 높은 값을 우선시함
> IBGP neighbor에게 전달(EBGP로는 전달안함)
> Outbound Traffic을 조정하는 용도로 사용됨 (route-map XXXX in)
> 기준값이 100이기 때문에 100을 기준으로 적용 (ex. 101, 99)
3. Next-hope(0.0.0.0)
> 경로선택 조건 3번
> 0.0.0.0으로 되어 있는 경로를 우선시(자신이 광고한 경로)
> (경로선택에는 영향이 없음) ---> weight값이 있음
>> Next-hop의 도달가능성 확인(Next-hole-self)
4. AS-path (408.p)
> 경로선택 조건 4번
> 경로가 지나온 AS의 정보
> 짧은 경로를 우선시
> IBGP, EBGP neighbor에게 전달
(그러나 AS를 빠져나가는 경우에만 자신의 AS를 추가함)
> EBGP에서 routing loop를 방지하는 용도로도 사용
**IBGP는 Split-horizon을 사용**
> Inbound Traffic을 조정하는 용도로 사용됨 (route-map XXXX out)
> 기준값이 100이기 때문에 100을 기준으로 적용 (ex. 101, 99)
5. Origin Code
> 경로선택 조건 5번
> 경로가 BGP로 유입된 방식을 알려주는 인자
network command >> i
redistribute command >> ?
> i>? 우선시함
> IBGP, EBGP neighbor에게 전달
> Inbound Traffic을 조정하는 용도로 사용됨 (route-map XXXX out)
(받는 사람 입장에서는 AS path가 우선시 되기 때문에 사용하기 어려움)
6. MED
> 경로선택 조건 6번
> 아무런 의미가 없는 값 (BGP의 metric이라고 함)
> 낮은 값을 우선시함
> Default값이 0임
EBGP, IBGP에게 주는 경우 자동으로 기본 값 0이 붙음
> Inbound Traffic을 조정하는 용도로 사용됨 (route-map XXXX out)
> AS를 벗어나는 경우, MED는 없어짐 (단 2개의 AS간에만 사용)
>> 적용하여 사용하기 어려움
실습
문제2. Dhaka 와 Berlin 사이에 EBGP가 동작하지 않습니다. 이 문제를 해결 하세요.
Berlin
E0/0, E0/1의 IP를 다시 구성 해야합니다.
config)#ip route 2.2.2.0 255.255.255.0 192.168.12.2
>> static route가 잘못 구성되어 있어, IP설정이 안됩니다.
>> static을 삭제하고, E0/0에 IP를 구성합니다.
Dhaka, Berlin 간의 EBGP는 Loopback으로 구성할 필요는 없지만,
loopback으로 EBGP는 아래와 같이 설정합니다.
Berlin
router bgp 2
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source loopback 0
neighbor 1.1.1.1 ebgp-multhihop 2
exit
ip route 1.1.1.1 255.255.255.255 192.168.12.1
정답
R1(Dhaka)
router bgp 1
neighbor 2.2.2.2 ebgp-multhihop 2
R2(Berlin)
no ip route 2.2.2.0 255.255.255.0 192.168.12.2
interface e0/1
no ip add
interface e0/0
ip add 192.168.12.2 255.255.255.0
ip route 1.1.1.1 255.255.255.255 192.168.12.1
no router bgp 1
router bgp 2
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source lo 0
neighbor 1.1.1.1 ebgp-multhihop 2
문제3. New Delhi 와 Amsterdam 사이에 EBGP가 동작하지 않습니다. 이 문제를 해결 하세요.
>> Loopback이 아니라 물리적인 Interface로 Neighbor를 구성
>> 현재상황 !! BGP neighbor가 "Idle"상태임
R5(New Delhi)
interface e0/0
no ip access-group PROTECTION in >> ACL이 적용되어 있음 (ACL에 BGP 차단)
문제4. Router Berlin는 Dhaka로부터 1.1.1.0/24 을 받아야 하지만 현재 BGP Table에 올라오지 않습니다.
이 문제를 해결하세요.
>> 이 문제는 자동 해결 (R1이 1.1.1.0/24를 잘 광고하고 있습니다.)
"S"
문제5. Router Amsterdam은 AS2으로 부 터 어떠한 경로도 수신하고 있지 않습니다. 이 문제를 해결 하세요.
>> R2,R4간에 IBGP가 구성되지 않고 있습니다.
R2,R4간에 IBGP를 구성합니다.
R3 (Paris)
interface e0/0
no shutdown
R4 (Amsterdam)
router bgp 2
no neighbor 192.168.23.2 route-map FILTER in
R2 (Berlin)
router bgp 2
neighbor 192.168.34.4 remote-as 2
neighbor 192.168.34.4 next-hop-self
확인1. R4#show ip bgp로 1.1.1.0/24 경로를 확인합니다.
확인2. R5#show ip bgp로 1.1.1.0/24 경로를 확인합니다.
문제6. Router Amsterdam은 New Delhi로 부 터 5.5.5.0/24 경로를 수신해야 하지만, 수신되지 않고 있습니다.
이 문제를 해결 하세요.
>> R4#show ip bgp로 보면, 5.5.5.0/24 경로가 보이지 않음
>> R5가 5.5.5.0/24를 BGP로 광고하지 않음
NewDelhi(config)#inter lo 0
NewDelhi(config-if)#ip add 5.5.5.5 255.255.255.0
NewDelhi(config)#router bgp 3
NewDelhi(config-router)#network 5.5.5.0 mask 255.255.255.0
문제7. Router Amsterdam 1.1.1.0/24이 라우팅 테이블에 존재 합니다.
그러나 이 경로로 PING 되지 않습니다. 이 문제를 해결하세요.
>> Amsterdam에서 1.1.1.1로 핑을 보내도, Dhaka가 192.168.34.4를 모르기 때문에,
통신이 되지 않습니다. (R4가 BGP로 192.168.34.0/24를 광고해야 합니다.)
R4
router bgp 2
network 192.168.34.0 mask 255.255.255.0
(확인 R1에서 show ip route bgp로 보면, 192.168.34.0/24가 보여야 합니다.)
>> R3(Paris)는 1.1.1.1을 알지 못하기 때문에, R4가 1.1.1.1로 보내는 Traffic은 R3은 처리하지 못합니다.
(R3도 R2(R4)간에 BGP Neighbor를 구성해야 합니다.)
>> R3도 1.1.1.0/24 경로를 알아야 합니다.
R3
router bgp 2
neighbor 192.168.23.2 remote-as 2
neighbor 192.168.34.4 remote-as 2
R2
router bgp 2
neighbor 192.168.23.3 remote-as 2
neighbor 192.168.23.3 next-hop-self
R4
router bgp 2
neighbor 192.168.34.3 remote-as 2
확인1. R4#ping 1.1.1.1 !!!!!! 통신을 확인합니다.
문제8. router Dhaka 와 New Delhi 간에 어떠한 경로도 통신이 되도록 수정 하세요.
R4
router bgp 2
neighbor 192.168.23.2 next-hop-self
neighbor 192.168.34.3 next-hop-self
확인1. R5#ping 1.1.1.1 source 5.5.5.5 !!!!!
확인2. R1#ping 5.5.5.5 source 1.1.1.1 !!!!!
LAB
1. AS12은 2개의 ISP를 사용하고 있습니다.
ISP1은 100Mbps의 Primary Line 입니다.
ISP2은 10Mbps의 Back Line 입니다.
AS12은 현제 인터넷이 ISP1, ISP2으로 분산되어 처리되고 있습니다.
문제1. AS12은 인테넷의 경우 모두 ISP1으로 나가도록 조정합니다.
설정 R1에서 모든 경로에 대해서 Local Preference를 300을 붙임
확인1. R1,R2에서 show ip route bgp로 보면, 인터넷 경로는 모두 KT로 선택
설정전 !!!
R1#show ip route bgp로 경로를 확인합니다. (22.22.22.0/24 경로 확인)
R2#show ip route bgp로 경로를 확인합니다. (22.22.22.0/24 경로 확인)
R1
router bgp 12
neighbor 59.5.100.1 route-map OUT in
exit
route-map OUT permit 10
set local-preference 200
R1#clear ip bgp *
문제2. (Inbound Traffic 조정)
ISP1, ISP2에서 show ip route bgp로 아래의 경로를 확인합니다.
172.16.11.0/24
172.16.12.0/24
172.16.13.0/24
172.16.14.0/24
ISP1은 위의 경로를 R1으로 보고 있습니다.
ISP2은 위의 경로를 R2로 보고 있습니다.
>> ISP1,ISP2이 모두 R1으로 들오 오도록 수정합니다.
설정 (R2가 경로를 광고할떄, AS Path를 2개 추가합니다.)
R2
router bgp 12
neighbor 61.250.123.1 route-map INBOUND out
exit
route-map INBOUND permit 10
set as-path prepend 12 12
확인1. ISP2#show ip bgp로 경로를 확인합니다.
확인2. ISP2#show ip route bgp
B 172.16.11.0 [20/0] via 211.239.123.1, 00:02:15
B 172.16.12.0 [20/0] via 211.239.123.1, 00:02:15
PC1,PC2>trace 22.22.22.22
ISP2#traceroute 172.16.11.1 source lo 0
추가문제1. ISP2에 아래의 경로를 설정하고 광고합니다.
ISP2
interface loopback 100
ip add 1.2.3.4 255.255.255.255
router bgp 2
network 1.2.3.4 mask 255.255.255.255
조건 R1(R2)에서 1.2.3.4로 가는 경로는 R2을 통해서 통신하도록 설정합니다.
(단 11.11.11.0/24, 22.22.22.0/24는 기존의 ISP1을 사용해야 합니다.)
PC1>trace 22.22.22.22 (R1을 통해서 통신 합니다.)
PC1>trace 1.2.3.4 (R2을 통해서 통신 합니다.)
R2에서 설정합니다. (1.2.3.4경로만, Local Preference를 301로 설정합니다.)
R2
router bgp 12
neighbor 61.250.123.1 route-map OUT in
exit
access-list 1 permit 1.2.3.4 0.0.0.0
route-map OUT permit 10
match ip add 1
set local-preference 301
route-map OUT permit 20
확인1. R2#show ip bgp
PC1>trace 22.22.22.22 (R1을 통해서 통신 합니다.)
PC1>trace 11.11.11.11 (R1을 통해서 통신 합니다.)
PC1>trace 1.2.3.4 (R2을 통해서 통신 합니다.)
LAB18: BGP configuration Attribute Weight
문제1. 구성도와 같이 AS1, AS2, AS3, AS4을 구성하세요.
모든 BGP Neighbor는 물리적인 interface를 사용 하세요.
확인1. R4,R5에서 show ip bgp로 보면, 2.2.2.2/32 경로가 2개씩 보이는 것을 확인합니다.
문제2. R4,R5이 모두 2.2.2.2/32로 가기 위하여, ISP1을 사용하도록 local prefer를 적용합니다.
R4에서 설정합니다.
확인1. R4#show ip route bgp
B 2.2.2.2 [20/0] via 10.1.14.1, 00:00:10
확인2. R5#show ip route bgp
B 2.2.2.2 [200/0] via 10.1.45.4, 00:00:31
>> 이 설정은 AS12에서 외부로 나가는 경로를 조정한 설정입니다.
- AS12 입장에서, ISP1으로 경로를 설정합니다.
- R1에서 route-map in으로 적용하여, 들어 오는 경로에 Local perference를 설정
AS12에서 2.2.2.2로 가는 경우, (R4,R5모두 ISP1으로 통신함)
문제3. PC1> IP 10.1.45.1 255.255.255.0 10.1.45.4
PC1에서 ping 2.2.2.2로 통신이 되도록 구성합니다.
설정 (R4,R5에서 10.1.45.0/24를 각각 광고해야 합니다.)
확인1. PC1>ping 2.2.2.2 !!!!!!
확인2. PC1>trace 2.2.2.2 >R4>R1>R2의 경로를 선택
문제4. R2,R1,R3에서 show ip route bgp로 보면,
10.1.45.0/24경로는 모두 R5으로 향하도록 R4에서 설정하세요.
#clear ip bgp *
설정 (R4에서 AS Path를 3개 추가합니다.)
확인1. R1#show ip route bgp
B 2.2.2.2 [20/0] via 10.1.12.2, 00:42:16'네트워크 보안 전문가 과정 > 5주차' 카테고리의 다른 글
5주차 2일 (3/21) (0) 2023.03.27 5주차 1일 (3/20) (0) 2023.03.26 5주차 5일 (3/24) (0) 2023.03.24 5주차 4일 (3/23) (0) 2023.03.23