配置vagrant使用三種網絡

使用vagrant安裝以後一直使用127.0.0.1進行訪問。可是一直使用這個ip確定知足不了的。咱們裝確定是有需求的,那麼本節就講解一下用vagrant的網絡配置。 linux

vagrant中一共提供了三種網絡配置。

1. 端口映射(Forwarded port)

    這種方式,就是把本機和虛擬機的端口進行映射(把宿主計算機的端口映射到虛擬機的某一個端口上,訪問宿主計算機端口時,請求其實是被轉發到虛擬機上指定的端口)。好比:我配置本機(本地)的8080端口爲虛擬機的80端口,這樣我訪問本機器的8080端口,vagrant會把請求轉發到虛擬機的80端口是那個去處理。sql

config.vm.forwarded_port 80, 8080

以上訪問宿主計算機的8080端口的請求都被轉發到虛擬機的80端口上進行處理。tomcat

默認只轉發TCP包,UDP須要額外添加如下語句:安全

config.vm.forwarded_port 80, 8080, protocol: "udp"

如:咱們訪問:127.0.01:8080服務器

    經過這種方式,咱們能夠有針對性的把虛擬機的某些端口公佈到外網讓其餘人去訪問。網絡

優勢:tcp

  • 簡單易理解
  • 容易實現外網訪問虛擬機

缺點:.net

  • 若是一兩個端口須要映射很容易,可是不少的端口,好比Mysql,MongoDB,tomcat 等服務,端口較多時,就比較麻煩。
  • 不支持在宿主主機上使用小於1024的端口來轉發。好比:不能使用SSL的443端口來進行https鏈接。

配置文件Vagrantfile說明:vagrant

Vagrant.configure(2") do |config|

config.vm.network

"forwarded_port"(必選) //端口轉發標示

,guest(必選): //虛擬端口

,host(必選): //宿主機端口,值必須大於1024

,gust_ip(可選): //虛擬機端口綁定虛擬機ip地址

,host_ip(可選): //虛擬機端口綁定宿主機端口ip

,protocol(可選): //指定通訊協議,可使用tcp/udp,默認tcp

,auto_correct(可選): //ture/fasle,開機是否自動檢測端口衝突

end

注意:若guest_ip和host_ip兩項配置爲空,則局域網下的全部設備均可以訪問該虛擬機。code

示例配置,以下:

Vagrant.configure(2") do |config|

config.vm.network "forwarded_port", guest:80, host:8080,

auto_correct:true

end

私有網絡(Private network)

    既然是private,那麼這種方式是隻容許主機訪問虛擬機。若是多個虛擬機設定在同一個網段,那麼幾個虛擬機之間也能夠互相訪問。這種方式,就好像是搭建了一個私有的linux集羣。並且只有一個出口,那就是該主機。

config.vm.network "private_network", ip: "192.168.21.4"

    使用這種方式,很是安全,由於只有一個出口,可是你的虛擬機只容許你本身進行操做。團隊成員不能操做,那你的電腦就成服務器主機了。

注意:IP能夠本身隨便設定,可是若是宿主機的主機IP爲192.168.1.xxx字段,那就不要再 這個區段,可使用2.xxx 或 3.xxx 或者其餘,以避免形成衝突

優勢:

  • 安全,只有本身能訪問

缺點:

  • 由於私有的緣由,因此團隊成員其餘人沒法和你協做。

公有網絡(Public network)

    虛擬機享受實體機器同樣的待遇,同樣的網絡配置,vagrant1.3版本以後也能夠設定靜態IP。設定語法以下:

config.vm.network "public_network", ip: "192.168.1.120"

    這種網絡配置方式,方便團隊開發,別人也能夠訪問你的虛擬機。固然,你和你的虛擬機必須在同一個網段中。

    瞭解一下vagrant的網絡配置以後,修改vagrantFile文件,從新執行vagrant up命令,重啓虛擬機便可。

注意:這種方式的虛擬機至關於局域網中的一員。

優勢:

  • 方便團隊協做,別人能夠訪問你的虛擬主機。

缺點:

  • 須要有網絡,有路由器分配IP
相關文章
相關標籤/搜索