手把手教你設置局域網(wǎng)訪問虛擬機內服務器

如果我們在虛擬機內搭建好服務器后,希望可以在局域網(wǎng)內的設備上都能訪問到這個虛擬服務器,就可以參照以下步驟來操作。其中包括了很多遇到的坑。先說說我的環(huán)境是

宿主機:windows 8.1

虛擬機:vmware+linux centos6.5

服務器:nginx

1.搭建局域網(wǎng)

我是利用筆記本wifi熱點搭建的局域網(wǎng)。win7及以下版本應該有搭建臨時無線網(wǎng)絡的功能可以直接用這個功能,而win8開始這個功能就被隱藏了,可以在命令行輸入netsh?wlan?set?hostednetwork?mode=allow?ssid=熱點名稱 key=密碼(8位及以上)?然后netsh wlan start hostednetwork 開啟。

或者直接用connectify。我用上面這個方式不知道為什么手機連熱點的時候獲取不到ip地址,用connectify就可以。

無論用哪個方法都會多出一個這樣的托管網(wǎng)絡虛擬適配器的本地連接


如果不打算連接互聯(lián)網(wǎng)在connectify的設置>NAT選項把無Internet時暫停連接的選項取消選中就好。

2.虛擬機設置

虛擬機的網(wǎng)絡連接方式大致是三種,(1)橋接模式,在這種模式下,虛擬機相當于與所在物理機同一IP段的獨立計算機,與局域網(wǎng)內的其他計算機是沒有區(qū)別的;(2)NAT模式,這種模式下,虛擬機與所在的物理機單獨組成了一個新的局域網(wǎng),他們共享接入物理機的IP段;(3)host—only模式,在這種模式下物理機下所屬的所有虛擬機共同組成一個局域網(wǎng),他們與物理機之間是斷開的,也就是說物理機和虛擬機之間是無法訪問的。

如果局域網(wǎng)想要訪問虛擬機的服務怎么辦呢?這時候基本上有兩種思路,一種是將虛擬機的網(wǎng)絡連接設置成橋接模式,因為這時候虛擬機相當于所在物理機同一IP段的獨立計算機,這時候其他的局域網(wǎng)內的計算機當然可以訪問虛擬機內的服務,一般在虛擬機的設置里面找到網(wǎng)絡設置,將其設置為橋接模式,借助虛擬機的IP就可以實現(xiàn)訪問,但是這么做訪問速度會非常慢。另外一種比較好的方式就是將虛擬機的網(wǎng)絡連接設置成NAT模式,注意,直接這么設置局域網(wǎng)內的其他計算機是無法訪問虛擬機中的服務的,因為局域網(wǎng)內的其他計算機相對于虛擬機和物理機新組的局域網(wǎng)來說屬于外網(wǎng),這時候還需要在物理機中對其進行端口映射,這個與局域網(wǎng)中利用路由器對其中某個IP端口進行映射的原理是一樣的,通過這種也可以實現(xiàn)局域網(wǎng)訪問虛擬機內的服務。(來源http://blog.csdn.net/jiangdianqin/article/details/50365988

我們這里選用的是NAT模式。

①我們發(fā)現(xiàn)宿主機網(wǎng)絡連接里有一個VMnet8

查看它的IP(直接在屬性里查看或者ipconfig都行)

這個ip就是在宿主機在以后新建出來的虛擬機與宿主機之間的局域網(wǎng)里的ip地址。記住這個ip地址。

②打開虛擬機>編輯>虛擬網(wǎng)絡編輯器

選擇VMnet8那個選項,最下面子網(wǎng)ip改成和剛剛那個ip處于同一網(wǎng)段內。

比如我這里是192.168.139.1 就把虛擬機的改成192.168.139.0

DHCP設置里還可以設置分配給虛擬機的開始和結束ip

③點擊 NAT設置

網(wǎng)關ip設為①里看的那個ip地址

確定 然后回到虛擬機系統(tǒng)里查看虛擬機的ip地址(記得聯(lián)網(wǎng) 我用的是linux的centos6.5 網(wǎng)絡連接里只有eth0我就連了這個)

linux可以輸入ifconfig查看ip地址

我這里就是192.168.139.128

確定在虛擬機里服務器可以訪問,確定端口(我的是nginx服務器直接設在80端口)

關閉虛擬機防火墻??!

我之前各種配置都設置好了也可以ping的通然而在宿主機里就是訪問不了虛擬機的服務器,最后發(fā)現(xiàn)就是防火墻的鍋。

centos6.5

防火墻(Iptables)重啟系統(tǒng)生效

開啟:?chkconfig?iptables?on

關閉:?chkconfig?iptables?off

防火墻(Iptables) 即時生效,重啟后失效

開啟:?service?iptables?start

關閉:?service?iptables?stop

windows可以添加出入站規(guī)則什么的,可以自己去百度。

⑥添加端口轉發(fā)

這是為了可以讓局域網(wǎng)里的其他設備訪問的到虛擬機

編輯>虛擬網(wǎng)絡編輯器>vmnet8>nat設置>端口轉發(fā) 添加


主機端口填的是你希望在宿主機訪問哪個端口就可以訪問到虛擬機

這里是8080 我在宿主機輸入 localhost:8080 或者http://192.168.139.1:8080/都可以訪問到虛擬機

虛擬機ip地址和端口就是上上一步看的那個

這樣就可以在宿主機器訪問虛擬機服務器了

在宿主機器里輸入虛擬機的ip地址也可以訪問。

3.宿主機配置

現(xiàn)在宿主機可以訪問虛擬機服務器了,但局域網(wǎng)里其他設備還不可以。

①共享VMnet8

打開那個托管網(wǎng)絡虛擬適配器的本地連接的屬性

勾選這兩個選項,家庭網(wǎng)絡連接里選擇虛擬機VMnet8那個網(wǎng)絡連接


如果這里沒有選項可以選擇,可以先連接互聯(lián)網(wǎng)。然后點開這個連接的屬性里的共享標簽,勾選兩個選項之后選擇VMNET8.

然后再去看托管網(wǎng)絡虛擬適配器的本地連接的屬性的共享里就會出現(xiàn)VMNET8了

②其他設備連接上局域網(wǎng),查看本機在局域網(wǎng)里的ip

如果是用connectify開出來的熱點可以在軟件里看到連接的設備在局域網(wǎng)里的ip

查看宿主機在這個宿主機-其他設備的局域網(wǎng)里的ip可以用類似第2步的方法,查看托管網(wǎng)絡虛擬適配器的本地連接的屬性,或者ipconfig。

我這里就是192.168.141.1

③設置宿主機防火墻入站規(guī)則!??!

這也是我遇到的坑

局域網(wǎng)里的設備可以ping通宿主機的ip但是就是訪問不了服務器。

我們在 控制面板>(系統(tǒng)安全)>windows防火墻>左邊入站規(guī)則>右邊新建規(guī)則

選擇端口

特定本地端口里輸入3.6里你設置的那個端口,我這里是8080

設置好之后就可以訪問了,在其他設備輸入宿主機在宿主機-其他設備局域網(wǎng)的地址:端口

我這里是192.168.141.1:8080

就可以了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 名詞延伸 通俗的說,域名就相當于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,783評論 2 56
  • 1.這篇文章不是本人原創(chuàng)的,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,340評論 6 174
  • 第二章 物理層 頻分復用:頻分復用的用戶在同樣的時間占用不同的帶寬資源(頻率帶寬) 時分復用:時分復用的用戶在不同...
    PramaWells閱讀 4,018評論 1 3
  • 1. OSI,TCP/IP,五層協(xié)議的體系結構,以及各層協(xié)議 OSI分層 (7層):物理層、數(shù)據(jù)鏈路層、...
    iCaptain閱讀 2,581評論 0 4
  • 每個人心中都潛藏著暗鬼,暗鬼大部分時間都在蟄伏,直到你的善良輸給欺凌,你的慈悲敗給不懷好意,它們就會出來作祟 一、...
    木無牙閱讀 3,432評論 14 20

友情鏈接更多精彩內容