VNC,为什么又无法连接了之前用的好好的vnc Viewer,过了一段时间,突然无法正常连接了,在折腾一段时间后,终于理

VNC,为什么又无法连接了之前用的好好的vnc Viewer,过了一段时间,突然无法正常连接了,在折腾一段时间后,终于理

之前用的好好的vnc Viewer,过了一段时间,突然无法正常连接了,在折腾一段时间后,终于理清遇到的问题,感觉像打败了白衣秀士一样爽。

1.启动vncserver

第一步需要检查vncserver是否正常启动

onekey@OptiPlex:~$ ps -ef | grep vnc

root 4715 1 0 8月12 ? 00:02:17 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/onekey/.vnc/passwd -rfbport 5900 -shared

onekey 12392 6005 0 06:59 pts/24 00:00:00 grep --color=auto vnc

onekey 15174 1 0 9月23 ? 00:00:00 Xtightvnc :1 -desktop X -auth /home/onekey/.Xauthority -geometry 1024x768 -depth 24 -rfbwait 120000 -rfbauth /home/onekey/.vnc/passwd -rfbport 5901 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb

onekey 19716 1 0 9月23 ? 00:00:00 Xtightvnc :4 -desktop X -auth /home/onekey/.Xauthority -geometry 1024x768 -depth 24 -rfbwait 120000 -rfbauth /home/onekey/.vnc/passwd -rfbport 5904 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb

onekey 21194 1 0 9月23 ? 00:00:00 Xvnc4 :2 -desktop OptiPlex:2 (onekey) -auth /home/onekey/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth /home/onekey/.vnc/passwd -rfbport 5902 -pn -fp /usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/,/usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb

使用ps命令,可以查看vnc占用的端口,可以看到我这边有三个类型的vncserver,x11vnc,Xtightvnc,Xvnc4,而实际上主屏控制只有X11vnc,其他端口如5901,连上去之后控制的是副屏,不是主屏

2.检查网络是否可达

vncserver启动之后,需要检查该端口外网是否可达,另找一个机器,执行命令

test@test-7:~$ telnet 10.88.88.39 5900

Trying 10.88.88.39...

telnet: Unable to connect to remote host: Connection refused

test@test-7:~$ telnet 10.88.88.39 5900

Trying 10.88.88.39...

上诉两种情况,第一种一般是网络是通的,端口未启,直接拒绝,第二种一般是有策略拦截,一直阻塞,出现第二种情况,需要查看防火墙,iptables策略等

onekey@OptiPlex:~$ sudo iptables -L -n --line-numbers

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 NFQUEUE all -- 0.0.0.0/0 0.0.0.0/0 NFQUEUE num 0

Chain FORWARD (policy DROP)

num target prot opt source destination

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

可以看到我这里有一条策略做了拦截,删除它

onekey@OptiPlex:~$ sudo iptables -D INPUT 1

onekey@OptiPlex:~$ sudo iptables -L -n --line-numbers

Chain INPUT (policy ACCEPT)

num target prot opt source destination

Chain FORWARD (policy DROP)

num target prot opt source destination

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

再次测试

test@test-7:~$ telnet 10.88.88.39 5900

Trying 10.88.88.39...

Connected to 10.88.88.39.

Escape character is '^]'.

RFB 003.008

终于通了

客户端连接

windows客户端可选tightVNC Viewer, VNC Viewer等,前面两步确认OK后,基本问题不大了,这里需要注意两点

1.连接的端口号

不同的端口号对应的屏幕是不一样的,可能是主屏,也可能是副屏

2.密码校验

这里的密码是vnc的密码,不是服务器的账号密码,在服务器执行vncpasswd可以修改密码

相关推荐