前提: 已經安裝好cloudstack 並登陸至管理界面 本文使用的版本爲4.3版本linux
安裝能夠看官方文檔shell
http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/apache
聲明: 本文只是方便你們理解高級網絡 並能夠單機作實驗vim
本文中只使用1臺物理機 (centos6.x kvm) (如需多臺 須要有支持vlan的交換機)centos
本實驗pc機網卡配置以下安全
vim /etc/sysconfig/network-scripts/ifcfg-eth0 eth0 DEVICE="eth0" ONBOOT="yes" BRIDGE=br0 vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 ONBOOT=yes TYPE=Bridge BOOTPROTO=none IPADDR=192.168.2.254 NETMASK=255.255.255.0 GATEWAY=192.168.2.1 DNS1=114.114.114.114 STP=on DELAY=0
網絡規劃 網絡
網絡類型 | Ip範圍 | Vlan | 備註 |
Pubilc Network (公網ip) |
192.168.2.100-120 | 無 | 網卡標籤br0 |
Management Networkssh (管理網絡)spa |
192.168.2.200-220 | 無 | 網卡標籤br0 |
Guest Network (實例網絡、租戶網絡) |
Ioslate網絡或者自定義網絡(須要建立) | 無 | 網卡標籤br0 |
cloudstack的網絡能夠這麼理解code
簡單網絡模式
你在一臺pc上建立了一臺虛擬機 網卡模式用的是橋接 這臺虛擬機的ip 和你宿主機就是一個網絡裏的了 這個能夠理解爲cloudstack的簡單網絡,簡單網絡中的隔離是經過安全組 也就是iptable轉發規則來實現 隔離的
高級網絡模式
你在一臺pc上建立了一臺虛擬機 網卡模式選用的橋接,可是你想把這臺虛機的網絡和你宿主機網絡分開,這時候你能夠把虛擬機的ip換成別的網段就能夠了(即網段隔離)固然也可使用vlan 例如你把虛擬機橋接的網卡加個vlan標籤 就算用同個網段也是互相不能訪問的 cloudstack就是經過在建立實例的時候 將實例的網卡配置成帶vlan標籤的 這樣就能夠實現與物理機 及不一樣網絡之間的隔離,隔離後 須要各個網絡之間通訊 怎麼辦? 這時候就有了虛擬路由器 一個網口接A網絡 一個網口接B網絡 來個轉發規則 就能夠實現了各個網絡之間的通訊 。固然高級模式中還有自定義網絡。
小知識: linux中網卡配置vlan簡單介紹
若網卡名字爲ifcfg-eth0
建立一個vlan爲100的虛擬網卡 只需新加個 ifcfg-eth0.100 便可
高級網絡模式中各類流量能夠用網卡vlan分開
本文中 存儲 管理 公網 的流量都採用 同網段 不打標籤的vlan
建立出來的實例 若是選用isolate網絡 建立出的虛機的網卡是打vlan標籤的
即沒法直接訪問到實例ip 能夠用公網ip(模擬公網 理解爲對外提供服務的便可)作靜態nat 映射到須要訪問的實例ip
配置步驟以下:(圖片僅供參考 你須要根據本身的網絡規劃來填寫)
選擇高級模式
改下dns就好 (這個dns是給系統虛機用的)(最近8.8.8.8 很差用)
編輯用到的流量標籤
改成br0 (橋接網卡的名字)
添加公網ip段 (vlan 留空很重要)
添加系統預留ip
vlan 段 能夠隨便寫 (要是你交換機支持vlan 那就得根據你交換機支持多少個vlan配置)
選擇kvm
添加主機 (本文中主機就一個)
添加主存儲
添加輔助存儲
而後啓動吧
啓動過程當中能夠去看管理端 和agent端的log
tail -f /var/log/cloudstack/management/catalina.out
tail -f /var/log/cloudstack/agent/agent.log
啓動成功後
要建立實例 須要新建個 實例用的網絡
添加個網絡 (另外個 添加選項是能夠添加 自定義的網絡 能夠理解爲給實例添加自定義的網卡)
填個網關就能夠 使用此網絡 實例的ip 會從這個子網中隨機取 這個網絡是vlan進行隔離的 vlan號 就是從咱們剛纔定義的vlan範圍中隨機拿的
而後建立實例的時候選擇剛剛建立的那個網絡 啓動 就能夠了 實例
而後能夠看到實例的ip
這時候是沒法直接訪問到實例的 實例的網卡有vlan
咱們只能訪問到公網IP
因此須要拿個公網IP 作下配置
點開咱們新建的網絡
得到一個新的公網ip (注意到沒 那個soucre nat ,實例就是經過那個ip上網的)
點開那個公網IP 而後配置防火牆 和 端口轉發 (左下角那個就是負責均衡 )
由於我新建的實例是linux 我就開22端口轉發 (那個public的端口 是能夠自定義的 圖方便 就都22了)
防火牆的配置 第一行 能夠ping 第二行 開放22端口 (若是你端口映射的時候public 端口不是22 那你得開放那個端口)
好了 如今你能夠 ssh 公網ip 就能夠登錄到實例了
最後; 但願本文能夠幫助你理解cloudstack的高級網絡