Reputation: 626
I have virtualbox 6.1 running a ubuntu 20.04 LTS guest on a windows 10 host.
I ran a jupyter notebook on the ubuntu guest. and it gave me this output
http://localhost:8888/?token=749e04f283016d.......
or http://127.0.0.1:8888/?token=749e04f283016d.......
I got to know that I have to setup host-only adapter to access the page on windows 10 browser so I have setup host-only adapter along with NAT adapter for the ubuntu guest.
accessing-your-virtualbox-guest-from-your-host-os
Post that I took the host-only adapter interface IP address using ip a
command in ubuntu guest and I am able to ping guest from host as well using that IP. But when I replaced it in the above url, I am still unable to access the link and browser running on windows host says ERR_CONNECTION_REFUSED.
What additional setup should I do to access the jupyter page from windows host.
Upvotes: 1
Views: 1433
Reputation: 1210
A few things to review when running Jupyter inside a virtual machine.
Make sure you have added the Jupyter's port (i.e., 8888) to your Ubuntu firewall
sudo firewall-cmd --permanent --add-port 8888/tcp
sudo firewall-cmd --permanent --add-port 8888/udp
sudo firewall-cmd --reload
Upvotes: 0
Reputation: 626
I figured it out from the following post which tells the same thing about ipython notebook Install IPython on Ubuntu 12.04 VirtualBox Guest and use it from the browser on the Windows Hostenter link description here and finding out from this answer the main difference between jupyter and ipython notebooks. What-is-the-difference-between-Jupyter-and-IPython-Notebook
The key thing to note here is that many applications when started eg. mongodb are accessible only on loopback interface IPs(localhost, 127.0.0.1) only. the reason being to avoid exposing by mistake any application on public IPs which u might have installed for testing, etc. So, in this case all you have to is generate a config file for jupyter server using :
jupyter notebook --generate-config
which will generate config file :
~/.jupyter/jupyter_notebook_config.py
where you have to change the following line:
c.NotebookApp.ip="localhost"
to
c.Notebook.ip="0.0.0.0" #for all IPs
Now run the jupyter notebook again and you will be able to access it on your host and even any interface IPs for any adapter you have setup for your guest OS.
Upvotes: 2