Openstack ironic與數據網絡通信

只針對openstack kilo版本


在kilo版本中, Openstack ironic的部署需要建立一個flat網絡,其中物理網絡指向管理網的橋上。

這樣ironic在部署過程中才可以正常獲取dhcp執行pxe安裝以及保證python-ironic-agent能正常和

ironic-api 通信。


不過kilo版本中,ironic只是滿足了對物理機的部署,並沒有解決ironic物理機怎麼和正常的租戶數據網絡

通信,而且ironic直接和管理網相連確實也帶來了安全隱患。 本文將介紹如果使用ironic和數據網絡通信

只針對tenant network是vlan的情況。


1. 爲ironic物理機創建一個port


2. 使用vconfig配置ironic數據網卡,使從這個網卡的通信帶上租戶網絡的vlan id

目前ironic物理機中只有兩個網卡,一個管理網(em1), 一個數據網(em2),租戶網絡的vlan id爲140:

[root@host-owner ~]# modprobe 8021q     
[root@host-owner ~]# vconfig add em2 140
Added VLAN with VID == 140 to IF -:em2:-


3.  配置ironic數據網絡, 剛剛創建port的ip爲172.16.1.0/24

$ ifconfig em2.140 172.16.1.15/24


4.  設置靜態ip:

cat >> /etc/sysconfig/network-scripts/ifcfg-em2.140 << EOF

DEVICE="em2.140"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"

IPADDR="172.16.1.15"

NETMASK="255.255.255.0"

GATEWAY="172.16.1.1"

EOF


5. 這個時候ironic已經可以和網關通信了

[root@host-owner network-scripts]# ping -c 4 172.16.1.1
PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
64 bytes from 172.16.1.1: icmp_seq=1 ttl=64 time=0.584 ms
64 bytes from 172.16.1.1: icmp_seq=2 ttl=64 time=0.084 ms
64 bytes from 172.16.1.1: icmp_seq=3 ttl=64 time=0.106 ms
64 bytes from 172.16.1.1: icmp_seq=4 ttl=64 time=0.133 ms

由於ironic物理機路由配置的是管理網的路由,我們希望它之後走數據網路由,所以我們手動刪除管理路由

配置數據路由:

[root@host-owner ~]# ip r delete default via 10.160.57.254
[root@host-owner ~]# ip r add default via 172.16.1.1


6.  我們希望ironic的物理機可以被外網訪問, 所以可以嘗試給它綁定一個floatingip, 這個時候floatingip也是可以訪問的。

需要注意的是我們測試的環境外網和管理網是同一張網,所以需要把ironic物理機中的管理網路由規則也得刪了

[root@host-owner ~]# ip r delete 10.160.57.0/24 dev em1

[root@host-owner ~]# ip r
default via 172.16.1.1 dev em2.140 
172.16.0.0/16 dev em2.140  proto kernel  scope link  src 172.16.1.15 


此時的ironic物理機既可以被數據網訪問也可以通過floatingip實現外網訪問了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章