0

我正在尝试在 CentOS 7 VM(我已经拥有)中安装 Jupyter,这样我就可以在我的主机 Mac 笔记本电脑上通过端口 8888 访问它。但是,我无法弄清楚网络部分。

为方便起见,我将 IP 地址更改为 200.100.xx

从主机

我有 2 个用于该 CentOS 虚拟机的适配器

在此处输入图像描述

在此处输入图像描述

$ ifconfig给了我这个(我相信那些是一样的):

vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:01 
    inet 200.100.42.1 netmask 0xffffff00 broadcast 200.100.42.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:08 
    inet 200.100.40.1 netmask 0xffffff00 broadcast 200.100.40.255

从 CentOS 内部

[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 200.100.40.145  netmask 255.255.255.0  broadcast 200.100.40.255
        inet6 fe80::20c:29ff:febf:4878  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:bf:48:78  txqueuelen 1000  (Ethernet)
        RX packets 645  bytes 97963 (95.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 215  bytes 24854 (24.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno33554984: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 200.100.42.128  netmask 255.255.255.0  broadcast 200.100.42.255
        inet6 fe80::250:56ff:fe3d:7210  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:3d:72:10  txqueuelen 1000  (Ethernet)
        RX packets 18  bytes 1884 (1.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 45  bytes 6130 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 220  bytes 50398 (49.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 220  bytes 50398 (49.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我的测试

我从我的主机上 ping 了以下 IP 地址,它们都正常工作:

200.100.42.128

200.100.40.145

200.100.42.1

200.100.40.1

这意味着虚拟机有网络连接。正确的?

当我这样做时jupyter notebook,我可以访问http://localhost:8888/tree虚拟机内部,但我无法使用 Macbook 上主机操作系统的任何 IP 地址访问那里。

我已经多次重新启动我的虚拟机。

问题

  1. 是因为端口阻塞/不转发(8888)还是什么,如果是这样,如何解决?

  2. 我是否错误地设置了网络?在 CentOS 中我还需要做些什么吗?我在这里阅读了这个博客http://twiki.org/cgi-bin/view/Blog/BlogEntry201310x2我根本没有看到eth0

4

1 回答 1

1

问题是 Jupyter 选择127.0.0.0localhost默认情况下。如果您的适配器具有其他 IP 地址,它将无法工作。

你需要在VM内更改Jupyter的IP

http://jupyter-notebook.readthedocs.org/en/latest/config.html

$ jupyter notebook --generate-config

编辑它:

vi /root/.jupyter/jupyter_notebook_config.py

然后改变:

c.Notebookapp.ip = '0.0.0.0'

重新启动jupyter notebook,应该很好。

确保防火墙已关闭或端口8888也已打开。

于 2015-10-14T22:17:32.293 回答