vagrant入門教程--網路配置(9)
阿新 • • 發佈:2019-01-29
前言
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