2016-04-28 60 views
0

我有Fedora筆記本電腦上運行的OpenStack。 Openstack不喜歡由NetworkManager管理的網絡接口,所以我建立了一個虛擬接口,用作br-ex接口的端口,OpenStack允許實例與外部世界進行通信。我可以連接到浮動ips,但它們無法通過br-ex所在的子網。我希望他們能夠到達筆記本電腦外部的地址。我懷疑需要一些iptables NAT /僞裝魔法。有沒有人有任何想法?IPtables NAT/Masquerade允許OpenStack實例訪問他們正在運行的筆記本電腦外部的網站

回答

0

對於Centos7 OpenStack的你應該使用網絡3個節點:

只安裝網絡工具和禁用NetworkManager:

yum install net-tools -y; 
systemctl disable NetworkManager.service 
systemctl stop NetworkManager.service 
chkconfig network on 

你也需要IP表沒有firewalld。

yum install -y iptables-services 
systemctl enable iptables.service 
systemctl disable firewalld.service 
systemctl stop firewalld.service 

對於控制器節點具有一個NIC
適用於網絡和計算節點具有2個NIC
編輯接口的所有節點上:

  • 爲網絡的eth0:IP:XXXX(外部)的eth1:10.0 .0.1 - 無網關
  • 控制器節點eth0:ip:10.0.0.2 - 網關10.0.0.1
  • 用於計算節點eth0:ip:10.0.0.3 - 網關10.0.0.1

設置的iptables這樣的:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A POSTROUTING -o eth0-j MASQUERADE 
iptables -A FORWARD -i eth1 -o eth0-j ACCEPT 
iptables -A FORWARD -i eth0-o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
service iptables save 

也使轉發。在文件中:/etc/sysctkl.conf添加一行:

net.ipv4.ip_forward = 1 

,並執行命令:

sysctl –p 

應該工作。

相關問題