Gebruiken van multiple Floating IP's

Het is mogelijk om gebruik te maken van meerdere floating IP's gekoppeld aan 1 instance. Hiervoor zijn enkele configuratie instellingen noodzakelijk. Deze handleiding beschrijft voor zowel CentOS als Ubuntu hoe u dit kunt opzetten. Bijgevoegd in deze instructie treft u een video aan waarin u gedetailleerd kunt zien hoe u meerdere floating IP's kunt koppelen aan een instance. 

Enige kennis over netwerken is vereist. 

Als eerste dient u in Horizon een apart subnet aan te maken waaraan u later de floating IP's koppelt 

  • Log in op de Horizon Interface 
  • In het linker zij menu klik op "Network" en daarna op "Networking" 
  • Selecteer rechts bovenin "+CREATE NETWORK"
  • Geef een naam op voor het nieuwe netwerk
  • Klik hierna op subnet en vul een "Subnet Name" in 
  • Geef vervolgens een subnet range op, in dit voorbeeld kunt u gebruik maken van de range 192.168.1.0/24
  • Verder hoef u niets op te geven, Klik op "create"

Maak een router aan als default gateway naar buiten voor het nieuwe subnet 

  • In het linker zij menu klik op "Network" en daarna op "Routers" 
  • Selecteer rechts bovenin "+CREATE ROUTER"
  • Geef een "Router Name" op. 
  • Klik hierna op "Create Router"
  • Klik hierna bij de nieuw aangemaakte router de optie "Set Gateway" aan 
  • Bij de optie "External Network" selecteer het netwerk "Floating" 
  • Klik op "SET GATEWAY" 
  • Klik hierna op de aangemaakte router in het overzicht 
  • En daarna op "+ADD INTERFACE" 
  • Bij subnet selecteer het eerder aangemaakte subnet en klik op "ADD INTERFACE" 

Maak nu een instance aan en koppel meerdere Interfaces aan deze Instance 

  • In het linker zij menu klik op "Compute" en daarna op "Instances" 
  • Maak een nieuwe instance aan Ubuntu of CentOS en zorg dat de eerste interface gekoppeld zit in het zojuist aangemaakte subnet 
  • Klik in het overzicht rechts bij instances op het pull down menu van het instance en selecteer "Attach Interface" 
  • Selecteer vervolgens het subnet zojuist aangemaakt 
  • Herhaal dit tot er 3 interfaces zijn gekoppeld aan het instance in hetzelfde subnet 

Koppel een floating IP aan de netwerk interfaces 

  • In het linker zij menu klik op "Network" en daarna op "Floating IPs" 
  • Klik rechts bovenin op "ALLOCATE IP TO PROJECT" en vervolgens op "ALLOCATE IP" 
  • In het hoofdscherm ziet u het nieuwe IP toegekend, klik bij dit IP op "ASSOCIATE" 
  • Klik vervolgens bij "Port to be associated" de juiste interface aan, en klik op "ASSOCIATE" 
  • Herhaal dit tot aan iedere interface gekoppeld aan het instance een floating IP is toegekend. 

 

 

 

Wanneer u het instance heeft opgezet in de Horizon interface moet de routing worden ingesteld op het instance zelf zodat de floating IPs benaderbaar zijn op alle interfaces. Omdat op iedere interface een IP staat geconfigureerd in hetzelfde subnet met dezelfde Gateway moet voor iedere Interface een Routing Entry worden aangemaakt. Hieronder wordt voor zowel Ubuntu als CentOS beschreven hoe u dit kunt doen. 

  • Updaten van de Routing table voor zowel Ubuntu als CentOS ​

Als eerst moet de Routing Table worden aangepast zodat er voor iedere Interface een Table Entry is Aangemaakt. 

Open de Routing Table met een editor. 

vim /etc/iproute2/rt_tables

In dit voorbeeld wordt er gebruik gemaakt van 3 Interfaces waarvoor een Entry wordt aangemaakt, table1, table2 en table3. Stel voor iedere Table entry een andere Prioriteit in zoals in het voorbeeld hieronder is weergegeven. 

#
# reserved values
#
255    local
254    main
253    default
0    unspec
#
# local
#
#1    inr.ruhep

# Floating IPs
100    table1 
101    table2
102    table3 

Enable daarna IP Forwarding 

  • Controleer of IP forwarding is ingeschakeld 
sysctl net.ipv4.ip_forward

Output moet 1 zijn, als deze 0 is dan moet IP forwarding worden ingeschakeld.  

net.ipv4.ip_forward = 1
  • Schakel IP forwarding in, open de sysctl configuratie met een editor
vim /etc/sysctl.conf

En voeg de onderstaande regel toe of pas deze aan in de configuratie naar het voorbeeld hieronder 

net.ipv4.ip_forward = 1

Reload sysctl om de nieuwe setting actief te maken 

sysctl --system

 

  • Instellen van de Network Configuratie onder Ubunu

Open de Netwerk Configuratie van de Interfaces 

vim /etc/network/interfaces

Het voorbeeld hieronder laat zien hoe u voor iedere Interface de Routing correct Instelt. Iedere Interface verkrijgt met DHCP een IP op waarna de Routes handmatig zijn opgegeven. U dient voor iedere Interface de IP's aan te passen naar uw eigen situatie. 

# The First network interface: Floating IP 1.2.3.4
auto     eth0
iface    eth0        inet dhcp 

    post-up      /sbin/ip route add 192.168.1.0/24 dev eth0 src 192.168.1.3 table table1 
    post-up      /sbin/ip route add default via 192.168.1.1 dev eth0 table table1    
    post-up      /sbin/ip rule add from 192.168.1.3/32 table table1    
    post-up      /sbin/ip rule add to 192.168.1.3/32 table table1 
    post-down    /sbin/ip route del 192.168.1.0/24 dev eth0 src 192.168.1.3 table table1
    post-down    /sbin/ip route del default via 192.168.1.1 dev eth0 table table1
    post-down    /sbin/ip rule del from 192.168.1.3/32 table table1
    post-down    /sbin/ip rule del to 192.168.1.3/32 table table1

# The Second network interface: Floating IP 1.2.3.4
auto     eth1
iface    eth1        inet dhcp 

    post-up      /sbin/ip route add 192.168.1.0/24 dev eth1 src 192.168.1.4 table table2
    post-up      /sbin/ip route add default via 192.168.1.1 dev eth1 table table2
    post-up      /sbin/ip rule add from 192.168.1.4/32 table table2  
    post-up      /sbin/ip rule add to 192.168.1.4/32 table table2 
    post-down    /sbin/ip route del 192.168.1.0/24 dev eth1 src 192.168.1.4 table table2
    post-down    /sbin/ip route del default via 192.168.1.1 dev eth1 table table2
    post-down    /sbin/ip rule del from 192.168.1.4/32 table table2 
    post-down    /sbin/ip rule del to 192.168.1.4/32 table table2

# The Thirth network interface:    Floating IP 1.2.3.4
auto     eth2
iface    eth2        inet dhcp 

    post-up      /sbin/ip route add 192.168.1.0/24 dev bridge2 src 192.168.1.5 table table3
    post-up      /sbin/ip route add default via 192.168.1.1 dev bridge2 table table3
    post-up      /sbin/ip rule add from 192.168.1.5/32 table table3 
    post-up      /sbin/ip rule add to 192.168.1.5/32 table table3 
    post-down    /sbin/ip route del 192.168.1.0/24 dev bridge2 src 192.168.1.5 table table3
    post-down    /sbin/ip route del default via 192.168.1.1 dev bridge2 table table3
    post-down    /sbin/ip rule del from 192.168.1.5/32 table table3
    post-down    /sbin/ip rule del to 192.168.1.5/32 table table3

Herstart hierna uw systeem om de Netwerk Configuratie actief te maken. 

 

Instellen van de Netwerk Configuratie onder CentOS ​

Controleer of er voor iedere Interface een Configuratie is Ingesteld. Bij het toevoegen van nieuwe Interfaces moet u een nieuwe Configuratie toevoegen. 

  • Eerste Netwerk Interface
vim /etc/sysconfig/network-scripts/ifcfg-eth0

Configuratie als hieronder ingesteld

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no

 

  • Tweede Netwerk Interface
vim /etc/sysconfig/network-scripts/ifcfg-eth1

Configuratie als hieronder ingesteld

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no

 

  • Derde Netwerk Interface
vim /etc/sysconfig/network-scripts/ifcfg-eth2

Configuratie als hieronder ingesteld

DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no

 

Voor iedere Interface word een aparte Routing en Rules Configuratie Ingesteld.

  • Voor de eerste Netwerk Interface

Routes Configuratie

vim /etc/sysconfig/network-scripts/route-eth0

Configuratie als hieronder ingesteld

192.168.1.0/24 dev eth0 src 192.168.1.3 table table1
default via 192.168.1.1 dev eth0 table table1

Rules Configuratie

vim /etc/sysconfig/network-scripts/rule-eth0

Configuratie als hieronder ingesteld

from 192.168.1.3/32 table table1
to 192.168.1.3/32 table table1

 

  • Voor de tweede Netwerk Interface

Routes Configuratie

vim /etc/sysconfig/network-scripts/route-eth1

Configuratie als hieronder ingesteld

192.168.1.0/24 dev eth1 src 192.168.1.4 table table2
default via 192.168.1.1 dev eth1 table table2

Rules Configuratie

vim /etc/sysconfig/network-scripts/rule-eth1

Configuratie als hieronder ingesteld

from 192.168.1.4/32 table table2
to 192.168.1.4/32 table table2

 

  • Voor de derde Netwerk Interface

Routes Configuratie

vim /etc/sysconfig/network-scripts/route-eth2

Configuratie als hieronder ingesteld

192.168.1.0/24 dev eth2 src 192.168.1.5 table table3
default via 192.168.1.1 dev eth2 table table3

Rules Configuratie

vim /etc/sysconfig/network-scripts/rule-eth2

Configuratie als hieronder ingesteld

from 192.168.1.5/32 table table3
to 192.168.1.5/32 table table3

Herstart hierna uw systeem om de Netwerk Configuratie actief te maken.

Helpcenter

Algemene FAQ

Bekijk alle vragen

OpenStack FAQ

Bekijk alle vragen

Knowledgebase

Bekijk alle vragen