如果你也遇到了如下剛性要求:
- 在VirtualBox中運行著Ubuntu系統
- VirtualBox不能給Ubuntu分配橋接網卡
- 不希望在VirtualBox中運行瀏覽器
安裝Ubuntu系統
這一步應該是沒有什么難點
為Ubuntu配置虛擬網卡
默認情況下,VirtualBox已經為Ubuntu分配了一個NAT的網絡環境。
NAT網絡
NAT網絡的所有流量,使用宿主機的IP地址上網。NAT不會要求路由器分配新的IP地址給Ubuntu。
如果你公司的路由器,有足夠的IP地址供你玩耍,則可以選擇橋接網卡的方式。此時虛擬機會要求路由器分配一個新的IP地址供Ubuntu使用,仿佛Ubuntu真的存在一個網卡。Ubuntu、你的電腦以及其他的電腦都處于同一個局域網內。
橋接網卡
由于公司的網絡限制,不接受陌生mac地址,不分配新IP。所以只能使用NAT
端口映射
在使用NAT上網的時候,Ubuntu內的局域網和宿主的局域網是不同的網段。Ubuntu可以訪問你的宿主機,但是不能反向訪問。原因是宿主機不可能感知到Ubuntu的內網存在。
借助于端口映射,能夠訪問Ubuntu的指定端口,便可以實現宿主機訪問Ubuntu。
端口轉發
配置端口映射
主機端口是指主機訪問時的端口號,子系統端口是指Ubuntu對應的端口號
關閉Ubuntu防火墻
Ubuntu默認是開啟防火墻的,任何服務,都無法被其他電腦訪問。
jupyter也是一個服務器,提供http的服務,這樣才能在網頁上展示。想要在宿主機上也訪問jupyter,那就要求Ubuntu關閉防火墻,至少是允許jupyter被訪問。
- 關閉Ubuntu防火墻
sudo ufw disable
- 開啟Ubuntu防護墻
sudo ufw enable
- 卸載iptables
apt-get remove iptables
- 關閉Ubuntu中的防火墻的其余命令
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
安裝juypter
首先安裝ipython, jupyter notebook
apt-get install python
pip install ipython
pip install jupyter
配置jupyter
生成配置文件
jupyter notebook --generate-config
生成密碼
jian@PC:~$ ipython
>>In [1]: from notebook.auth import passwd
>>In [2]: passwd()
>>Enter password:
>>Verify password:
>>Out[2]: 'sha1:5a7ccd3d08xxxxxx'
復制sha1內容
修改默認配置文件
vim ~/.jupyter/jupyter_notebook_config.py
jupyter_notebook_config.py文件全是注釋,所以直接在第一行前插入以下內容:
c.NotebookApp.ip='*' # 就是設置所有ip皆可訪問
c.NotebookApp.password = u'sha1:5a7ccd3d08xxxxxx' #剛才復制的那個sha1密文
c.NotebookApp.open_browser = False # 禁止自動打開瀏覽器
c.NotebookApp.port =8888 #指定為NAT端口映射的端口號
啟動jupyter
jupyter notebook
ubuntu啟動jupyter
測試jupyter
回到宿主機,打開瀏覽器,訪問http://127.0.0.1:8888/
遠程訪問
輸入之前配置的密碼,即可正常使用。