Network/GNS3

GNS3 - 11

Glory-L 2022. 9. 19. 12:16

- 들어가기 전에 routing 정리! 

 

routing 


1. 주소교환=주소광고+주소학습=routing table=ip table 
1-1. static [불필요한 경로가 없다. 라우팅 수렴이 불가하다 = healthing check 불가]
정적static [경로가 하나]
ip route 11.1.1.0 255.255.255.0 fa 0/0 [connected interface]
ip route 11.1.1.0 255.255.255.0 1.1.12.1 [next-hop-ip]
동적static = floating static 
ip route 11.1.1.0 255.255.255.0 1.1.12.1
ip route 11.1.0.0 255.255.0.0 1.1.13.1
default route -> stub network에서 사용 ==> 0.0.0.0 0.0.0.0 
1-2. dynamic [라우팅 수렴, healthing check 가능 / 불필요한 정보 발생] -> 경로필터링,경로요약,경로인증,경로조정
IGP : 동일 조직간의 정보 교환 : rip igrp eigrp ospf isis pim ....
EGP : 다른 조직과의 정보 교환 : BGP MSDP ...
2. 최적경로연산
2-1. distributed bellman ford algorithm -> distance vector routing protocol : RIP, IGRP ,,,
2-2. dijkstra algorithm -> link state routing protocol : OSPF, ISIS,,,
2-3. DUAL (diffusing update algorithm) -> advanced distance vector routing protocol : EIGRP ..


distributed bellman ford algorithm [distance] - 어떻게든 간단하게 가보자는 알고리즘


교환되는 정보 : 거리, 방향
연산 결과 전송
경로 복잡도가 낮은 곳에서 (연산 부하가 낮다)

dijkstra algorithm [link state] - 복잡할 경우를 고려할 때 쓰는 알고리즘


링크 상태, topoloy table 보유 
연산 소스 전송, 연산 부하가 높다
변수 고려해야 할 때 

 

 

★★★★★★ 들어가기 전에 꼭 아래 명령어로 확인할 사항 ★★★★★★★★★

 

- static router 설정이나 NAT 설정이 다 없어졌는지 확인한다. 

 

- show run | in ip route 명령어로 경로가 다 없어졌는지 확인, 만약 남았다면 no로 없애준다!

 

 

R7 예시로 경로 없애주는 모습

 

- NAT 연결이 되어 있지 않은지, ip 설정은 잘되어 있는지 확인하기!

 

NV0이라는 인터페이스가 보이지 않는 것을 각 장비마다 꼭 확인한다!

 

위의 명령어로 다 확인 한 후에 dynamic routing 시작!

 

 

 

※ Dynamic Routing [ RIP ] 

 

RIP(routing information protocol)=distance(hop수=network수 vector)


RIPv1 classful[subnet정보불요] 255.255.255.255 [ffff.ffff.ffff]


RIPv2 classless[subnet정보전송] 224.0.0.9 [0100.5e00.0009]
-> 인증 기능 추가, tag 기능

 

IPv4 RIP = UDP 520 


IPv6 RIP = RIPng(nextgeneration) = UDP 521


AD = 120 
* AD(admin distance) = 경로 우선도

 
OSPF 110 / EIGRP 90, 170 


- RIP 장점 


1. 표준 / legacy (호환성, 검증)
2. 연산부하가 낮다 


- RIP 단점 


1. metric 값 = hop count => link 상태 반영 불가 
최대 hop count 16 
2. 정보전송방식이 비효율 
30초마다 주기적 업데이트 --> triggered update 
증가분 업데이트불가 -> decremantal update 

 

 

 

이전의 default 값으로 다시 변경한다.

 

각 대역을 원래 설정한 값으로 변경하고 S2에 핑 보내서 통신 확인

 

※ 혹시나 이상이 있을 경우에는 

https://glory-archive.tistory.com/42?category=1031464 <- 이전 포스팅 참고하기 

 

 

※ Cisco Router선언

 

1. 사용할 routing protocol 호출 = router rip 

 

 

모든 장비 설정 터미널로 들어간다.

 

모든 장비에 router rip 명령어를 입력한다.

 

설정이 조금 변경되었다.

 

2. 어떤 인터페이스를 통해서 정보를 주고 받을 것인지 선언하기 = network 명령어

 

S1에 명령어를 입력한다. 24 prefix이기 때문에 11.1.1.0 대역 선언

-> 지금은 classless로 설정하기 위해서 11.1.1.0 까지 작성하고 ? 명령어를 입력 했는데 아무것도 나오지 않는다. 이유는 위의 장비는 예전 장비라서 classful한 설정을 사용한다. 그래서 ?  명령어를 입력하면  아무것도 나타나지 않는다. classful에서 classless로 바꾸지 않는 이유는 이미 많은 다른 장비에서 classless를 사용하고 있기 때문에 굳이 필요성을 느끼지 않았기 때문이다. 그럼 classful 한 설정으로 변경해보자.

 

※ classful 살짝 복습 

 

- A class 0 ~ 127 x - 1자리 network id

- B class 128 ~ 191 x.x - 2자리 network id

- C class 192 ~ 223 x.x.x - 3자리 network id

 

1자리 대역으로 각 서버 network id 설정
각 R 장비에 들어오고 나가는 network ip를 입력해줘야 RIP 통신이 가능하다.

 

3개의 인터페이스는 1.1.x.x 대역, 1개는 2.2.x.x 대역

 

각각 classful하게 설정한다.

 

 

==============================================================================

 

router rip 

net x.0.0.0

 

S1

router rip 

net 11.0.0.0

 

S2

router rip 

net 22.0.0.0

 

S22

router rip 

net 2.0.0.0

 

S33

router rip 

net 3.0.0.0

 

S44

router rip 

net 4.0.0.0

 

S55

router rip 

net 5.0.0.0

 

R1

router rip 

net 11.0.0.0

net 1.0.0.0

 

R2

router rip 

net 2.0.0.0

net 1.0.0.0

 

R3

router rip 

net 3.0.0.0

net 1.0.0.0

 

R4

router rip 

net 4.0.0.0

net 1.0.0.0

 

R5

router rip 

net 5.0.0.0

net 1.0.0.0

 

R6

router rip 

net 22.0.0.0

net 1.0.0.0

 

R7

router rip 

net 1.0.0.0

 

 

 

각 장비마다 2개의 인터페이스씩 설정된다.

 

핑이 잘 나간다.

-> 이전에 핑을 찍으려 했을 때는 엄청 귀찮고 긴 명령어들을 쳤어야 하는데 두줄 치니깐 핑이 바로 나간다.

(보안상 좋지 않을 것 같다.)

 

내가 친 router rip 범위 확인

 

rip을 통해서 받은 ip 확인 가능

 

-> 인터넷을 이용하지 않는 내부망을 사용할 때 이 방식을 이용할 수 있을 것 같다. (금융권, 정부 기관 등등)

 

-> Cloud를 이용할 때도 rip 개념을 이용하기 때문에 알고 있어야 한다. 

 

rip에 대한 정보 확인은 show ip route rip

 

 

 

-> [120 / (metrix : 거쳐 가는 라우터 개수) ]

 

AD = 120 (OSPF의 경우 110이라고 나왔을 것)
* AD(admin distance) = 경로 우선도

 

ex) 1.0.0.0 대역으로 가기 위해서는 라우터 1개를 거쳐 가야한다. 

 

 

※ 참고하기 

 

rip metric = router 대수 = hop counter
ospf metric = interface bandwidth 
eigrp metric = 복합metric = k-value
k1대역폭 k2로드 k3지연 k4신뢰도 k5mtu

 

 

11.1.1.254로부터 1.0.0.0/8을 업데이트 받고 난 후 지난 시간을 표시한다.

 

 

 

※ RIP 

 

update time 30초(변화가 있던 없던 주기적 업데이트) 

 

--> 다른 방식은 triggered update (변화가 있을 때만 업데이트 한다.)


invalid time 180초 

 

-> 180초 동안 업데이트 상황을 지켜본다. 다음 업데이트가 30초마다 잘 이뤄진다면 180초까지 간 후 time을 리셋한다.

 

hold time 180초

 

 -> 만약 업데이트가 안되면 invalid time 시간 내 업데이트가 이뤄지지 않은 시점부터 180초에 도달할 때까지 홀드 타임을 건다. 홀드 타임에 들어가면 자기가 알고 있는 정보들을 옆 장비에 주지 않는다. 자기도 이 정보를 사용하지 않는다. 


flush time 240초

 

-> invaild time과 같이 시작 되는 시간, 업데이트가 되지 않으면 그 시점에서 더 기다리지 않고 테이블 목록에서 지워버린다. 

 

 

※ 너무 오래 기다리기 때문에 실제로 하는건 시간을 임의로 단축했다. 

 

 

- 1 : update time

- 6 : invalid time

- 0 : hold time

- 8 : flush time

 

* 시간이 다르면 장비에서 통신이 안되기 때문에 모든 장비에 같은 설정을 해준다. 

 

-> send chat to all sessions 기능을 통해서 시간 설정

 

업데이트 시간이 설정한 값으로 계속 출력되는 것을 확인 할 수 있다.
자세한 설정 확인도 show ip protocols

 

현재는 8prefix로 classful 하게 주소가 적혀 있다. 그 이유는
현재 보내는 프로토콜이 rip이 version 1, 받는 것은 any 이기 때문이다.

 

-> version2로 변경해서 classless한 24bit 주소 체계로 만들어야 한다.

 

왜? 

 

classful하게 하면 1.0.0.0이 어느 인터페이스인지를 모르기 때문에 문제가 된다.

 

-> 역시 장비의 설정이 모두 동일해야 통신이 가능하기 때문에 모든 장비를 version 2로 변경한다. 

 

각 장비 버전 확인
변경 확인

 

다시 보니 그래도 classful하게 보인다..?

 

 

->  Automatic network summarization is in effect : 자동으로 ip가 요약되는 설정이 켜져 있기 때문에 이렇게 보이는 것이다. 설정을 꺼준다. 

 

모든 장비 end -> conf t -> router rip -> no auto

 

 

 

설정을 꺼두고 다시 조회하니 calssless한 주소로 잘 나온다.
S1에서 R7쪽으로 ping을 보냈는데 보내진다.

 

※ 위와 같이 S1에서 R7로 바로 통신이 되면 안된다. 나의 PC가 인터넷이 있는 KT의 장비로 직접 통신이 가능해지는 것도 동일한 원리이기 때문에 절대 통신이 나가면 안된다. 

 

-> 지금 이 같은 핑이 가능한 것은 아까 설정하면서 모든 ip대역을 수신할 수 있는 상태로 만들었기 때문에 가능한 상황이다. 즉, 이제 필터링이 필요해지는 순간이다.

(ex) 북한과 통신이 안되도록 정부가 개입해주는 느낌 

 

 

- 우리는 end point의 ip 대역이 필요한 것이지 라우터 장비의 ip는 필요가 없다. 따라서 R1에서 S1으로 업데이트 정보가 나갈 때 필터링을 해준다. 

 

 

 

- Cisco에서 router update를 주거나 받을 때 필터링을 사용하는 명령어 : distribute-list 

 

 

R1


conf t
access-list 11 deny 1.1.12.0 0.0.0.255
access-list 11 deny 1.1.23.0 0.0.0.255
access-list 11 deny 1.1.27.0 0.0.0.255
access-list 11 deny 1.1.34.0 0.0.0.255
access-list 11 deny 1.1.37.0 0.0.0.255
access-list 11 deny 1.1.45.0 0.0.0.255
access-list 11 deny 1.1.47.0 0.0.0.255
access-list 11 deny 1.1.56.0 0.0.0.255
access-list 11 deny 1.1.57.0 0.0.0.255
access-list 11 permit any
router rip
distribute-list 11 out fa 0/0

 

설정하기
S1에서 조회해보면 위에서 deny한 ip 대역들은 필터링 되어 있는 모습을 확인 할 수 있다.

 

※ 만약 여기에서 아이피가 필터링이 되지 않는다면 아마도.. 오타가 있거나 위에서 언급 했듯이 static routing 경로 설정을 지워주지 않고 여기까지 따라해서 그럴 가능성이 높다. 차근히 다시 올라가서 포스팅 글을 읽어보면서 해결할 수 있다!

(사실 내 경험담..)

 

처음엔 잘 나가던 핑이 이제 막혔다.

 

※ 각 서버마다 라우터로 직접 접근하지 못하게 해보자 

 

- 같은 대역이기 때문에 어차피 acl은 위와 동일하게 간다. 

 

conf t

 

access-list 11 deny 1.1.12.0 0.0.0.255
access-list 11 deny 1.1.23.0 0.0.0.255
access-list 11 deny 1.1.27.0 0.0.0.255
access-list 11 deny 1.1.34.0 0.0.0.255
access-list 11 deny 1.1.37.0 0.0.0.255
access-list 11 deny 1.1.45.0 0.0.0.255
access-list 11 deny 1.1.47.0 0.0.0.255
access-list 11 deny 1.1.56.0 0.0.0.255
access-list 11 deny 1.1.57.0 0.0.0.255
access-list 11 permit any

router rip 

distribute-list 11 out fa 0/0

- router rip -> distribute-list (acl 부여 번호) out fa (여기에 해당하는 인터페이스만 달라진다.)

 

-R6 : R1과 동일한 설정으로 해주면 된다. 

 

-R2,3,4,5은 인터페이스만 2/0 으로 설정해주면 된다. 

 

conf t

 

access-list 11 deny 1.1.12.0 0.0.0.255
access-list 11 deny 1.1.23.0 0.0.0.255
access-list 11 deny 1.1.27.0 0.0.0.255
access-list 11 deny 1.1.34.0 0.0.0.255
access-list 11 deny 1.1.37.0 0.0.0.255
access-list 11 deny 1.1.45.0 0.0.0.255
access-list 11 deny 1.1.47.0 0.0.0.255
access-list 11 deny 1.1.56.0 0.0.0.255
access-list 11 deny 1.1.57.0 0.0.0.255
access-list 11 permit any

router rip 

distribute-list 11 out fa 2/0

 

R2에 설정
연결된 S22에서 route 정보 확인하면 필터되어 있는 것을 확인 할 수 있다.

 

※ 이번에는 S1에서 4.4.4.0의 정보만 없어져서 ping으로 4.4.4.1에 도달하지 못하게 해주려 한다. 

 

 

현재는 핑이 잘 나가는 상태

 

 

in으로 설정해서 S1 안의 router 정보를 막는다.
4.0.0.0 대역이 막혔다.

 

핑을 쳐도 나가지 않는다.