1. 程式人生 > >vagrant入門教程--網路配置(9)

vagrant入門教程--網路配置(9)

前言

vagrant提供了三種網路配置方式:埠轉發(預設)、私有網路、公有網路,可以在配置檔案Vagrantfile進行網路配置,推薦使用私有網路

埠轉發(forwarded ports)

1 .定義
埠轉發指把宿主機的埠對映到虛擬機器的某一個埠上,訪問宿主機埠時,請求實際是被轉發到虛擬機器上指定埠的。
:宿主機指執行虛擬機器的物理機。

2 .優點

  • 容易實現外網訪問虛擬機器

3 .缺點

  • 如果埠較少需要對映很容易,但是埠比較多時,就比較麻煩,例如:MySQL,redis,nginx等服務。
  • 不支援在宿主機使用小於1024的埠來轉發,例如:不能使用SSL的443埠來進行https連線。

4 .配置
在配置檔案Vagrantfile下做如下編輯

Vagrant.configure("2") do |config|
  config.vm.network  
       "forwarded_port"(必須) //埠轉發標識
       , guest(必須): //虛擬機器埠
       , host(必須): //宿主機埠,值必須大於1024
       ,guest_ip(可選): //虛擬機器埠繫結虛擬機器ip地址
       ,host_ip(可選): //虛擬機器埠繫結宿主機ip
       ,protocol(可選)://指定通訊協議,可以使用tcp/udp,預設tcp
       ,auto_correct(可選)://true
/false,若配置為true,則每次開啟虛擬機器的時候自動檢查是否存在埠衝突 end

:若guest_ip和host_ip兩項配置為空,則區域網下的所有裝置都可以訪問該虛擬機器。

示例配置,如下:

Vagrant.configure("2") do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080,
    auto_correct: true
end

訪問宿主計算機8080埠的請求都轉發到虛擬機器的80埠上進行處理。

私有網路(private networks)

1 .定義
私有網路是指只有宿主機

可以訪問虛擬機器,如果多個虛擬機器設定在同一個網段也可以互相訪問。
2 .優點

  • 安全,只有自己可以訪問

3 .缺點

  • 團隊成員不能訪問你的虛擬機器

4 .配置
配置如下:

config.vm.network 
                 "private_network"//必須 ,私有網路標識
                 , ip: "192.168.33.10"

:私有ip可以自行指定

公有網路(public networks)

1 .定義
公有網路是指設定虛擬機器和宿主機有相同的網路配置。

2 .優點

  • 方便團隊協作,別人可以訪問你的虛擬機器

3 .缺點

  • 只有在有網路的情況下才能訪問虛擬機器

4 .配置

Vagrant.configure("2") do |config|
  config.vm.network 
   "public_network" //必須 公有網路標識
  ,ip(string):  //可選,配置靜態ip
  ,bridge(string/array): "en1: Wi-Fi (AirPort)"//可選,設定橋接的網絡卡
end