- 들어가기 전에 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로 없애준다!
- NAT 연결이 되어 있지 않은지, ip 설정은 잘되어 있는지 확인하기!
위의 명령어로 다 확인 한 후에 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
※ 혹시나 이상이 있을 경우에는
https://glory-archive.tistory.com/42?category=1031464 <- 이전 포스팅 참고하기
※ Cisco Router선언
1. 사용할 routing protocol 호출 = router rip
2. 어떤 인터페이스를 통해서 정보를 주고 받을 것인지 선언하기 = network 명령어
-> 지금은 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
==============================================================================
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
-> 이전에 핑을 찍으려 했을 때는 엄청 귀찮고 긴 명령어들을 쳤어야 하는데 두줄 치니깐 핑이 바로 나간다.
(보안상 좋지 않을 것 같다.)
-> 인터넷을 이용하지 않는 내부망을 사용할 때 이 방식을 이용할 수 있을 것 같다. (금융권, 정부 기관 등등)
-> Cloud를 이용할 때도 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
※ 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 기능을 통해서 시간 설정
-> version2로 변경해서 classless한 24bit 주소 체계로 만들어야 한다.
왜?
-> 역시 장비의 설정이 모두 동일해야 통신이 가능하기 때문에 모든 장비를 version 2로 변경한다.
-> Automatic network summarization is in effect : 자동으로 ip가 요약되는 설정이 켜져 있기 때문에 이렇게 보이는 것이다. 설정을 꺼준다.
모든 장비 end -> conf t -> router rip -> no auto
※ 위와 같이 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
※ 만약 여기에서 아이피가 필터링이 되지 않는다면 아마도.. 오타가 있거나 위에서 언급 했듯이 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
※ 이번에는 S1에서 4.4.4.0의 정보만 없어져서 ping으로 4.4.4.1에 도달하지 못하게 해주려 한다.