2010년 3월 3일 수요일

[GNS3] 서버/클라이언트, 다중 서버 모드

GNS3가 사용하는 Dynamips hypervisor 모드는 TCP/IP 커뮤니케이션 채널을 사용한다. 즉 GNS3를 한 머신에서 실행하면서 Dynamips 에뮬레이터는 다른 머신에서 실행할 수 있는 것이다. GNS3의 Edit 메뉴의 IOS images and hypervisor를 선택한 후 Hypervisor 탭에서 hypervisor를 직접 지정한다.



본 예제에서는 "remote_host"의 7211 포트를 리스닝하는 hypervisor를 지정한다. 또한 Dynamips 호스트에서 발생한 모든 파일을 저장할 작업 폴더의 경로를 지정할 수 있다. 각 운영체제에 따라 디렉토리 구분자를 정확하게 사용하도록 한다. 또한 DNS 명이나 IP 어드레스를 Host 필드에 입력한다.

 

base UDP는 노드사이의 연결을 생성하기 위해  Dynamips가 사용하는 UDP NIO의 기본 포트이다. Dynamips는 링크의 양 끝단에 UDP 포트를 사용할 것이다. 예를 들면, 6개의 UDP 포트와 base UDP 1000은 완전한 그물구조의 라우터 3대에 필요한 포트이다. 아래 출력값은 Dynamips에서 검출된 노드 사이의 연결 상태와 UDP 포트를 나타낸다.

 

udp  0  0  localhost:10000  localhost:10001  ESTABLISHED
udp  0  0  localhost:10001  localhost:10000  ESTABLISHED
udp  0  0  localhost:10002  localhost:10003  ESTABLISHED
udp  0  0  localhost:10003  localhost:10002  ESTABLISHED
udp  0  0  localhost:10004  localhost:10005  ESTABLISHED
udp  0  0  localhost:10005  localhost:10004  ESTABLISHED

 

  • NIO는 Network I/O의 약자이다.

 

이제 동일 호스트에서 두 개의 다른 hypervisor을 생성하여 IOS 인스턴스를 실행하고 hypervisor의 base UDP는 동일하다고 가정하자. 그러면 각 hypervisor는 각 링크의 10000의 동일한 UDP 포트를 할당할 것이다.

 

Base console은 IOS 상의 콘솔을 열 때 hypervisor가 사용할 TCP 기본 포트이다. GNS3는 각 라우터의 콘솔 포트를 결정하는 공식으로 base port + router id가 사용된다. hypervisor 마다 이 수치를 동일한 값을 사용하는 것이 안전하다.



hypervisor를 설정하면 이들은 IOS images와 연결하도록 하자. 이미지를 선택한 후 Use the hypervisor manager 옵션의 체크를 해제하고 리스트에서 hypervisor를 선택한다. Ctrl키를 누른 상태에서 여러 개의 hypervisor를 선택할 수 있다. 메모리 사용에 따라 GNS3는 자동으로 로드밸런싱을 할 것이다. 이제 동일한 IOS image를 사용하는 라우터는 hypervisor와 통신할 수 있게 되었다.

 

주의 : 방화벽을 통해 필요한 트래픽이 지나갈 수 있는 지 확인하도록 한다. 이는 Dynamips 서버 포트(기본값 TCP 7200), 콘솔 포트(TCP 2000, 2001 등), NIO 연결을 위해 사용되는 포트(UDP 10000 이상 포트) 등이 포함된다.


댓글 없음:

댓글 쓰기