네트워크 기초 실습: VMware로 Pc-Router-Pc-Router 토폴로지 구현 및 Ping 테스트

코코더·2024년 12월 22일

Network

목록 보기
1/7

실습 내용 한줄 요약

VMware와 Linux Debian을 활용하여 PC1-Router1-Router2-PC2 형태의 네트워크 토폴로지를 Auto Config방식으로 구현하고, Ping 테스트로 통신 여부를 확인하며 네트워크 통신 과정을 학습한다.

Debian
가상머신의 OS를 Linux Debian으로 설정한 이유는 Debian을 학습하면 같은 계열인 Ubuntu 같은 OS는 비슷하게 사용할 수 있기 때문이다.
(Linux는 크게 Debian 계열과 RedHat계열이 있다.)

Auto Config
또한 같은 Debian계열이지만 Ubuntu는 Auto Config 방식을 사용하지 않는다고 한다. Auto config는 단순성과 효율성을 중시하는 환경에서 유리하며, 복잡한 설정이 필요하지 않은 경우에 특히 적합하기에 이번 처럼 네트워크 구성을 연습하기엔 충분하다.


1. 준비물

  • 소프트웨어:
  • 하드웨어 요구 사항:
    • 가상 머신을 실행할 수 있는 PC (RAM 8GB 이상 권장)
  • 네트워크 구성 계획:
    • IP 주소 계획:
      • PC1: 192.168.10.10
      • Router1: 10.0.0.1 /192.168.10.1
      • Router2: 10.0.0.2 / 172.168.10.1
      • PC2: 172.168.10.10

2. 구현 단계

1) VMware 환경 설정

이번 실습에서는 Debian가상머신을 생성하고 기본 설정을 한 뒤, Snapshot을 찍어서 Clone을 생성하고 그 클론들로 네트워크 통신을 할것이다.

  • 아래의 사진 처럼 가상 머신 생성
    - VM1: 계정, apt 패키지 설치 등 기초적인 옵션이 설정되있는 가상 머신

별도로 다운받은 OS를 설치할것이므로 위의 옵션을 선택한다. 혹은 가운데 옵션으로 다운받은 OS를 선택해도 된다.

가상머신 데이터를 저장할 폴더를 선택할 때 VM이 설치된 폴더를 선택하면 안되고 별도의 폴더를 생성해줘야 한다.

VM1에서 입력해줄 command 목록

apt update
apt upgrade
apt install vim
apt install net-tools

2) VM Clone

Snapshot을 찍고 그 이미지로 clone을 하면 초기 설정을 할 필요가 없어 VM을 생성할때 편리하다.

Clone을 4번해서 Pc1, Router1, Router2, Pc2를 생성해준다.

3) Network interface 추가

Router1, Router2는 인터페이스가 2개여야 하기에 네트워크 인터페이스를 추가해준다.

Virtual Machine Settings

Add버튼 클릭

Network Adaptor 추가

LAN Segments 범위 추가

LAN Segments 설정

LAN Segments를 추가해주고 이와 가상머신의 ip주소가 일치해야 가상머신들끼리 통신할 수 있다.

4) Hostname 설정

/etc/hosts의 파일에서 OS설치시 설정했던 이름을(debian) PC1은 PC1으로 각각 설정해준다.
/etc/hostname 의 파일에서 PC1으로 설정해준다.

다른 디바이스들도 전부 이름을 설정해준다.
파일을 변경 후 reboot하면 이름이 바뀐 것을 볼 수 있다.

5) /etc/interfaces 설정

4개의 end-device전부 vim /etc/interfaces 를 통해 interface이름인 ens33이 들어간 부분을 전부 주석처리해준다. dhcp로 설정되어있는 것을 Static ip로 설정해주기 위함이다.

6) /etc/interfaces.d/ens33 파일 생성

vim /etc/interfaces.d/ens33을 통해 인터페이스 ens33의 static ip정보가 적힌 파일을 생성해준다.

  • 활성화된 인터페이스의 정보는 ifconfig 커맨드를 통해 확인할 수 있다.
  • 아직 비활성화된 인터페이스까지 포함해서 보고싶다면 ip a 커맨드를 사용하면 된다.

PC1의 /etc/interfaces.d/ens33

Router1의 /etc/interfaces.d/ens33

Router1의 /etc/interfaces.d/ens36

Router2의 /etc/interfaces.d/ens36

Router2의 /etc/interfaces.d/ens33

PC1의 /etc/interfaces.d/ens33

7) /etc/sysctl.conf 파일

Router1, Router2의 /etc/sysctl.conf파일에서 사진과 같이 주석을 해제해서 ip forwarding을 활성화한다. 주석을 해제하면 IP 포워딩 기능을 활성화해서 라우터의 기능을 할 수 있다.

vim /etc/sysctl.conf

챗 gpt에게 물어본 IP포워딩이란?

마지막으로 변경한 파일을 적용하려면 sysctl -p를 입력하면 된다. 주석 해제한 부분이 나오면 ip forwarding이 활성화된 것을 알 수 있다.

sysctl -p 커맨드 입력

8) Ping 테스트

  • PC1에서 PC2로 Ping 전송:
     ```bash
     ping 172.168.10.10
     ``` 
    중간 중간 디바이스들끼리 ping 테스트를 해주면 디버깅이 짧아진다.

3. 문제 해결 (Troubleshooting)

  • Ping 실패 시 확인 사항:
    1. IP 주소 및 게이트웨이 설정 확인. (/etc/network/interfaces, /etc/network/interfaces.d/ens33)
    2. VMware Settings에서 Network adaptor가 NAT모드가 아닌 LAN Segment로 설정되어 있는지 확인
    3. 라우터 ip포워딩 활성화 확인
    4. 오탈자 확인

4. 결론 및 추가 학습 제안

  • 이번 실습을 통해 가상화 환경에서 기본적인 네트워크 토폴로지를 구현하고, 데이터 전송 및 라우팅 과정을 이해할 수 있었다. 앞으로의 리눅스 공부 공부 방향도 알 수 있어 좋았다.
  • 추가 학습:
    • NAT(Network Address Translation) 설정 방법
    • Auto Config방식이 아닌 Network Manager방식의 설정 방법
profile
Future Network Engineer

1개의 댓글

comment-user-thumbnail
2024년 12월 23일

생일 축하합니다

답글 달기