User Tools

Site Tools


Sidebar

progetti:cloud-areapd:best_practices:neutron_multiple_external_interfaces

Neutron multiple external interfaces

Lo scopo di questo lavoro e` quello di poter accedere alle vm dalle reti locali pd-lnl senza usare floating-ip. Una soluzione puo` essere quella di avere due interfacce esterne sul network node, una classica con indirizzo pubblico e nat e una seconda senza nat che permetta alle vm di raggiungere le lan mantenendo i loro indirizzi ip privati.

Il network node dovra` disporre di una ulteriore interfaccia, oltre alle tre di cui gia` dispone. Si puo` fare anche splittando l'interfaccia pubblica su due vlan diverse, come ho fatto per cld-test-net.

Ho gia` a disposizione il primo bridge per la rete esterna, br-ex, ne aggiungo un secondo:

ovs-vsctl add-br br-ex-2
ovs-vsctl add-port bre-ex-2 eth4
ip addr add 172.25.25.1/24 dev eth4
ip link set eth4 up

si cambiano i file ifcfg-br-ex-2 ifcfg-eth4

Procedimento.

• Bisogna per prima cosa creare le due reti esterne perché servono i loro id:

   neutron net-create Ext
   neutron net-create Ext-lan
  

la rete Ext è quella con ip pubblici e la Ext-lan quella con gli ip privati.

• Modifico /etc/neutron/l3-agent.ini inserendo:

   host=first
   gateway_external_network_id = <id della rete Ext> ; ottenuto da neutron net-show Ext
   handle_internal_only_routers = True
   external_network_bridge = br-ex
   metadata_port = 9697
   

• Creo un secondo file /etc/neutron/l3_agent-2.ini

   
   host=second
   gateway_external_network_id = <id della rete Ext-lan>
   handle_internal_only_routers = False
   external_network_bridge = br-ex-2
   metadata_port = 9698
   

• Sul controller aggiungo nel file /etc/hosts l'ip della rete di management del network

   192.168.60.53 first
   192.168.60.53 second
   

• Preparo lo script di startup per il secondo agent e faccio partire entrambi gli l3. Verifico con

   neutron agent-list

che siano attivi

Il resto della configurazione e` standard, si creano le sottoreti si creano i due router e si collegano le interfacce ai router. E` importante che l'interfaccia del router sulla rete privata non sia nattata, il comando da dare sara`:

  neutron router-gateway-set --disable-snat Router-lan Ext-lan

Le due istanze l3 gestiscono sia la loro rete esterna che le loro reti interne in maniera indipendente. La prima istanza esce sulla rete 90.147.77.0 con gateway 90.147.77.254, gestisce le vm sulla rete 10.61.0.0. Le vm possono avere floating ip sulla rete pubblica, oppure escono con source nattato con un indirizzo della rete 90.147.77.0. Usano come dns quelli della sezione, idem per ntp e mbox. La seconda istanza esce sulla rete 172.25.25.0 con gateway 172.25.25.254 che è una indirizzo di cld-nat. Le vm sono sulla rete 10.62.0.0. Non possono avere floating. Sono raggiungibili direttamente dalle lan, ma non possono stabilire loro la connessione. Usano come dns 192.168.60.254. Possono uscire in internet con source nattato con ip 193.206.210.240. Possono usare l'ntp 192.84.143.133 e possono spedire mail solo verso le lan.

Le vm della rete 10.61 non raggiungono le vm della rete 10.62. Una vm puo` pero` avere due interfacce e fungere eventualmente da router per le vm della sua sottorete.

Infine ho definito una route statica sul router di Sezione per poter raggiungere la rete 10.62 attraverso cld-nat.

progetti/cloud-areapd/best_practices/neutron_multiple_external_interfaces.txt · Last modified: 2014/03/24 12:03 by fcosta@infn.it