나는 이것을 내 Raspberry Pi와 함께 사용합니다 vnc
. ssh
한동안 잘 작동했지만 다음 후에는이 지침openvpn
Raspbian 운영 체제를 실행하는 Raspberry Pi에 설정합니다. Raspberry Pi에서 더 이상 VNC 서버에 액세스할 수 없다는 것을 발견했습니다.
x11 포워딩이 ssh
작동하고 있지만 vnc server
해당 포트에 액세스할 수 없어 부팅조차 불가능한 것 같습니다.
$ sudo systemctl status vncserver-x11-serviced -l
● vncserver-x11-serviced.service - VNC Server in Service Mode daemon
Loaded: loaded (/usr/lib/systemd/system/vncserver-x11-serviced.service; enabled)
Active: active (running) since Sun 2018-01-21 14:25:11 GMT; 1s ago
Main PID: 8896 (vncserver-x11-s)
CGroup: /system.slice/vncserver-x11-serviced.service
├─8896 /usr/bin/vncserver-x11-serviced -fg
├─8898 /usr/bin/vncserver-x11-core -service
└─8913 /usr/bin/vncagent service 14
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not listening on [::1]::5900: bind: Cannot assign requested address (99)
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not listening on [::1]::5900: bind: Cannot assign requested address (99)
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not listening on [::1]::5900: bind: Cannot assign requested address (99)
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not listening on [::1]::5900: bind: Cannot assign requested address (99)
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: ConsoleDisplay: Found running X server (pid=1001)
해당 포트에서는 아무것도 실행되지 않는 것 같습니다. 이것은 다음의 출력입니다 lsof
.
$ sudo lsof -i tcp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cupsd 752 root 10u IPv4 13511 0t0 TCP localhost:ipp (LISTEN)
cups-brow 756 root 5u IPv4 313573 0t0 TCP localhost:48450->localhost:ipp (CLOSE_WAIT)
dnsmasq 914 dnsmasq 5u IPv4 11726 0t0 TCP *:domain (LISTEN)
dnsmasq 914 dnsmasq 7u IPv6 11728 0t0 TCP *:domain (LISTEN)
sshd 976 root 3u IPv4 11842 0t0 TCP *:2718 (LISTEN)
tor 998 debian-tor 4u IPv4 12125 0t0 TCP 192.168.254.159:49042->ks3352401.kimsufi.com:8090 (ESTABLISHED)
tor 998 debian-tor 7u IPv4 14489 0t0 TCP localhost:9050 (LISTEN)
tor 998 debian-tor 11u IPv4 15915 0t0 TCP 172.94.70.220:47186->166.70.170.234:https (ESTABLISHED)
sshd 5550 root 3u IPv4 315897 0t0 TCP 192.168.254.159:2718->192.168.254.47:64500 (ESTABLISHED)
sshd 6322 morey 3u IPv4 315897 0t0 TCP 192.168.254.159:2718->192.168.254.47:64500 (ESTABLISHED)
sshd 6322 morey 10u IPv4 319584 0t0 TCP localhost:6010 (LISTEN)
다음은 도움이 될 수 있는 몇 가지 추가 정보입니다.
$ uname -a
Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
$ vncserver --help
VNC(R) Server 6.1.1 (r28093) ARMv6 (May 19 2017 12:59:35)
iptables
이는 ip6 변경 또는 비활성화와 관련된 것으로 보이지만 /etc/sysctl.conf
해결 방법을 모르겠습니다. 어떤 아이디어라도 크게 감사하겠습니다.
답변1
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not listening on [::1]::5900: bind: Cannot assign requested address (99)
::1
IPv6과 동일합니다 127.0.0.1
. 따라서 IPv6을 비활성화하면 청취가 ::1
불가능해집니다.
두 가지 옵션이 있습니다:
- 먼저 제 경우에는 IPv6를 다시 활성화하는 것이 좋습니다. 현대 사회에서는 IPv6를 비활성화할 실질적인 이유가 없으며(사실 몇 년 안에 IPv6 없이는 인터넷에 액세스하지 못할 수도 있음), 이 문제보다 더 많은 문제가 발생할 가능성이 높습니다.
- 더 이상 다른 IPv6 주소( 가장 가능성이 높은 다른 후보 주소) 에서
vncserver-x11
수신을 시도하지 않도록 구성하십시오 .::1
::
이는 vncserver-x11-serviced
RealVNC에만 해당되는 것으로 보이며 수신 주소를 구성하는 방법을 설명하는 문서를 찾을 수 없으므로 마지막 부분을 직접 파악해야 할 수도 있습니다.
답변2
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not accepting connections: failed to listen on at least one address.
Jan 21 14:25:11 raspberrypi vncserver-x11[8898]: TcpListenerManager: not listening on [::1]::5900: bind: Cannot assign requested address (99)
수신 주소가 잘못되었습니다. 포트와 주소 사이에는 IPv6 주소에서 약어로 사용되는 이중 구분 기호 :
가 아닌 단일 구분 기호를 사용해야 합니다.::
어디를 구성하든 다음 [::1]::5900
으로 변경하십시오.[::1]:5900
답변3
ipv6을 비활성화하고 RealVnc에서 동일한 문제를 확인하여 다음을 사용하여 해결했습니다. -IpListenAddresses=0.0.0.0
매개변수에서 꼭 -localhost
제거해주세요
매개변수 세부사항은 다음과 같습니다.
IpListenAddresses - TCP/UDP 연결을 수신할 쉼표로 구분된 IP 주소 목록이거나 사용 가능한 모든 IP 주소를 수신하려면 비어 있습니다. localhost 매개변수가 True로 설정된 경우 이 매개변수는 무시됩니다. (기본값=)