###寫在前面bash
最近在學習Kamailio,爲了測試,用VirtualBox模擬了一臺服務器。爲了使得客機可以上網、同時主機(客戶端)可以訪問客機(服務器),須要作一些配置,這就是本文的主要內容。服務器
###環境與版本網絡
###詳細步驟ssh
1.首先打開VirtualBox菜單,進入Preferences,選擇Network標籤頁,而後新建一個Host-only網絡(下圖中的vboxnet0)。tcp
2.仍然是Host-only Networks界面,點右側最下面改錐模樣的"Edit host-only network"圖標,而後選擇DHCP Server標籤,會出現下面這樣的頁面。你能夠本身手動設置靜態IP,也能夠直接點OK讓DHCP自動設置IP。學習
3.點OK回到VirtualBox的主界面,選定客機進入Settings,選擇Network標籤頁。適配器1(Adapter 1)應該保持NAT模式不變。起用適配器2,設置爲Host-only Adapter類型,而後下拉列表選擇剛剛新建並配置好的Host-only網絡。而後點OK完成設置。測試
4.啓動客機,打開terminal,運行sudo ifconfig
,將會有相似於下圖的輸出,表示主機如今能夠經過192.168.56.101
這個IP地址來訪問客機。ui
5.至此,主機應該已經能夠訪問客機。咱們能夠在主機的命令行裏運行ssh 192.168.56.101
,若是命令行接下來要求輸入用戶名/密碼,則說明配置成功。命令行
###可能遇到的問題code
在ssh時若是遇到"Connection refused"反饋,則有三種可能:
####1.客機沒有安裝SSH服務器
此時運行sudo apt-get install openssh-server
進行安裝。
####2.SSH服務器已安裝但未啓動
能夠輸入ps -aef | grep sshd
來檢查SSH服務器的狀態,若是沒有運行,則輸入netstat sshd
啓動。
####3.客機防火牆屏蔽了相關的端口訪問
這種狀況比較罕見,由於Ubuntu的防火牆默認時未啓動的,能夠經過sudo ufw status
來確認其狀態和規則。
若是防火牆已啓動且確實沒有打開SSH所需的端口(TCP/22),能夠運行下列命令之一來開啓該端口(或者其它你所須要的端口)。
sudo ufw allow 22 sudo ufw allow 22/tcp sudo ufw allow ssh