2016-04-28 2 views
0

У меня OpenStack работает на ноутбуке Fedora. Openstack ненавидит сетевые интерфейсы, которыми управляет NetworkManager, поэтому я установил фиктивный интерфейс, который используется в качестве порта для интерфейса br-ex, который OpenStack позволяет экземплярам взаимодействовать с внешним миром. Я могу подключиться к плавающей версии ips, но они не могут пройти мимо подсети, которую имеет br-ex. Я бы хотел, чтобы они достигли адресов, внешних по отношению к ноутбуку. Я подозреваю, что требуется iptables nat/masquerading magic. У кого-нибудь есть идеи?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 

Для узла контроллера есть один сетевой адаптер
Для сетевых и вычислительных узлов имеют 2 НИС
Редактирование интерфейсов на всех узлах:

  • для сетевых 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 

должен работать.