outline-apps icon indicating copy to clipboard operation
outline-apps copied to clipboard

Unable to connect to server from a Linux client (other clients work)

Open zxti opened this issue 5 years ago • 24 comments

Describe the bug I cannot connect to a server from Ubuntu Linux, and the server is working fine for other devices, including Android/iOS/MacOS.

To Reproduce Steps to reproduce the behavior:

  1. Follow an invitation link.
  2. Copy the code and download the Outline AppImage.
  3. Mark the file executable.
  4. Double click the icon from Nautilus to run it.
  5. Confirm adding the server (link detected).
  6. Click Connect on the one and only newly added server.
  7. After 1 second, the connecting rotation animation stops, and an error appears from the bottom:

"We can't seem to connect to your server. Please check that you are connected to the Internet and try again."

Expected behavior That I should be able to connect.

Screenshots I think they aren't particularly helpful here, but LMK if they would be.

Desktop (please complete the following information):

  • OS: [e.g. iOS] Ubuntu 16.04
  • Browser [e.g. chrome, safari] Chrome
  • Version [e.g. 22] 75.0.3370.100

Additional context sudo ufw status says it's disabled.

I have no idea whether or where there are application logs detailing the error, or any specific logs I should be looking at. I am not a Linux expert, just a normal user.

I saw the following appear in /var/log/syslog in case it's helpful:

gnome-session[29225]: connecting to 83XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX87...
gnome-session[29225]: a helper has exited, disconnecting
gnome-session[29225]: all helpers have exited
gnome-session[29225]: disconnected from 83XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX87
gnome-session[29225]: could not connect: ServerUnreachable ()
gnome-session[29225]: Promise "DNS lookup" resolved before 10000 ms.

zxti avatar Nov 29 '19 04:11 zxti

+1 same problem

giuseppemorelli avatar Jan 17 '20 10:01 giuseppemorelli

+1 same problem

rclyde avatar Feb 18 '20 10:02 rclyde

+1 same problem

BochengZeng avatar Feb 22 '20 04:02 BochengZeng

I have the same problem, someone solved it ?

"We can't seem to connect to your server. Please check that you are connected to the internet and try again."

GarryLau avatar Mar 10 '20 00:03 GarryLau

hmmm. Quick sanity check, can you ping and traceroute to the servers?

JonathanDCohen avatar Mar 10 '20 17:03 JonathanDCohen

hmmm. Quick sanity check, can you ping and traceroute to the servers?

I have the same issue. I can ping to the server and also can connect via ssh as well. I believe it is not the server or connection issue. Because I run tcpdump to monitor the traffic, the connection actually established. And there is also a connection from the server to my client side after that.

kant-chen avatar Mar 14 '20 15:03 kant-chen

I think this has something to do with a faulty config. The logs appear to be coming from isServerReachable() in src/electron/connectivity.ts. The DNS lookup resolved -- maybe it's possible that you're using a hostname instead of an IP address and the lookup returned an incorrect IP? You can check the configs by opening up the developer console and typing 'window.localStorage["servers"]`

JonathanDCohen avatar Mar 16 '20 19:03 JonathanDCohen

My Server address is an IP, not a hostname. I am not a Node.js expert, but I seem to found a bug in isServerReachable() in src/electron/connectivity.ts. Tell me if I am wrong. I checked on Node.js documentation, the function: net.socket.connect has two way to implement:

  1. connect({ port: <port>, host: '<hostname or IP>'})
  2. connect(<port>, '<hostname or IP>' )

However, the way it calls connect on isServerReachable() is: connect({'<hostname or IP>', <port>})

kant-chen avatar Mar 17 '20 05:03 kant-chen

Is there any solution to this yet! On ubuntu its unusable.

sabbir360 avatar May 13 '20 05:05 sabbir360

Any updates for this? My Ubuntu cannot connect to VPN with the same error. Hope to have a quick fix for this!

songyanho avatar Sep 17 '20 06:09 songyanho

Still no solution so far? I'm using Ubuntu 16.04 and I have no other option except using Outline as my VPN.

WisnuBramantyo avatar Sep 21 '20 16:09 WisnuBramantyo

Interesting that all of you are coming from Ubuntu. We normally develop on Google's internal fork of Debian, so I wonder if this isn't an Ubuntu-specific problem.

@my6jay30's idea I think is incorrect, as we use the "options" version of conect. From the documentation they linked to: Alias to socket.connect(options[, connectListener]) called with {port: port, host: host} as options., which is what we're doing

JonathanDCohen avatar Sep 21 '20 18:09 JonathanDCohen

Same issue on centos 7. I can not ping to the outline server. but on windows10, i can successful connect to same outline server although cant ping to server too.

woohsutung avatar Feb 10 '21 03:02 woohsutung

When https://github.com/Jigsaw-Code/outline-client/pull/958 lands, you will be able to get logs from the network stack by setting the OUTLINE_DEBUG env variable to "true". Any interesting logs from reproductions of this issue would be greatly appreciated!

Warning -- the logs can get big if you run Outline for a long time -- we've seen hundreds of MB sometimes

JonathanDCohen avatar Feb 10 '21 14:02 JonathanDCohen

Ubuntu 20 LTS. Same error. export OUTLINE_DEBUG=true -same export OUTLINE_DEBUG="true" - same export OUTLINE_DEBUG=1 - same SO I assume is true as a string... export OUTLINE_DEBUG="true" && ./Outline-Client.AppImage loading web app from file:///tmp/.mount_OutlinecrtK7/resources/app.asar/www/electron_index.html?debug=true&appName=Outline (node:36367) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron. See https://github.com/electron/electron/issues/23506 for more information Could not load active tunnel: [Error: ENOENT: no such file or directory, open '/home/marius/.config/Outline/connection_store'] { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/marius/.config/Outline/connection_store' } (electron) Sending uncompressed crash reports is deprecated and will be removed in a future version of Electron. Set { compress: true } to opt-in to the new behavior. Crash reports will be uploaded gzipped, which most crash reporting servers support. Outline is starting connecting to 2651739b-73c1-4210-8207-6e05f8384892... 2021-06-18 21:05:25 INFO: initializing ciphers... chacha20-ietf-poly1305 2021-06-18 21:05:25 INFO: listening at 127.0.0.1:1081 2021-06-18 21:05:25 INFO: udprelay enabled (node:36367) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. 2021-06-18 21:05:25 INFO: connection from 127.0.0.1:56536 2021-06-18 21:05:25 INFO: connect to example.com:80 2021-06-18 21:05:25 INFO: remote: 54.197.213.184:26102 2021-06-18 21:05:26 INFO: connection from 127.0.0.1:56540 2021-06-18 21:05:26 INFO: udp assc request accepted 2021-06-18 21:05:27 INFO: [udp] server receive a packet 2021-06-18 21:05:27 INFO: [1081] [udp] cache miss: 1.1.1.1:53 <-> 127.0.0.1:59967 2021-06-18 21:05:27 INFO: [udp] remote receive a packet UDP support: true (re-)installing routing daemon copying service files to /tmp/epiKW4 could not connect: h (routing daemon is not running) Promise "DNS lookup" resolved before 10000 ms.

marriusco avatar Jun 19 '21 01:06 marriusco

UBUNTU 18.04 Same issue as described in prev comment, can't connect to the server, Client App show error and said "Can't connect to the server, seems application is not installed correctly." But same connection to same server works ok on the Android device.

Here is the console output:

loading web app from file:///tmp/.mount_OutlinJhrz38/resources/app.asar/www/electron_index.html?appName=Outline
(node:17641) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
Could not load active tunnel:  [Error: ENOENT: no such file or directory, open '/home/vsevolod/.config/Outline/connection_store'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/vsevolod/.config/Outline/connection_store'
}
Checking for update
(electron) Sending uncompressed crash reports is deprecated and will be removed in a future version of Electron. Set { compress: true } to opt-in to the new behavior. Crash reports will be uploaded gzipped, which most crash reporting servers support.
Outline is starting
Update for version 1.4.0 is not available (latest version: 1.4.0, downgrade is disallowed).
connecting to 11fa4e06-fac3-46b4-a96e-221bfde85769...
(node:17641) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
UDP support: true
(re-)installing routing daemon
copying service files to /tmp/p3uFKJ
[EXIT - badvpn-tun2socks]: Exited with code 1
a helper has exited, disconnecting
could not stop routing: Cannot call write after a stream was destroyed
[EXIT - ss-local]: Exited with code 0
Promise "DNS lookup" resolved before 10000 ms.
could not connect: h (routing daemon is not running)

vsdorosh avatar Jun 29 '21 11:06 vsdorosh

Still issue not resolved.

sidraw27 avatar Jul 15 '21 11:07 sidraw27

Same error, Ubuntu 16.04 LTS, Outline Try to change port for new Key to the same as for other devices in the same WIFI network with no success. All other devices (Android iOS and Mac OS) working OK with this Outline server.

$ telnet xx.xxx.xxx.xxx 45780 Trying xx.xxx.xxx.xxx... Connected to xx.xxx.xxx.xxx. Escape character is '^]'.

But no connection for the same IP and port from Outline Beta 1.4.0

n0vat0r avatar Jul 17 '21 13:07 n0vat0r

Fedora 34 and 35, same error

dmitvitalii avatar Apr 22 '22 08:04 dmitvitalii

Debian 9 aka Astra Linux Common Edition "Orel", same error ((( The version of outline-client is 1.7.0 Debian 11 same error, the version of outline-client is 1.7.0


Debian 11, Linux client version 1.7.0 connects everything perfectly, thanks a lot to the developers

pol1001 avatar Jun 21 '22 18:06 pol1001

Facing the same error running the Manjaro OS

GetPsyched avatar Jan 24 '23 13:01 GetPsyched

Same issue, Linux Mint 21 Vanessa. Sometimes it works, sometimes doesn't. At times it does not work at the first attempt to connect, but does on the second.

Fulmenius avatar May 05 '23 13:05 Fulmenius

Attempted on NixOS 22.11 as well. Does not work.

GetPsyched avatar May 18 '23 17:05 GetPsyched

I have the same problem, ubuntu 22.04

amiranbari avatar Apr 20 '24 06:04 amiranbari