simon_cheng
作者simon_cheng·2010-10-29 13:14
系统运维工程师·颀中科技(苏州)有限公司

RedHat5.4 VNC 配置

字数 6942阅读 4025评论 0赞 0
1、  首先要配置的是服务端

A 确认服务器端是否安装了vncserver

  使用rpm –qa vnc命令如果收到如下信息说明已经安装了vncserver,

  [root@localhost: ~]#rpm -qa |grep vnc

gtk-vnc-python-0.3.2-3.el5

vnc-server-4.1.2-14.el5

gtk-vnc-0.3.2-3.el5

vnc-4.1.2-14.el5

  B从光盘找到安装包进行安装

    首先将光盘挂载(也叫解压)到某个目录这里是在/var/ftp/pub/下面建立了rhel5-64目录

    mount –o loop rhel-server-5.3-x86_64-dvd.iso  /var/ftp/pub/rhel5-64/

    然后在/var/ftp/pub/rhel5-64/Server目录下找到 vnc-server-4.1.2-14.el5.x86_64.rpm安装包,使用rpm –ivh vnc-server-4.1.2-14.el5.x86_64.rpm命令直接安装;

2.把用户名加入到配置文件中:
[root@localhost ~]# vi /etc/sysconfig/vncservers
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own). You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
VNCSERVERS="1:root"   #新增部分

3.防火墙端口设置
在使用防火墙的情况下来连接到一个远程系统,需要打开端口5901,然后重启iptables服务。

[root@localhost ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT   #新增部分
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

4.重启iptables服务

[root@localhost ~]# /sbin/service iptables restart
清除防火墙规则:                                           [确定]
把 chains 设置为 ACCEPT 策略:nat filter                   [确定]
正在卸载 Iiptables 模块:                                  [确定]
应用 iptables 防火墙规则:                                 [确定]
载入额外 iptables 模块:ip_conntrack_netbios_ns ip_conntrac[确定]

5.启动vncserver,这时候通过VNC Viewer只能看到终端窗口
[root@localhost ~]# vncserver

You will require a password to access your desktops.

Password:                    #123456
Verify:                          #123456

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Creating default startup script. /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

5.设置图形界面登录
[root@localhost ~]# vi /root/.vnc/xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER #去掉注释符号‘#’
exec /etc/X11/xinit/xinitrc        #去掉注释符号‘#’

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &               #注释掉

gnome-session & #新增

 

 

 

 

6.重启vncserver
[root@localhost ~]# service vncserver restart
关闭 VNC 服务器:1:root                                    [确定]
启动 VNC 服务器:1:root xauth: creating new authority file /root/.Xauthority

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

                                                           [确定]
[root@localhost ~]#

7.这时再通过客户端就可以登录图形界面了


 

 

 

 

4)客户端的连接

a、在linux下,运行vncviewer命令即可,服务器地址的写法形如192.168.3.119:1
b、在windows下,运行windows版本的vncviewer即可,用法与linux下相近。
c、用浏览器(平台无关),作为java applet来实现,以形如http://192.168.3.119:5801的方式来启动    (vnc 端口从5800 开始依次类推,一般会是5800,5900)

5)修改密码

运行vncpasswd即可

6)停止vncserver

#vncserver -kill :1
#vncserver -kill :2

注意到vncserver只能由启动它的用户来关闭,即时是root也不能关闭其它用户开启的vncserver,
除非用kill命令暴力杀死进程。

7)稳定性设置

vncserver默认在多个客户机连接同一个vncserver的显示端口时,vncserver端口旧连接,而为新连接服务,可通过-dontdisconnect拒绝新连接请求而保持旧的连接。

8)同一个显示器可以连接多个客户机

#vncserver –alwaysshared

 

 

* 注意到每个用户都可以启动自己的 vncserver,每个用户可以启动多个 vncserver,
      用ip加端口号 ip:1,ip:2,ip:3 来标识。vncserver的大部分配置文件及日志文件都在用户home目录下.vnc目录下

 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广