Configureren van meerdere Publieke netwerk Interfaces

Het is mogelijk om gebruik te maken van meerdere Publieke IP's gekoppeld aan 1 instance. U kunt zowel IPV4 als IPV6 interfaces configureren. Hiervoor zijn enkele configuratie instellingen noodzakelijk op uw instances.

Wanneer u het instance heeft opgezet in de Horizon interface moet de routing worden ingesteld op het instance zelf zodat de Publieke IPs benaderbaar zijn op de juiste interface en met de juiste gateway. Hieronder wordt voor zowel Ubuntu als CentOS beschreven hoe u dit kunt doen. In dit voorbeeld worden er 2 IPV4 en 2 IPV6 interfaces geconfigureerd op 1 instance.

  • 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 4 Interfaces waarvoor een Entry wordt aangemaakt, table1, table2 table3 en table4. 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 
103    table4

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. Wanneer u gebruik maakt van IPV6 kunt u netwerk routes hier niet instellen.

# The First network interface: Public IPV4 IP 83.96.255.29
auto     eth0
iface    eth0        inet dhcp 

    post-up      /sbin/ip route add 83.96.252.0/22 dev eth0 src 83.96.255.29 table table1
    post-up      /sbin/ip route add default via 83.96.252.1 dev eth0 table table1
    post-up      /sbin/ip rule add from 83.96.255.29/32 table table1
    post-up      /sbin/ip rule add to 83.96.255.29/32 table table1
    post-down    /sbin/ip route del 83.96.252.0/22 dev eth0 src 83.96.255.29 table table1
    post-down    /sbin/ip route del default via 83.96.252.1 dev eth0 table table1
    post-down    /sbin/ip rule del from 83.96.255.29/32 table table1
    post-down    /sbin/ip rule del to 83.96.255.29/32 table table1


# The Second network interface: Public IPV4 IP 83.96.242.164
auto     eth1
iface    eth1        inet dhcp 

    post-up      /sbin/ip route add 83.96.240.0/22 dev eth1 src 83.96.242.164 table table2
    post-up      /sbin/ip route add default via 83.96.240.1 dev eth1 table table2
    post-up      /sbin/ip rule add from 83.96.242.164/32 table table2
    post-up      /sbin/ip rule add to 83.96.242.164/32 table table2
    post-down    /sbin/ip route del 83.96.240.0/22 dev eth1 src 83.96.242.164 table table2
    post-down    /sbin/ip route del default via 83.96.240.1 dev eth1 table table2
    post-down    /sbin/ip rule del from 83.96.242.164/32 table table2
    post-down    /sbin/ip rule del to 83.96.242.164/32 table table2

# The Thirth network interface:    Public IPV6 IP 2a02:348:5e6:1::ab40
auto     eth2
iface    eth2        inet dhcp 

# The Fourth network interface:    Public IPV6 IP 2a02:348:5e6:1::ab40
auto eth3
    iface eth3 inet6 dhcp

Het instellen van de IPV6 routes werkt niet in de reguliere netwerk configuratie, u dient hiervoor de /etc/rc.local aan te passen.

vim /etc/rc.local

Zoals hieronder in het voorbeeld, u dient de relevante gegevens aan te passen naar uw situatie.

#!/bin/sh

sleep 5

# /sbin/ip -6 route add <SUBNET> dev <DEVICE> src <IPV6_ADDRESS> table <TABLE_NAME>
# /sbin/ip -6 route add default via <IPV6_GATEWAY> dev <DEVICE> table <TABLE_NAME>
# /sbin/ip -6 rule add from <IPV6_ADDRESS/NETMASKER> table <TABLE_NAME>
# /sbin/ip -6 rule add to <IPV6_ADDRESS/NETMASKER> table <TABLE_NAME>

/sbin/ip -6 route add 2a02:348:5e6:1::/112 dev eth2 src 2a02:348:5e6:1::ab40 table table3
/sbin/ip -6 route add default via 2a02:348:5e6:1::1 dev eth2 table table3
/sbin/ip -6 rule add from 2a02:348:5e6:1::ab40/128 table table3
/sbin/ip -6 rule add to 2a02:348:5e6:1::ab40/128 table table3

/sbin/ip -6 route add 2a02:348:5e6:1::/112 dev eth3 src 2a02:348:5e6:1::ab40 table table4
/sbin/ip -6 route add default via 2a02:348:5e6:1::1 dev eth3 table table4
/sbin/ip -6 rule add from 2a02:348:5e6:1::ab40/128 table table4
/sbin/ip -6 rule add to 2a02:348:5e6:1::ab40/128 table table4


exit 0

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

 

  • Vierde Netwerk Interface
vim /etc/sysconfig/network-scripts/ifcfg-eth3

Configuratie als hieronder ingesteld

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

 

Voor iedere Interface wordt 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

83.96.252.0/22 dev eth0 src 83.96.255.29 table table1
default via 83.96.252.1 dev eth0 table table1

Rules Configuratie

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

Configuratie als hieronder ingesteld

from 83.96.255.29/32 table table1
to 83.96.255.29/32 table table1

 

  • Voor de tweede Netwerk Interface

Routes Configuratie

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

Configuratie als hieronder ingesteld

83.96.240.0/22 dev eth1 src 83.96.242.164 table table2
default via 83.96.240.1 dev eth1 table table2

Rules Configuratie

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

Configuratie als hieronder ingesteld

from 83.96.242.164/32 table table2
to 83.96.242.164/32 table table2

Het instellen van de IPV6 routes werkt niet in de reguliere netwerk configuratie, u dient hiervoor de /etc/rc.local aan te passen.

vim /etc/rc.local

 

#!/bin/sh

sleep 5

# ip -6 route add <SUBNET> dev <DEVICE> src <IPV6_ADDRESS> table <TABLE_NAME>
# ip -6 route add default via <IPV6_GATEWAY> dev <DEVICE> table <TABLE_NAME>
# ip -6 rule add from <IPV6_ADDRESS/NETMASKER> table <TABLE_NAME>
# ip -6 rule add to <IPV6_ADDRESS/NETMASKER> table <TABLE_NAME>

ip -6 route add 2a02:348:5e6:1::/112 dev eth2 src 2a02:348:5e6:1::ab40 table table3
ip -6 route add default via 2a02:348:5e6:1::1 dev eth2 table table3
ip -6 rule add from 2a02:348:5e6:1::ab40/128 table table3
ip -6 rule add to 2a02:348:5e6:1::ab40/128 table table3

ip -6 route add 2a02:348:5e6:1::/112 dev eth3 src 2a02:348:5e6:1::ab40 table table4
ip -6 route add default via 2a02:348:5e6:1::1 dev eth3 table table4
ip -6 rule add from 2a02:348:5e6:1::ab40/128 table table4
ip -6 rule add to 2a02:348:5e6:1::ab40/128 table table4


exit 0

Enable de rc.local tijdens opstarten

systemctl enable rc-local

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