Running IPFS in a VM with WebUI

From @taigrr on Thu Mar 30 2017 23:44:28 GMT+0000 (UTC)

I’m running Arch inside a VM, with IPFS installed. Everything works well inside the VM, but I cannot access the WebUI from the Host system.

I forward, for example, port 5544 on localhost on the Host to 22 on the Guest, in order to SSH in.
(I have a Windows 10 Host.)

When I add a forwarding rule across port 5001, my Host browser returns “ERR_SOCKET_NOT_CONNECTED.”

I’ve searched for this myself first of course, but I’m not exactly sure where to look.

Any ideas? Do I need to forward another port for some reason? (I wouldn’t think so.)

I’d think that there’s a config issue somewhere.

Copied from original issue: https://github.com/ipfs/support/issues/55

From @lidel on Fri Mar 31 2017 06:53:59 GMT+0000 (UTC)

I am not sure what are the defaults of your network topology, but perhaps go-ipfs daemon is listening on localhost only?
It needs to listen on all interfaces, so that forwarding between Host and Guest works.

You can check configuration via:

$ ipfs config Addresses
{
  "API": "/ip4/0.0.0.0/tcp/5001",
  "Gateway": "/ip4/0.0.0.0/tcp/8080",
  "Swarm": [
    "/ip4/0.0.0.0/tcp/4001",
    "/ip6/::/tcp/4001"
  ]
}

If you see something other than 0.0.0.0 (which means listening on all interfaces), set it like this:

ipfs config Addresses.API "/ip4/0.0.0.0/tcp/5001"

From @taigrr on Fri Mar 31 2017 10:53:49 GMT+0000 (UTC)

```
$ ipfs config Addresses
{
“API”: “/ip4/127.0.0.1/tcp/5001”,
“Gateway”: “/ip4/0.0.0.0/tcp/8080”,
“Swarm”: [
“/ip4/0.0.0.0/tcp/4001”,
“/ip6/::/tcp/4001”
]
}


That is the default I see. After running your command,  I can now pull up the main page, but the Earth looks empty, and none of the requests to peers seem to go through, they all time out (1024 requests are rapidly sent, but none are retrieved)

From @Vertux on Tue Apr 18 2017 20:13:08 GMT+0000 (UTC)

@taigrr
You do not have to change the default configuration, if you access the remote machine via ssh.
Log into the remote machine like that:

ssh @remote-ip -L 5001:localhost:5001 -L 4001:localhost:4001 -L 8080:localhost:8080

Now you can use the WebUI with your local browser as normal.

Hi,
I just configured the API Address to /ip4/0.0.0.0/tcp/5001 but …It still not work…Firewall already disabled…is that any another porblem or …system problem I’m running the service on Ubuntu 16.04 LTS

Thanks!