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.