Fixed: Unable to get Argo Tunnel to work on a Raspberry Pi (DialContext error - i/o timeout)


#1

I am trying to use Argo Tunnel to forward a site running on a Raspberry Pi at home, but it seems completely unable to communicate with any of the Cloudflare Edge nodes.

This is the error I am seeing:

[email protected]:~/argo-tunnel $ sudo ./cloudflared --hostname test.stebet.net --url http://localhost:80
INFO[0000] Applied configuration from /etc/cloudflared/config.yml
INFO[0000] Build info: {GoOS:linux GoVersion:go1.9.3 GoArch:arm}
INFO[0000] Version 2018.8.0
INFO[0000] Flags map[hostname:test.stebet.net logfile:/var/log/cloudflared.log origincert:/home/pi/.cloudflared/cert.pem url:http://localhost:80]
INFO[0000] cloudflared will not automatically update when run from the shell. To enable auto-updates, run cloudflared as a service: https://developers.cloudflare.com/argo-tunnel/reference/service/
INFO[0000] Starting metrics server                       addr="127.0.0.1:37509"
INFO[0000] Proxying tunnel requests to http://localhost:80
ERRO[0016] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0016] Retrying in 1s seconds
ERRO[0032] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0032] Retrying in 2s seconds
^CINFO[0041] Initiating graceful shutdown...
ERRO[0041] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: operation was canceled"
INFO[0041] Quitting...
INFO[0041] Metrics server stopped

I’ve let it run for several minutes, it eventually switches to another edge IP address but it is never able to communicate with any of them.

I’m running the latest version of the Raspbian lite release, and just ran a apt-get update and upgrade.

Any idea on how I can go about troubleshooting what the issues is?


#2

The only things I can think of are: did you enable Argo on the Dashboard and did you do ./cloudflared login?


#3

Yup. I’ve done all of that :slight_smile: Otherwise the cert wouldn’t be valid.


#4

Agreed with you, but had no other ideas. I’d just contact support (at supportATcloudflareDOTcom). Unfortunately I never saw this error pop up in the forums and never experienced it myself. Could it possibly be something to do with the config file? Is there something in there?


#5

I’ve tried using the config file and also just using command line params. Same result. Even the “Hello World” example doesn’t work. I’ll try contacting support. Just wanted to make sure this wasn’t something blatantly obvious.

I’ve tried running the DNS-over-HTTPS proxy as well. That is working just fine.


#6

This would exclude connectivity problems since the POPs are the same. Really don’t know, sorry :persevere: Report back if you find a solution, I’d like to know as well! If I think of anything will add it here.


#7

A small update. I opened a VPN tunnel to Dublin through Freedome and tried again, and then it works fine. Turned it back off and did a traceroute from my machine and it ends up saying the edge IP cloudflared is trying to tunnel to is not reachable after hitting a Cloudflare Gateway in Reykjavik (I’m located in Iceland) so it seems that Cloudflare is missing some internal routes on their Reykjavik nodes.

[email protected]:~/argo-tunnel $ sudo ./cloudflared
INFO[0000] Applied configuration from /etc/cloudflared/config.yml
INFO[0000] Build info: {GoOS:linux GoVersion:go1.9.3 GoArch:arm}
INFO[0000] Version 2018.8.0
INFO[0000] Flags map[logfile:/var/log/cloudflared.log loglevel:debug origincert:/home/pi/.cloudflared/cert.pem proto-loglevel:debug url:http://localhost hostname:pihole.stebet.net]
INFO[0000] cloudflared will not automatically update when run from the shell. To enable auto-updates, run cloudflared as a service: https://developers.cloudflare.com/argo-tunnel/reference/service/
INFO[0000] Starting metrics server                       addr="127.0.0.1:41425"
INFO[0000] Proxying tunnel requests to http://localhost
ERRO[0016] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0016] Retrying in 1s seconds
ERRO[0032] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0032] Retrying in 2s seconds
ERRO[0049] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0049] Retrying in 4s seconds
ERRO[0068] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0068] Retrying in 8s seconds
ERRO[0091] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: i/o timeout"
INFO[0091] Retrying in 16s seconds
^CINFO[0111] Initiating graceful shutdown...
ERRO[0111] Unable to dial edge                           error="DialContext error: dial tcp 198.41.192.227:7844: operation was canceled"
INFO[0111] Quitting...
INFO[0111] Metrics server stopped

[email protected]:~/argo-tunnel $ traceroute 198.41.192.227
traceroute to 198.41.192.227 (198.41.192.227), 30 hops max, 60 byte packets
 1  192.168.164.1 (192.168.164.1)  0.520 ms  0.367 ms  0.475 ms
 2  10.206.52.3 (10.206.52.3)  1.567 ms  1.704 ms  1.649 ms
 3  * * *
 4  * * *
 5  nova-078-040-249-086.corp.nova.is (78.40.249.86)  1.950 ms  2.088 ms  2.033 ms
 6  rix-tg-gw.cloudflare.com (195.130.211.50)  2.472 ms !N  2.305 ms !N  2.208 ms !N

[email protected]:~/argo-tunnel $ ping 198.41.192.227
PING 198.41.192.227 (198.41.192.227) 56(84) bytes of data.
From 195.130.211.50 icmp_seq=1 Destination Net Unreachable
From 195.130.211.50 icmp_seq=2 Destination Net Unreachable
From 195.130.211.50 icmp_seq=3 Destination Net Unreachable
From 195.130.211.50 icmp_seq=4 Destination Net Unreachable
From 195.130.211.50 icmp_seq=5 Destination Net Unreachable
From 195.130.211.50 icmp_seq=6 Destination Net Unreachable
From 195.130.211.50 icmp_seq=7 Destination Net Unreachable
^C
--- 198.41.192.227 ping statistics ---
7 packets transmitted, 0 received, +7 errors, 100% packet loss, time 6010ms

#8

Interesting! Let’s see if @cloonan can point you in the right direction.


#9

I am working with the support team, and have provided additional data to them as well.


#10

Just an update. The Cloudflare Customer Support team handled this in an excellent manner and made changes on their end to fix the issue, as this turned out to be an issue on their end. :ok_hand: