使用Vagrant配置本地開發(fā)環(huán)境
2225
2025-03-31
一、需求
在主機(jī)上VirtualBox軟件安裝虛擬機(jī)后,需要實(shí)現(xiàn)主機(jī)與虛機(jī)相互通信,并可以使用SSH工具在主機(jī)上連接虛機(jī),保證連接虛機(jī)的IP地址固定。
主機(jī)與虛機(jī)相互可以連接后,還需要虛機(jī)也能連接網(wǎng)
二、基本思路
虛機(jī)網(wǎng)絡(luò)與主機(jī)共享,實(shí)現(xiàn)虛機(jī)網(wǎng)絡(luò)連接
給虛機(jī)添加網(wǎng)卡并選擇合適的網(wǎng)絡(luò)連接模式
在虛機(jī)中對(duì)應(yīng)的網(wǎng)卡修改靜態(tài)IP地址
虛機(jī)配置網(wǎng)卡的IP地址、子網(wǎng)掩碼和網(wǎng)關(guān),需要跟宿主機(jī)在同一網(wǎng)段即可
三、具體實(shí)現(xiàn)
1. 前提條件
需要在VitualBox上安裝好一臺(tái)虛擬機(jī),如centOS。
2. VitualBox提供了多種網(wǎng)絡(luò)接入模式
NAT模式:最簡(jiǎn)單的實(shí)現(xiàn)虛擬機(jī)上網(wǎng)的方式,無需配置,默認(rèn)選擇即可接入網(wǎng)絡(luò)。虛擬機(jī)訪問網(wǎng)絡(luò)的所有數(shù)據(jù)都是由主機(jī)提供的,虛擬機(jī)訪問網(wǎng)絡(luò)是先通過VirtualBox轉(zhuǎn)換后再發(fā)送出去的,數(shù)據(jù)接收也是先由VirtualBox接收后再轉(zhuǎn)換發(fā)送到虛擬機(jī)上的,訪問速度較慢;虛機(jī)可以直接訪問主機(jī),主機(jī)不能直接訪問虛擬機(jī)。
Bridged Adapter模式:即橋接模式,可以為虛擬機(jī)模擬出一個(gè)獨(dú)立的網(wǎng)卡,有獨(dú)立的IP地址,所有網(wǎng)絡(luò)功能和主機(jī)一樣,并且能夠互相訪問,實(shí)現(xiàn)文件的傳遞和共享。被橋接的網(wǎng)卡會(huì)開啟混雜模式。
Internal模式:即內(nèi)網(wǎng)模式,虛擬機(jī)與外網(wǎng)完全斷開,只實(shí)現(xiàn)虛擬機(jī)于虛擬機(jī)之間的內(nèi)部網(wǎng)絡(luò)模式,和主機(jī)之間不能互相訪問,就相當(dāng)于虛擬機(jī)之間架設(shè)了一個(gè)獨(dú)立的局域網(wǎng)。只有?同一名稱(如:intnet)的內(nèi)部網(wǎng)絡(luò)模式的虛擬機(jī)之間才能互相訪問?,還有一個(gè)條件是在同一網(wǎng)段。
Host-only Adapter模式:即主機(jī)模式,VirtualBox 在宿主機(jī)中虛擬一個(gè) host-only 網(wǎng)卡,然后把虛擬主機(jī)橋接到 host-only 網(wǎng)卡上,我們可以通過設(shè)置 host-only 網(wǎng)卡(共享、橋接)來實(shí)現(xiàn)網(wǎng)絡(luò)連接,是所有接入模式中最復(fù)雜的一種,需要有比較扎實(shí)的網(wǎng)絡(luò)基礎(chǔ)知識(shí)才行。前面幾種模式所實(shí)現(xiàn)的功能,通過虛擬機(jī)及網(wǎng)卡的設(shè)置都可以被實(shí)現(xiàn)。
Bridged Adapter模式
NAT模式
Internal模式
Host-only Adapter模式
虛擬機(jī)與宿主機(jī)
處于同一網(wǎng)段,彼此互通
虛擬機(jī)能訪問宿主機(jī);宿主機(jī)不能訪問虛擬機(jī)
彼此不通
虛擬機(jī)能訪問宿主機(jī);宿主機(jī)不能訪問虛擬機(jī)
虛擬機(jī)與虛擬機(jī)
處于同一網(wǎng)段,彼此互通
彼此不通
彼此互通,處于同一網(wǎng)段
彼此互通,處于同一網(wǎng)段
虛擬機(jī)與其他主機(jī)
處于同一網(wǎng)段,彼此互通
虛擬機(jī)能訪問其他主機(jī);其他主機(jī)不能訪問虛擬機(jī)
彼此不通
彼此不通;需要設(shè)置
虛擬機(jī)與互聯(lián)網(wǎng)
虛擬機(jī)可以上網(wǎng)
虛擬機(jī)可以上網(wǎng)
虛擬機(jī)不能上網(wǎng)
彼此不通;需要設(shè)置
這里選擇橋接模式。雖然VirtualBox 橋接模式非常好用,但是受限制的網(wǎng)絡(luò)你怎么辦呢?用NAT模式,不!這樣宿主機(jī)訪問虛擬主機(jī)太麻煩了。我的方法就是給虛擬主機(jī)添加兩個(gè)網(wǎng)卡,一個(gè)網(wǎng)卡使用 NAT模式,另一個(gè)網(wǎng)卡使用Bridged Adapter模式,然后給虛擬主機(jī)設(shè)置靜態(tài)路由,設(shè)置訪問宿主機(jī)的數(shù)據(jù)從Bridged Adapter模式的網(wǎng)卡送出,而訪問互聯(lián)網(wǎng)的數(shù)據(jù)從NAT模式的網(wǎng)卡送去。
3. 正常啟動(dòng)虛擬機(jī),查看環(huán)境。
虛擬機(jī)ping主機(jī)
主機(jī)ping虛擬機(jī)
4. 修改虛機(jī)網(wǎng)卡配置文件,實(shí)現(xiàn)靜態(tài)IP連接內(nèi)外網(wǎng)
主機(jī)在cmd命令窗口,輸入ipconfig查看主機(jī)的IP地址、網(wǎng)關(guān)和子網(wǎng)掩碼
進(jìn)入虛擬機(jī),使用命令ip addr查看正在使用的網(wǎng)卡名字,如enp0s3
進(jìn)入虛機(jī)的/etc/sysconfig/network-scripts/目錄,找到使用的網(wǎng)卡名字的配置文件,如ifcfg-enp0s3
編輯ifcfg-enp0s3文件,更新一下配置信息:
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" ############改動(dòng)部分開始############ #靜態(tài)IP BOOTPROTO="static" IPADDR=設(shè)置與主機(jī)在同一網(wǎng)段的IP NETMASK=255.255.255.0 GATEWAY=與主機(jī)一樣的網(wǎng)關(guān) DNS1=114.114.114.114 ############改動(dòng)部分結(jié)束############ DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="73ab5a69-9070-4c5a-a0b9-c5a6250af943" DEVICE="enp0s3" ONBOOT="yes"
在虛擬機(jī)中修改文件后保存退出,使用命令service network restart 重啟網(wǎng)卡服務(wù)即可
TCP/IP 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。