Не удается подключиться к серверу VNC

Надеюсь, ваша коллективная мозговая мощь может помочь мне ...

tl; dr - У сервера Ubuntu, кажется, есть несколько портов, открытых, которые не видны внешним (LAN) мира - WTF продолжается?

Дольше:

У меня есть сервер без заголовка 17.04, к которому я хочу подключиться с помощью VNC, но сейчас я боюсь. Я использую два клиента - как для Windows 10, так и для RealVNC, один из которых используется TightVNC.

Я настроил сервер TightVNC на своей машине Ubuntu, в основном следуя инструкциям на https: //www.digitalocean .com / community / tutorials / how-to-install-and-configure-vnc-on-ubuntu-16-04, намереваясь запустить Xfce в качестве рабочего стола:

$ sudo apt install xfce4 xfce4-goodies tightvncserver

Я изменил xstartup file to:

#!/bin/bash xrdb $HOME/.Xresources startxfce4 &

И предоставил исполняемые привилегии.

Если я запустил сервер с помощью tightvncserver, я получаю:

New 'X' desktop is numbersix:1 Starting applications specified in /home/adam/.vnc/xstartup Log file is /home/adam/.vnc/numbersix:1.log

nmap localhost дает:

Starting Nmap 7.40 ( https://nmap.org ) at 2017-11-09 21:05 GMT Nmap scan report for localhost (127.0.0.1) Host is up (0.000076s latency). Other addresses for localhost (not scanned): ::1 Not shown: 986 closed ports PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 631/tcp open ipp 5901/tcp open vnc-1 6001/tcp open X11:1 8000/tcp open http-alt 8001/tcp open vcom-tunnel 8010/tcp open xmpp 8080/tcp open http-proxy 9091/tcp open xmltec-xmlmail

nmap 192.168.1.6 дает тот же результат.

Я установил сервер как службу systemd - создал /etc/systemd/system/vncserver@.service с этим контентом:

[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=adam PAMName=login PIDFile=/home/adam/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target

Затем запустили службу с помощью

$ sudo systemctl daemon-reload $ sudo systemctl enable vncserver@1.service $ sudo systemctl start vncserver@1

Все, похоже, работает. sudo systemctl status vncserver@1 дает:

● vncserver@1.service - Start TightVNC server at startup Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-11-09 21:38:13 GMT; 6s ago Process: 3924 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS) Process: 3916 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2) Main PID: 3937 (Xtightvnc) Tasks: 0 (limit: 4915) CGroup: /system.slice/system-vncserver.slice/vncserver@1.service ‣ 3937 Xtightvnc :1 -desktop X -auth /home/adam/.Xauthority -geometry 1280x800 -depth 24 -rfbwait 120000 -rfbauth /h Nov 09 21:38:12 numbersix systemd[1]: Starting Start TightVNC server at startup... Nov 09 21:38:12 numbersix systemd[3916]: pam_unix(login:session): session opened for user adam by (uid=0) Nov 09 21:38:12 numbersix systemd[3924]: pam_unix(login:session): session opened for user adam by (uid=0) Nov 09 21:38:13 numbersix systemd[1]: Started Start TightVNC server at startup.

telnet localhost 5901, кажется, подключается OK:

Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. RFB 003.008

И sudo netstat -nlpt | grep :59 дает:

tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 3937/Xtightvnc

Но , telnet numbersix 5901 и telnet 192.168.1.6 (из Windows) с:

Could not open connection to the host, on port 5901: Connect failed

И ни RealVNC, ни TightVNC не будут подключаться (используя имя хоста или IP). Ping работает на обоих хостах Windows с IP или именем хоста. Также не удалось подключиться к ноутбуку Ubuntu. Опять же, может пинг. Я могу ssh без проблем. sudo nmap numbersix с ноутбука Ubuntu дает:

Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-10 12:50 GMT Nmap scan report for numbersix (192.168.1.6) Host is up (0.0032s latency). Not shown: 997 filtered ports PORT STATE SERVICE 22/tcp open ssh 8000/tcp open http-alt 8001/tcp open vcom-tunnel MAC Address: 60:45:CB:64:2B:C8 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 12.85 seconds

Цепочки INPUT, FORWARD и OUTPUT из sudo iptables -L на сервере:

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:bootps ACCEPT tcp -- anywhere anywhere tcp dpt:bootps ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere INPUT_direct all -- anywhere anywhere INPUT_ZONES_SOURCE all -- anywhere anywhere INPUT_ZONES all -- anywhere anywhere DROP all -- anywhere anywhere ctstate INVALID REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy DROP) target prot opt source destination ACCEPT all -- anywhere 192.168.122.0/24 ctstate RELATED,ESTABLISHED ACCEPT all -- 192.168.122.0/24 anywhere ACCEPT all -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-port-unreachable REJECT all -- anywhere anywhere reject-with icmp-port-unreachable DOCKER-USER all -- anywhere anywhere DOCKER-ISOLATION all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere FORWARD_direct all -- anywhere anywhere FORWARD_IN_ZONES_SOURCE all -- anywhere anywhere FORWARD_IN_ZONES all -- anywhere anywhere FORWARD_OUT_ZONES_SOURCE all -- anywhere anywhere FORWARD_OUT_ZONES all -- anywhere anywhere DROP all -- anywhere anywhere ctstate INVALID REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:bootpc OUTPUT_direct all -- anywhere anywhere

Поэтому я думаю, что это предполагает что iptables ничего не блокирует ...

Может ли кто-нибудь помочь мне диагностировать проблему, пожалуйста?

1
задан 10 November 2017 в 22:00

2 ответа

Ответ заключался в моем неспособности понять iptables - и особенно то, что означал вывод из sudo iptables -L ...

Когда я вместо этого выполнял sudo iptables -S, мне было представлено гораздо более полное описание каждое правило, и было очевидно, что не было подходящего правила INPUT, которое позволяло трафик tcp на 5901 (или любой другой порт, на который я смотрел). Тогда окончательное правило INPUT, которое по существу отклоняло все, что не соответствовало правилу, собирало этот трафик и отклоняло его. Правило, которое, как я думал, должно было ПРИНИМАТЬ трафик, применяемый только к интерфейсу lo (loopback).

Я запустил это: sudo iptables -I INPUT 7 -s 192.168.1.0/24 -i enp37s0 -j ACCEPT

Это в основном вложение правила в line 7 из цепочки INPUT и сообщать ему, чтобы ПРИНИМАТЬ любой трафик из подсети 192.168.1.0/24, поступающей на порт Ethernet.

Следующая задача - заставить iptables-persistent фактически работать при перезагрузке !!

0
ответ дан 18 July 2018 в 03:33

Ответ заключался в моем неспособности понять iptables - и особенно то, что означал вывод из sudo iptables -L ...

Когда я вместо этого выполнял sudo iptables -S, мне было представлено гораздо более полное описание каждое правило, и было очевидно, что не было подходящего правила INPUT, которое позволяло трафик tcp на 5901 (или любой другой порт, на который я смотрел). Тогда окончательное правило INPUT, которое по существу отклоняло все, что не соответствовало правилу, собирало этот трафик и отклоняло его. Правило, которое, как я думал, должно было ПРИНИМАТЬ трафик, применяемый только к интерфейсу lo (loopback).

Я запустил это: sudo iptables -I INPUT 7 -s 192.168.1.0/24 -i enp37s0 -j ACCEPT

Это в основном вложение правила в line 7 из цепочки INPUT и сообщать ему, чтобы ПРИНИМАТЬ любой трафик из подсети 192.168.1.0/24, поступающей на порт Ethernet.

Следующая задача - заставить iptables-persistent фактически работать при перезагрузке !!

0
ответ дан 24 July 2018 в 17:52

Другие вопросы по тегам:

Похожие вопросы: