GNS3 인터페이스는 자체적으로 VPC를 생성하고 활용하는 것 외에도, Vmware나 Virtual Box 시스템에 설치된 가상 인스턴스를 연동할 수 있습니다.
사전 준비
본 포스트는 Virtual Box를 기준으로 작성되었습니다 (Vmware도 과정은 거의 동일합니다).
Debian OS 이미지로 가상 머신 3개를 미리 설치하였습니다.
GNS3에 가상 머신 인스턴스 등록
Edit
→ Preferences
→ VirtualBox
→ VirtualBox VMs
→ New
→ VM 선택 → Finish
(VMware 사용자의 경우, 바로 아래 VMware
→ VMware VMs
선택)
VM 인스턴스 선택 → Edit
→ General Settings
→ Symbol
→ Browse…
→ 아이콘 선택
Network
→ Adapters
→ VM이 사용할 네트워크 어댑터의 개수를 설정합니다.
주의할 점은, Virtual Box에서 VM을 생성할 때 설정한 어댑터 수보다 많아야 합니다. VM에서 이미 사용 중인 네트워크 인터페이스를 GNS3에서 제어할 수 없도록 되어있기 때문에, 여분의 네트워크 어댑터를 추가해야 하는 것이죠.
나머지 VM들도 설정을 마친 뒤, 하단의 OK
버튼을 클릭합니다.
테스트베드 구성
GNS3 프로젝트를 생성하고 좌측 모니터 아이콘을 클릭하면 등록한 VM 인스턴스를 확인할 수 있습니다.
Ethernet switch
를 우측 인터페이스에 끌여다 놓고, 각 VM과 링크를 연결합니다.
이전에도 언급했었지만, VM에서 설정한 네트워크 어댑터 포트를 GNS3에서 사용하면 안됩니다 (기존 VM의 네트워크 설정들이 날라가요).
Master-1
노드의 Ethernet0
번 포트는 Virtual Box 상에서 어댑터 1로 이미 쓰이고 있습니다. 때문에, GNS3에 VM을 등록하면서 네트워크 어댑터를 2개 쓴다고 설정하였고 여분으로 생긴 Ethernet1
번 포트를 대신 활용해야 합니다.
다른 VM도 마찬가지로 스위치와의 연결을 마치면, 상단의 초록색 화살표 버튼을 클릭합니다. 노드가 활성화됨과 동시에 VM 인스턴스가 실행됩니다.
VM 인스턴스간 네트워킹 활성화
Virtual Box에 설치된 3개의 VM은 격리된 상태에 놓여 서로와 통신할 수 없습니다. 이들끼리 네트워킹이 가능하도록, GNS3 인터페이스에서 조정을 할 수 있습니다.
아래 이미지를 보면, 기존에 VM에서 사용 중이던 네트워크 인터페이스 아래에 방금 GNS3에서 추가한 인터페이스(enp0s8
)을 확인 가능합니다.
아직은 해당 인터페이스에 IP 주소가 할당되지 않은 상태임을 알 수 있습니다.
VM 화면에서 네트워크 설정으로 들어가 고정 IP를 할당해줍니다. 제 경우에는 3개의 VM에 10.0.2.10 ~ 10.0.2.12
로 IP를 부여하였습니다.
이제, Ping 테스트를 통해 통신 가능 여부를 확인해보세요.
GNS3에서 생성한 VPC와의 네트워킹
GNS3에 연동한 VM 노드는 당연히 GNS3에서 생성한 VPC와 통신이 가능합니다.
좌측 탭에서 VPCS를 선택하여 오른쪽에 끌여다 놓습니다. 해당 VPC 이미지를 우클릭 → Start
를 클릭하여 실행시킨 뒤, 다시 우클릭 → Console
로 들어가 Ping 테스트를 진행합니다.
# VM들과 같은 네트워크 대역에 속하도록 IP 초기화
$ ip 10.0.2.20/24
# Ping 테스트
$ ping 10.0.2.10
$ ping 10.0.2.11
$ ping 10.0.2.12
네트워크 연결 해제
GNS3 인터페이스에서 생성한 링크를 우클릭 → Suspend
를 선택하면 통신을 끊을 수 있습니다.
GNS3에서 링크를 해제하면, 초기 VM 상태대로 독립된 환경에 놓이게 됩니다. 따라서 아래 이미지처럼 다른 VM 노드에게 Ping이 보내지지 않게 되죠.