Connecting to VM with planetary network [Resolved]

Hey Guys

I am having some challenge with ssh connection to my VM on the TF-Grid.

Is it not possible to ping the VM using planetary network?

Any one having succes connecting to VM not using Putty but still using Windows e.g. the command prompt?

Hello faldt,

I had a similar issue. Could be that you do not have IPv6 enabled on your device or Router does not support IPv6. That turned out to be the problem for me. Hope it helps.

1 Like

Hey sudo

Your are right, my internet provider do not support ipv6 yet :frowning_face:

Not entirely sure of your issue but why do you not just connect using IPv4 since yoou got one? Pinging it working on IPV4.

1 Like

I am doing a tutorial about both options so the planetary option will now just be me talking without any proof :wink:

Do you have any experience in connecting to VM only using Windows command prompt or do you use Putty?

Hi, I had similar issue, it was because I had a yggdrasil instance running in parallel with TF Planetary Network, so it was some conflict or overlap. It started to work as soon as I turned off yggdrasil

1 Like

Oh ok. I was using Putty to connect and from my experience some nodes you connect to have better connections than others depending on the location of the node and’m guessing because the route it takes via planetary network. But usually works pretty good.

1 Like

I have an issue open about using the planetary network connector in windows here

The last I heard was to get it working with putty you need to use vanilla ygg

@nickolay, you were able to use cmd in conjunction with the network connector and a grid deployment? Last I had heard ssh from cmd/powershell wasn’t working

To provide an answer that I know works for sure, you are able to ssh from WSL to a planetary network address if you manually install and setup ygg in wsl. There’s a tutorial on that here

I like to use wsl to work with the grid as you can run Terraform and ssh all in one place, plus you can run Linux programs locally that you can link to your deployment, like a monitoring tool.

1 Like

I was using command line from OSX, ssh to the root with ThreeFold Planetary Network and it allowed me to connect to the nodes deployed as Virtual Machine or Micro VMs through play.grid.tf

im not sure if ipv6 was your solution on router side, since Yggdrasils main feature is, enabling ipv6 even if you haven’t ipv6 possibilities

For example I have disabled ipv6 in my lan/wan connection and it still does work :wink:
But indeed your NIC on Windows has to be ipv6 enabled as I know!

Ygg FAQ

Does Yggdrasil require IPv6?

Your system must be IPv6-enabled in order to send or receive traffic to/from the Yggdrasil Network, which just about all modern operating systems are.

While Yggdrasil does transport only IPv6 traffic internally, you do not need an IPv6 internet connection to peer with other Yggdrasil users. You can peer with other Yggdrasil nodes over either IPv4 or IPv6.

Hmm strange, with my issue I found out that even with IPv6 enabled on my NIC I could never ping a planetary network address, then I realized that my internal router does not support IPv6 so I changed to a router that does and as long as I could ping any external IPv6 address I could also ping a planetary network address with the Threefold Network Connector App connected on the router that does have IPv6 capability. So I’m not sure why it does not work for me on just the IPv4 router. Maybe the router needs IPv6 capability? This is the only way I was able to connect.

strange, maybe the ipv6 router capability is enough but the connection with the ISP can be ipv4?

Does Yggdrasil require IPv6?

Your system must be IPv6-enabled in order to send or receive traffic to/from the Yggdrasil Network, which just about all modern operating systems are.

While Yggdrasil does transport only IPv6 traffic internally, you do not need an IPv6 internet connection to peer with other Yggdrasil users. You can peer with other Yggdrasil nodes over either IPv4 or IPv6.

The explanation on the faq is a bit misleading. Why would you need to have your NIC IPv6 configured but your internal router not? It would have to be all IPv6 configured internally otherwise why would your next hop(router) not need to be configured as well if your own device NIC needs to be? In my case my router is not my ISP modem but two seperate devices maybe that could be the reason. Not quite sure really… :confused:

The reason you don’t need it on your router is because ygg is capable of tunneling your local ipv6 traffic out of your network to a public peer via ipv4.

Your ygg address isn’t actually an ipv6 address, it just looks like one so it can be used as one. It’s actually a representation of a cryptographic key pair that each device in the network has.

You machine will have the same ygg address no matter what network you are getting internet through because of this.

A caveat being the peers in the peer list have to be ipv4 peers.Which I need to look if ours are.

My best guess here is that IPv6 was not enabled within Windows, until the system was connected to the IPv6 enabled router. Check this guide, for example, to see how you could enable IPv6 on your system. I followed the guide in reverse and was able to recreate the error PING: transmit failed. General failure.

As for why IPv6 wouldn’t get enabled by default when you run the Connector App, I can’t say. I think it’s entirely likely that nobody ever tested the app on a system that didn’t have IPv6 enabled already.

1 Like

Since I had Windows open, I just tested ssh from Powershell over Planetary Network and it works great. Simple to setup and overall feels just like Linux. This should be the recommended way to SSH for Windows users—nicer than Putty for sure.

1 Like

Right, this is how I enabled IPv6 on my machine but for me the issue is a bit different. I have two wifi routers, one that does not support IPv6 traffic and another one that does. With my windows IPv6 enabled NIC I can’t ping planatery addresses when connected to the IPv4 router (get the general failure message) but when I swap to the IPv6 router and connect to it, it lets me ping and connect. So I guess I am confused when the description says that planetary ygg address can tunnel through IPv4. It does not work for me for some reason. Maybe its something with my IPv4 router but I have been using it for a while and have had no issues with it.

How did you point at your private ssh key in Powershell when logging in? :slight_smile:

root@ip -path to key or?

I just used the default path when I generated the key, then didn’t need to specify a path when running ssh.

Edit to add some specificity…

First I ran:

ssh-keygen -t  ed25519

It prompts where to save the key, accept default:

Enter file in which to save the key (C:\Users\scott/.ssh/id_ed25519):
...

Public key is saved in C:\Users\scott/.ssh/id_ed25519.pub and then just invoke:

ssh root@ip
1 Like