Cloud2013.02.27 23:22

몇일전에 LG Xnote X360 시리즈의 울트라북을 하나 샀다. 정말 얇고 슬림한것이 기존에 들고 다니던 노트북에 비하면 무겁지도 않고 속도도 상당히 빠르다. 여하튼 노트북 샀다고 자랑하려고 이 글을 쓰는 건 아니구, ...


노트북을 구매하고 가상화를 하기 위해 Virtual Box를 설치했다. 그리고, Windows가 설치되어 있는 Host OS에서 Virtual Box에 설치한 Ubuntu 12.04 Server Guest OS로 SSH 연결이 잘 안되어 이틀동안 삽질하다가 오늘에서야 어떻게 연결을 하면 되는지 알아냈다. 그래서 그 방법을 적어놓어 놓고자 한다. 다음에 또 이런일이 발생하게 되면 분명히 또 기억이 안 날 것이기 때문에,... ^^;;


1. 나는 우선 무선 네트워크인 Wifi 환경에서 Virtual Box를 설치했다. 이렇게 되면 Network 속성에 Virtual Box Host Only Network가 생성이 된다. 이 Virtual Box Host Only Network와 Wifi를 연결해 Network Bridge를 만든다. 아래 그림처럼 말이다.


2. 이렇게 Network Bridge를 생성하고 DOS창에서 IP 정보를 확인한다. 



3. 그리고서 Virtual Box에서 Ubuntu 인스턴스를 하나 생성한다. 이때 네트워크 설정은 기본 NAT에 아래그림처럼 추가로 VirtualBox Host-Only Network를 하나를 더 선택한다.


4. 위와 같은 정보로 Ubuntu를 설치한 후 "/etc/network/interfaces"의 네트워크를 정보를 아래와 같이 변경한다.

** 통신을 하기 위해서는 IP 주소가 같은 Network 대역안에 존재해야 한다. 그러므로 address를 Windows에 확인한 IP의 같은 네트워크 주소대로 설정해야 한다.


5. 위와 같이 네트워크 정보를 수정한 후 Neworking을 Restart 하거나 서버를 재부팅한 후 HOST PC은 Windows의 DOS 창에서 ping을 한번 테스트 해 본다.


이때 Ping 테스트가 잘 되면 SSH 로 Guest OS인 Ubuntu에 접속이 가능하다. 단 Wifi는 장소에 따라 자주 변경이 일어나므로 추천을 하지는 않는다. 그러나, 회사에서 테스트를 하게 될 경우에는 대부분 고정 IP를 받아 사용하게 되므로 무선 네트워크로 설정할 때보다 안정적이다.

Posted by 나리 짱!!! naleejang
Linux2012.02.01 17:07
netstat는 ubuntu linux의 network 정보를 확인할 수 있는 명령어로써 다음과 같이 사용할 수 있다.

#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)
#netstat -natc (열려있는 모든 TCP 포트를 일정시간마다 반복 출력한다) 



netstat를 명령어를 실행해 보면 위와 같은 결과를 화면으로 만나볼 수 있다. 이때 사용되는 용어들에 대해서 간단히 정리해 보도록 하겠다.

Recv-Q 

프로그램이 소켓을 맺고 카피되지 않은 바이트의 수이다.


Send-Q

리모트 호스트에 의해 응답(ACK) 되지 않은 바이트의 수이다.


LISTEN

서버 애플리케이션이 적재되어 수동적인 모드로 포트를 개설하였음을 의미로 TCP는 연 결요청이 수신 되기를 기다리고 있다.


ESTABLISHED

가상회선이 작동되는데, 3단계 핸드셰이킹 과정이 완료되면 두 시스템은 이 상태에 들어간다.


SYN-SENT

로컬 시스템의 클라이언트 애플리케이션이 원격 호스트에 능동적인 개설을 요청한다. TCP는 Synchronize flag 를 설정한 시작 세그먼트를 전송 하였으며, 원격 시스템도 역시 Synchronize flag 를 설정한 시작 세그먼트로 응답할 것을 기다린다.


SYN-RECEIVED

서버의 TCP가 원격 클라이언트로부터 Synchronize flag가 설정된 시작 세그먼트를 수신하였고 자신의 시작 세그먼트로 응답 하였으며, 그 세그먼트에 대한 확인메세지를기다린다.


FIN-WAIT-1

로컬 애플리케이션은 가상 회선에 능동적인 종결을 요청하였으며, TCP는 Finish flag가 설정된 종결 세그먼트를 전송한다. 그러나 TCP는 아직도 원격 시스템이 세그먼트에 대한 확인 메세지와 자신만의 종결 세그먼트로 응답하기를 기다린다. 회선이 완전히 종결될 때까지 원격 시스템으로부터 데이터는 수신하지만, 추가적인 데이터를 전송하지는않는다.


FIN-WAIT-2

(FIN-WAIT-1 의 설명과 처럼) 로컬 TCP는 Finish flag 가 설정된 종결 세그먼트를 전송하였으며, (WAIT-CLOSE 의 설명대로) 원격 시스템으로 부터 그 세그먼트에 대한 확인 메세지를 수신한다. 그러나 원격 애플리케이션이 아직 작업을 종료 하지 않아 원격TCP가 자신의 종결 세그먼트를 생성하지 못하고 있는 상태이다.


COLSE-WAIT

(FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고 로컬 TCP는 그 세그먼트에 대한 확인 메세지를 송신 시스템에 전송한다. 그러나 로컬 TCP는 로컬 애플리케이션에서 작업을 종료하지않아 자신의 종결 세그먼트를 생성하지 못한다.


LAST-ACK

(FIN-WAIT-1의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고, 로컬 애플리케이션은 회선의 종결에 합의하여 자신도 종결을 요청한다. 그 결과 로컬 TCP는 Finish flag 가 설정된 자신의 종결 세그먼트를 전송 하였으며, 이 세그먼트에 대한 확인 메세지가 수신되면 종결된다.


CLOSING

이 상태는 흔하지 않으며, 일반적으로 세그먼트가 네트워크에서 분실되었다는것을 나타낸다. 이런 경우 로컬 TCP는 (FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트를 전송 하고 (LAST-ACK 의 설명과 같이) 원격 시스템의 종결 세그먼트도 수신하였지만, FIN-WAIT-1 단계에서 전송한 세그먼트에 대한 확인 메세지가 수신되지않은 상태이다. 이 상태는 보통 확인 메세지가 전송 도중 분실되었다는 의미이다.


TIME-WAIT

회선의 종결 절차가 완결되었으나 TCP 는 분실되었을지 모르는 느린 세그먼트를 위해당분간 소켓을 열어 놓은 상태로 유지한다. 이 상태는 새로운 연결이 기존의 연결에서 사용된 일련번호를 다시 사용하는 것을 막는다. 원격 시스템이 종결하는 호스트로부터 더이상 데이터를 수신할 가능성이 없으므로, 이 상태는 능동적인 종결을 요청한 호스트에서만 나타난다.


CLOSED

아무일도 발생하지 않는다. 회선은 종결되었고, TCP는 그 가상 회선에 사용하였던 모든자원을 놓아준다. 이 상태를 보여줄 수 있는 가상 회선이 없으므로 아무 일도 발생하지 않는다.

'Linux' 카테고리의 다른 글

[ubuntu] adduser 기능 및 옵션  (0) 2013.01.30
Windows7에서 Ubuntu Install USB 만들기  (0) 2012.12.08
Ubuntu Memory 정보 알아보기  (0) 2012.03.22
ubuntu netstat 명령어 정리  (0) 2012.02.01
Ubuntu CPU 정보 알아보기  (2) 2012.01.27
Ubuntu CPU 프로세스 알아보기  (0) 2012.01.27
Posted by 나리 짱!!! naleejang