시스코에서 만든 프로그램이긴 하지만, 네트워크 연결과 라우팅을 직접 해 볼 수 있는 패킷트레이서.
해당 사이트에서 회원가입을 먼저 진행하고, Cisco packet tracer > view courses 해서 각 운영체제에 맞게 다운로드를 진행하자. 해당 경로는 조금씩 바뀌겠지만, 패킷 트레이서 코스를 수강신청하고(무료) 다운로드 하는 큰 틀은 똑같으니 찾기 어렵지 않다.
참고로 우분투, M1 맥북에서 잘 돌아간다 (가끔 메세지적는창 오류날때도 있는데 재가동 하면 문제없다..)
https://www.netacad.com/courses/packet-tracer
실행 모드 및 기본
굉장히 다양한 기능을 제공하는데, 그중 CLI/CLI Prompt을 들어가면 우리가 아는 터미널처럼 사용할 수 있다. 크게 여러가지의 모드가 있는데 명령어로 각 모드를 들어갈수있고, 해당 모드는 순차적이다. 즉, 전역설정모드를 들어가려면 전문가모드를 들어가고, 그다음 전역설정모드를 들어가야한다. 나올때는 exit 명령어로 빠져나올 수 있다.
사용자모드 -> 전문가모드 -> 전역설정모드 -> 인터페이스 설정
또한 명령어들은 겹치는 명령어가 없다면 앞에 몇글자만 적고 엔터치면 알아서 해당 명령어로 가동을 해준다. 예를 들어 enable 의 경우 en 만 치면 실행이 가능하다.
명령어를 모르겠다면 ? 을 붙이면 --help 와 같은 도움을 받을 수 있다.
- 사용자모드 : 기본 실행모드로 기능이 제한적이다.
- 전문가모드 : enable , en
- 전역 설정모드 : configure terminal , conf t
- 인터페이스 설정모드 : interface {인터페이스명} , int {인터페이스명}
화면 구성
물론 모든 요소에 대해 다 설명할순 없지만, 필요한 정보에 대해 남겨놓고자 한다. 박스 쳐놓은곳 위주로 보면 좋을것같다. 모든 아이콘은 drag&drop 씩으로 끌어서 써도 동작하며, 클릭후 원하는 위치에 한번 더 클릭하는 방식으로도 동작한다.
- 1 : 메모를 남길수 있다. 생각보다 유용하게 쓸수있다.
- 2 : PDU를 날려볼수있다. CLI창에서 ping 을 날려도 되지만, 간단하게 테스트해볼 때 이용하면 편하다
- 3 : Simulation으로 바꾸면, 실제 패킷이 날라가고 전송이 되는 형태를 천천히, 또는 단계별로 볼수있다. 코드에디터에서 break 하는거랑 비슷한 기능이다
- 4 : 실제 장치들이 위치한다. 케이블의 경우 번개모양을 쓰면 자동으로 포트와 맞는 선을 배정해주는데, 나는 직접 다이렉트/크로스/WAN선을 선택해서 연결해줬다.
각 장치를 클릭하면, 다시 또 세부설정을 할 수 있다. 예를 들어 PC(End point)를 클릭후, desktop 탭을 눌렀을때 화면이다.
주로 윗줄을 많이 사용하게 된다.
IP Configuration : IP 할당 및 게이트웨이 설정, 서브넷마스크 설정등을 할 수있다.
Command Prompt : 우리에게 익숙한 CLI창을 사용할 수있다.
아래는 라우터 장치를 누르고, Physical 탭을 보았을때이다. 진짜 장치처럼 전원 on/off가 가능하다.
라우터에서 이더넷연결이 아닌, 라우터끼리 연결할때 Serial DCE(빨간색선) 선을 사용하는데, 이때 Serial 포트를 확보하기위해 추가 장치를 삽입한다. 장치를 넣을때는 실제와 마찬가지로, 전원을(1번) 끄고 장치(HWIC-2T)를 끌어다 삽입을(2번) 시켜야한다. 이후 다시 전원(1번)을 켜주어야 작동된다.
라우터 연결 (Cisco Router) - 정적(스태틱라우팅)
위의 이미지처럼 연결을 하고자 한다면, 아래와 같이 단계를 거쳐야한다.
1) pc(엔드포인트 장치), router를 배치후 알맞는 선을 연결한다
2) pc에 아이피를 할당한다 (아이피 할당은 대역대만 맞으면 자유롭게 가능하다)
3) 라우터에도 각 포트에 맞게 아이피를 할당하고, no shutdown (활성화) 해준다
4) 자동라우팅이 되지않는 대역대가 있으니, 정적(수동)으로 라우팅해준다
5) 엔드포인트와 라우터간에 게이트웨이를 열어준다
2)와 5)에 해당하는 참고그림. 아이피 할당 및 게이트웨이
- [1]부분에 아이피및 서브넷 마스크 할당을 한다.
- 게이트웨이도 작성하는데, [2]부분을 보면 밖으로 나가는 포트가 203.230.7.1 이기때문에 해당 포트로 게이트웨이를 열어준다.
3)에 해당하는 참고그림. 라우터 아이피할당 및 활성화
코드와 설명을 하면 다음과 같다
router2> ##유저모드 상태
router2> en ##전문가 모드 변경
router2# ##전문가모드 상태
router2# hostname R2 ##R2로 이름변경
R2#conf t ##전역설정모드 변경
R2(config)# ##전역설정모드 상태
R2(config)#int g0/0 ##g0/0장치 인터페이스로 변경
R2(config-if)#ip addr 203.230.11.1 255.255.255.0 ##{할당할 아이피}{서브넷마스크}
R2(config-if)#no shutdown ##shutdown상태 풀어서 가동
4) 에 해당하는 정적라우팅(수동으로 할당)
전역설정모드( conf t 이후 진입)에서 진행한다.
ip route {추가해줘야하는 대역} {서브넷마스크} {이동해야하는 목적지 포트} 로 적게되는데 코드와 함께 설명하자면 이렇다
R1# show ip route ##전문가모드에서 라우트테이블을 볼수있다
R1# conf t ##전역설정모드로 변경
##ip route {추가해줘야하는 대역} {서브넷마스크} {이동해야하는 목적지 포트}
R1(config)# ip route 203.230.9.0 255.255.255.0 203.230.8.2
R1(config)# ip route 203.230.10.0 255.255.255.0 203.230.8.2
R1(config)# ip route 203.230.11.0 255.255.255.0 203.230.8.2
Router1 에서 보았을때, 203.230.7.0대역대 (줄여서 7대역대) 와 203.230.8.0대역대(8대역대)는 알고있다. 하지만 9, 10, 11 대역대는 알수없다. 따라서 ip route 를 통해 해당 대역대를 하나하나 수동으로 설정해준다. 이때, Router1관점에서 203.230.8.2 포트를 통하면 해당 대역대들로 라우팅할수있으므로, 목적지 폭트는 203.230.8.2를 기입한다.
따라서, 이렇게 작성하게 된다
ip route 203.230.9.0 255.255.255.0 203.230.8.2
디폴트 정적 라우팅
수동으로 라우팅할경우, 모든 경우의 수를 다 생각해서 라우팅을 해줘야하지만 나가는 통로가 오직 1개라면 디폴트 정적 라우팅을 할 수 있다. 예를 들어 이런 형태의 연결이 있다고 가정하자
이때 보라색 같은 라우터의 경우 연결이 여러개가 되고 있지만,
양옆의 빨간색 라우터의 경우 잘보면 통로가 1개이다. 이런 경우 디폴트 정적 라우팅을 할 수 있다.
왼쪽 빨간색 라우터를 기준으로 봐보자
Router5를 기준으로 하면 192.168.1.0 대역대(1대역대), 192.168.2.0대역대 (2대역대) 는 알고있지만, 사실 3대역대나 7대역대등은 알수없다. 따라서 수동으로 모든 대역대에 대한 경우의 수를 ip route 해줘야하지만, Router5는 어차피 모든 대역대가 나갈때 딱 통로가 한개만 거치게 되어있으므로 이럴때 디폴트 정적 라우팅을 적용할 수 있다.
## ip route {모든대역대} {모든서브넷} 목적지포트
ip route 0.0.0.0 0.0.0.0 192.168.2.3
이렇게 적용해주면, 다른 모든 대역대를 수동으로 연결해주는것과 같기때문에 한줄로 끝낼 수 있다.
추가적으로 ...
패킷트레이서는 해당 작업파일을 저장하고, 시스템을 끈다고 꺼지지는 않는다. 하지만, 실제 각 설정한 장치들(컴퓨터 전원이 아닌, 패킷트레이서 내 장치)의 전원을 끄면 메모리가 전부 다 날라가게되는데 이는, 저장이 ram 형태이기때문에 그렇다. 따라서, 장치의 전원을 꺼도 날라가게 하고싶지않다면 각 장치마다 nvram 으로 저장을 하면 날라가지 않는다. 이를 위한 코드는 아래와 같다
R1>conf t ##전문가모드 변경
## 명령어 두개중 어떤걸 하든 적용된다
R1(config)# copy running-config startup-config
R1(condfig)# copy r st
포스팅을 하면서 참고하지는 않았지만, 패킷트레이서 관련 글을 보다보니 처음 패킷트레이서를 보면서 공부할때 좋은것 같아 다른분 블로그 주소를 가져와보았다. 아이콘들이나 각 화면구성에 대한 설명이 친절하게 되어있는것 같다!
https://blog.naver.com/lastime1650/222333102320
- 궁금한 점 / 수정 요청사항 등은 언제든 댓글 달아주세요 :)
- 도움이 되셨다면 ❤️ 하트 한 번 눌러주세요! 감사합니다 !
'BACK-END > CS' 카테고리의 다른 글
[리눅스] 나만의 명령어 만들기 (0) | 2024.04.22 |
---|---|
[리눅스] 리눅스 파일구조와 특징 - Rocky Linux 9 (0) | 2024.04.16 |
[네트워크] 라우팅 프로토콜 (0) | 2024.04.05 |
댓글