linux2

6일차 리눅스, VNC

컴공 2013. 2. 7. 22:15
반응형

VSFTP 이어서 조금

# vi /etc/vsftpd/vsftpd.conf
userlist_enable=yes     // "etc/vsftpd/user_list" 파일 사용여부 현업에서는 NO로하고 "etc/vsftp/ftpuser"만 사용함, 리스트에서 허용하는 사람만 접근가능
userlist_deny=yes는 enable과 반재로 user_list를 차단하는 리스트롤 활용
userlist_file=/back/ftp_user       // default는 /etc/vsftp/userlist이나 다음과 같이 지정해줄 수도 있다.
├───┤ 다음과 같이 필드 부분은 절대 대문자를 쓰지 않는다. 뒤 오는 설정값 "yes"나 "no"는 대소문자 구분하지 않는다.

max_client=0    //0은 vsftp에 접속하는 수의 제한없음
max_per_ip=0    // client호스트당 최대 접속할 수 있는 수.
no_anon_password=yes  //anonymous의 비번없이 접속가능 여부 (사실상 상관없음)
anon_root=/backup...   //익명계정이 접속시 사용하게 될 홈디렉토리. 기본 위치는 /var/ftp
                                // .message 파일로 환영의 문구를 남길 수도 있다.

-----------------------------------

VNC 서비스

vnc란 Virtual Network Computing의 약자로 리모트에 있는 시스템에 원격으로 접속하여 관리 할 수 있는 프로그램이다.
오픈 소스인 VNC는 원격 데스크톱 연결과 유사하다. GUI환경에서만 사용가능하며 CUI(Charater User Interface)에서는 사용이 불가능하다. 설치 후 간단한 데몬 시작과 함께 이용이 가능하다.

vnc의 특징 및 장점

1) 설치가 간편하다. RPM 한줄이면 설치가 가능하며 서비스구동 후 바로 이용이 가능하다.
2) 대부분의 운영체제에서 사용이 가능하다. (windows, linux, unix, htpux, fre, vsd macos

[root@localhost Packages]# rpm -qa|grep vnc
tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686
tigervnc-1.0.90-0.17.20110314svn4359.el6.i686[root@localhost Packages]# rpm -Uvi /mp/cd/Packages/tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686.rpm  서버파일
[root@localhost Packages]# rpm -Uvi /mp/cd/Packages/tigervnc-1.0.90-0.17.20110314svn4359.el6.i686.rpm      클라이언트 파일
                                         
       //미리 설치가 되어있어서 업데이트로 설치했다.
                                               // 업데이트로 설치시 깔려있지 않다면 -ivh 명령어와 동일하다. 

서비스 시작은 # vncserver #/etc/rc.d/init.d/vncserver restart(5.0대는 세션이 안끊기는 오류가 있다)이다.
비밀번호 6자리 이상을 입력해야지 된다.

[root@localhost ~]# ll /root/.vnc/
합계 16
-rw-r--r-- 1 root root 1954 2013-02-07 23:06 localhost.localdomain:1.log
-rw-r--r-- 1 root root    5 2013-02-07 23:06 localhost.localdomain:1(session ID).pid  //해당원격서비스 구동시 기록되는 파일, 1은 세션 아이디를 의미한다.
//위 파일들은 /etc/sysconfig/network 에서 확인이 가능하다.
-rw------- 1 root root    8 2013-02-07 21:50 passwd    //vncserver 실행시 지정한 암호 데이터 여기서 비밀번호 재설정이 가능하다.
-rwxr-xr-x 1 root root  654 2013-02-07 23:06 xstartup    //vnc server 주 설정파일

서비스 중지하기 : 현재 열려있는 세션 종료하기 # vncserver -kill:[세션번호]
[root@localhost ~]# pstree|grep vnc
     |-Xvnc
     |                 `-vncconfig
[root@localhost ~]# vncserver -kill :1
Killing Xvnc process ID 2552
[root@localhost ~]# pstree|grep vnc

#### 원격실습 준비 ####

1. 먼저 vnc를 위해서는 원격을 당할(server)쪽의 포트를 개방해줘야 한다.

[root@localhost ~]# netstat -anutp|grep vnc
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      2988/Xvnc
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      2988/Xvnc
tcp        0      0 :::6001                     :::*                        LISTEN      2988/Xvnc

2. # /etc/selinux/config 에서 selinux를 꺼주거나 예외사항으로 설정한다.

1. getsebool -a 하면 SELinux 의 모든 boolean 값에 대한 상태를 출력해준다.
2. SELinux 를 비활성화 시키기 위해서는 /etc/selinux/config 를 열고 SELINUX=disabled 라고 수정한다. 리부팅해야하나? 난 했다. ^^ 리부팅 안하는 방법이 있을텐데 ㅋ
3. SELinux 비활성화 방법 하나 더~
/boot/grub/menu.lst 에서 커널 부트 옵션에 selinux=0 추가한다.
4. setenforcing 0 <-- 리부팅 안한다 ^^ 

3. 방화벽을 해제한다 # system-config-firewall
위에서 확인한 결과 5901포트와 6001포트를 사용중인 것을 확인할 수 있다.

590?
600? 에서 ?는 sno(세션번호이다)
리눅스와 리눅스를 연결할때 즉, 같은 네트워크환경을 사용할 때에는 udp로 접속하고
윈도우와 리눅스를 연결할때 즉, 다른 네트워크환경에서 vncviewer을 사용할 때에는 tcp를 사용한다.

4. vncviewer [hostname]:[sesson no]  //하지만 현재 dns서버가 돌고 있지 않으므로 hostname부분에 ip를 바로 사용한다.

 
방화벽을 열어주지 않으면 다음과 같은 socket error가 발생한다.

방화벽(system-config-firewall에서 udp부분 5091,6001) 해제 후 무사히 새로운 창으로 원격접속이 되는 것을 볼 수 있다.

실습문제
1. linux-> linux 연결하기
Image1과 Image2를 이용하여 vnc를 구성하시오
server:image1
client:image2

네트워크에서 게이트웨이 동일하게 192.168.x.2로 맞춰주고 방화벽 서버측 udp로 풀어주면 잘됨.

2.windows에서 linux연결하기
windows에서 "vncviewer"를 이용하여 Linux vnc를 구성하시오
* server: Image1
* client : windows
c:\0_linux\2_util\vnc_4_1_3_x86_win32_viewer.exe 이용

  리눅스(server)쪽 아이피와 계정 번호를 입력한다. [server IP]:[계정번호]


 

반드시 # system-config-firewall에서 tcp 590?와 600?을 추가해준다.

반응형