인터넷은 기본적으로 BGP(Border Gateway Protocol)라는 라우팅 프로토콜을 기반으로 모든 네트워크가 운영된다. 만일 BGP가 없었다면 인터넷이 오늘날처럼 활성화되지 못했을 수도 있다. 이번 호에는 사례를 통해 자주 사용되는 BGP 설정 방법에 대해 알아보자.
박상철 | 싸이버정보통신 대리
[사례 2] B대학교의 BGP 구성 예
B대학교는 C클래스 20개(200.200.128.0∼143.0)를 사용하고 있고, 두 개의 ISP에 연결돼 있다. 다음은 B대학교 라우터의 변경전 설정값이다.
interface ethernet0 ip address 200.200.143.1 255.255.255.252
router bgp 100 network 200.200.128.0 mask 255.255.240.0 neighbor 1.1.1.2 remot-as 200 neighbor 1.1.1.2 filter-list 10 out neighbor 2.2.2.3 remot-as 300 neighbor 2.2.2.3 filter-list 10 out
ip as-path access-list 10 permit ^$
ip route 0.0.0.0 0.0.0.0 1.1.1.2 ip route 0.0.0.0 0.0.0.0 2.2.2.3
위와 같이 라우터 설정을 한 후에 통신이 되지 않았다. 각각의 ISP에 전화를 걸어서 확인해보니 B대학교의 라우터에서 ISP로 BGP 테이블을 주지 않는다는 것이었다. B대학교 라우터가 ISP에게 BGP 테이블을 넘겨주지 않는 이유는 무엇일까? 일반적인 IGP와 달리 BGP를 이용해 광고하고자 할 때는 반드시 광고하고자 하는 네트워크와 동일한 프리픽스가 라우팅 테이블에 올라와 있어야 한다. B대학교는 200.200.128.0/20을 광고하려고 했지만 라우팅 테이블에는 200.200.128.0/20에 대한 부분이 올라와 있지 않았다. 따라서 BGP 광고가 이뤄지지 않은 것이다. 이것을 해결하기 위해서는 광고하고자 하는 네트워크에 대한 정보를 임의로 null 0을 이용해 잡아주면 된다. 다음은 B대학교 라우터의 기존정보에 null 0을 추가 시켜 준 것이다.
interface ethernet0 ip address 200.200.143.1 255.255.255.252
router bgp 100 network 200.200.128.0 mask 255.255.240.0 neighbor 1.1.1.2 remot-as 200 neighbor 1.1.1.2 filter-list 10 out neighbor 2.2.2.3 remot-as 300 neighbor 2.2.2.3 filter-list 10 out
ip as-path access-list 10 permit ^$
ip route 0.0.0.0 0.0.0.0 1.1.1.2 ip route 0.0.0.0 0.0.0.0 2.2.2.3
ip route 200.200.128.0 255.255.240.0 Null 0
show ip route라는 명령어를 이용해 확인해 보면 광고하고자 하는 네트워크 정보 (200.200.128.0/20)에 대한 것이 라우팅 테이블에 올라와 있음을 알 수 있다.
router# show ip route C 200.200.143.0/30 is directly connected, Ethernet0 S 200.200.128.0/20 is directly connected, Null0
<여기서 잠깐 !>
앞의 (사례 1)의 A연구소의 경우 Null 0를 잡아주지 않았는데도 불구하고 정상적으로 BGP 테이블이 넘어가게 된다. 그 이유는 무엇일까. A연구소의 경우 ethernet 0의 IP 주소는 200.200.200.0/24이다. 따라서 다이렉트 커넥트로서 라우팅 테이블에 올라오기 때문에 Null 0을 잡아주지 않아도 된다.
[A연구소] router# show ip route C 200.200.200.0/24 is directly connected, Ethernet0 |