vncviewer需要开放几个端口

vncviewer需要开放几个端口,第1张

三个。vncviewer需要开放三个端口。vncviewer相当于是虚拟网络控制台的应用程序,简单来说,vnc就是一个远程操作,这个远程操作可适用于Linux和windows两个操作系统

vnc的默认端口是5901,这个说法是不对的。vnc并不是只有一个端口。 

以前另一个文章介绍了nvcserver的配置用户的过程,里面提到了桌面号,这个桌面号就可以端口有密切关系 

先看看这个配置 

VNCSERVERS="1:oracle 2:root" 

VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd" 

...... 

这里是摘自/etc/sysconfig/vncservers里的一段。 这里就配置了2个桌面,一个桌面号是1, 一个是2. 

vncserver在调用的时候,会根据你的配置来启用server端的监听端口, 从5900开始,加上你的桌面号,比如这里的oracle就是5901,root就是5902 

所以通过这里的桌面号也是可以达到我们的目的的,根据你的目标端口来设定用户的周面好,虽然可以解决,但是总是感觉有些没有拉干净的感觉,这不是 这次的研究内容,还是找个痛快的方式吧。 

这次的研究主要就是颠覆这样的默认规则,直接的深入进去,我要直接修改5900+为15900+ 

在网上没有找到比较好的方法和文档,自己动手吧 

从vncserver这个启动命令开始吧, 

[root@redflag1 ~]# which vncserver 

/usr/bin/vncserver 

[root@redflag1 ~]# file /usr/bin/vncserver 

/usr/bin/vncserver: a perl script text executable 

[root@redflag1 ~]# grep "59" /usr/bin/vncserver -n 

18:# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 

118:$vncPort = 5900 + $displayNumber 

238:# n is taken if something is listening on the VNC server port (5900+n) or the 

257:# (5900+n) or the X server port (6000+n). 

274: if (!bind(S, pack('S n x12', $AF_INET, 5900 + $n))) { 

经过这几个回合,解决方法已经大白于天下了。 

这里启动的脚本hard code了5900,我们可以替换这里就OK了 

先定义一个$default_port=15900 

然后替换118和274行的5900为$default_port就可以了 

现在启动服务 

[root@redflag1 ~]# service vncserver restart 

查看端口 

[root@redflag1 ~]# netstat -l | grep 159 

tcp 0 0 *:15901 *:* LISTEN 

tcp 0 0 *:15902 *:* LISTEN 

已经成功了。用vncviewer链接一下。可以了

如果你的vnc访问:192.168.1.203:1 那么他访问服务器的真正端口是5900+1=5901 (5900是vnc的默认端口)

接下来

编辑vi /etc/sysconfig/iptables

在里边加入

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT

等等

grep vnc /etc/services

vnc-server      5900/tcp                # VNC Server

vnc-server      5900/udp                # VNC Server

拓展资料:

1.VNC Server 是一般 Linux 发行版都会附带的 VNC 服务器软件。

2.vncserver 是一个为了满足分布式用户共享服务器上面的资源,而在服务器上开启的一项服务,对应的客户端软件为vncviewer它也可以是不同的操作系统,比如利用windows远程访问linux系统资源的一种远程访问方式。

3.Linux[2]操作系统是UNIX操作系统的一种克隆系统,它诞生linux系统于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

4.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。

5.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

6.Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。

7.Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。

修改该端口的步骤如下:

vnc的默认端口是自己配置的,并不是这有一个端口号。

通过打开/etc/sysconfig/vncservers。 这里就配置了2个桌面,一个桌面号是1, 一个是2.

这里的配置的参数

VNCSERVERS="2:root" VNCSERVERARGS[2]="-geometry 1280x800"

就可以看出,这里就配置了2个桌面,一个桌面号是1, 一个是2.还有远程桌面的分辨率

想要修改vncserver的配置,先找配置文件路径

[root@jtsyb01 longrise]# which vncserver /usr/bin/vncserver

然后看看这个配置文件的类型,

[root@jtsyb01 longrise]# file /usr/bin/vncserver /usr/bin/vncserver: a /usr/bin/env perl script text executable

然后可以了解到的基本信息是可以通过text类型文件

通过查找以前配置的端口,我这边配置的是80端口

[root@jtsyb01 longrise]# grep "80" /usr/bin/vncserver -n 84:       "xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\" &\n". 222:$vncPort = 8001 + $displayNumber419:    if (!bind(S, pack('S n x12', $AF_INET, 8001 + $n))) {

通过终端可以看到我这边以前的是8001端口为基础端口,通过修改222行的vncport和419行的数字8001,修改之后保存文件

重启vncserver服务,就成功修改了vnc的端口号了

最后可以查看端口情况:

[root@jtsyb01 longrise]# ps -ef|grep vnc root     17134     1  0 May23 ?        00:13:00 /usr/bin/Xvnc :1 -desktop jtsyb01:1 (longrise) -auth /root/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 8002 -fp catalogue:/etc/X11/fontpath.d -pn

可以查看端口运行的是8002端口。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/149220.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-20
下一篇2023-03-20

发表评论

登录后才能评论

评论列表(0条)

    保存