IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Multihoming és una tècnica utilitzada normalment per afegir redundància i per tant incrementar la fiabilitat (reliability). Vegem alguns exemples:

  • Servidor multihomed: normalment fa referència a un servidor que té múltiples IPS. En el cas d'un servidor d'Internet amb múltiples IPs públiques, es pot donar els cas que cada Ip pública pertany a un ISP diferent i per tant, tenim una redundància d'accés al servidor que ens permet accedir per dos IPs diferents (si un ISP falla, queda l'altre IP).
  • Router Multihoming: un encaminador amb accés a múltiples ISPs. Igual que l'anterior, és un encaminador que té 2 o més adreces Ip públiques que li permeten connectar-se a dos o més ISPs.

aka Multi-Homed Servers

Exemples

Migració servidor d'una IP pública a un altre. Canvis en DNS

Al canviar l'adreça pública d'un servidor connectat a Internet amb una IP pública, provoca que hagem de canviar la configuració del servidor de DNS per apuntar cap a la nova IP. El problema està en que els canvis als servidors DNS d'Internet no s'apliquen automàticament degut a les caches i TTL dels servidors DNS. Això provoca que pugui tardar varies hores (o dies) en propagar-se un canvi a tots els DNS de la xarxa.

Vegeu un exemple. La wiki que esteu consultant, en el seu moment va haver de migrar la seva IP de.

109.69.15.140

a:

185.13.76.40

Si ens es possible tenir les dos IPs durant la migració, podem assegurar-nos que el servidor no deixa mai de respondre si contesta correctament a les dos IPs. Els servidors de DNS ja actualitzats contestaran a la nova IP (185.13.76.40), en canvi els encara no actualitzats respondran a l'antiga (109.69.15.140).

El problema és que tenim dos IPs al mateix servidor (Servidor Multihomed), cada IP correspon a la IP d'un ISP diferent i si utilitzem la típica configuració basada en gateway per defecte (default gateway), aleshores només la IP que està associada al default gateway funcionarà correctament.

La solució passa per aplicar Policy Routing. En el meu cas el procediment ha estat afegir una targeta de xarxa al servidor (es tractava d'una màquina virtual i això ha facilitat la tasca). La nova targeta agafa la nova IP del servidor i es configura per a ser el default route per la nova connexió.

El que cal fer és crear una taula de rutes extra a la taula de rutes per defecte. Aquesta taula de rutes l'aplicarem només a les connexions per l'antiga IP

Primer ens assegurem i fem un flush (per si existia)

$ sudo /sbin/ip route flush table 80

Comprovem la taula esta buida:

$ sudo ip route show table 80

Afegim una entrada a la taula:

$ sudo /sbin/ip route add table 80 to 109.69.15.128/28 dev eth2

On:

  • eth2: és la interfície de xarxa on hi ha l'antiga IP
  • 109.69.15.128/28: Adreça de xarxa i mascara de l'antiga IP

Amb això afegim accés capa 2 a la xarxa a la que pertany la IP per la interfície 2 (esta ruta també està igual a la taula de rutes per defecte). Utilitzeu ipcalc per comprovar els valors:

$ ipcalc 109.69.15.129/28

Ara configurem el gateway (default route) per a aquesta taula de rutes:

$ sudo /sbin/ip route add table 80 to default via 109.69.15.129 dev eth2

On és l'adreça del gateway.

Comproveu tot està Ok

$ sudo ip route show table 80
default via 109.69.15.129 dev eth2 
109.69.15.128/28 dev eth2  scope link 

Ara afegim la norma de policy routing:

$ sudo /sbin/ip rule add from 109.69.15.140/28 table 80 priority 80

On 80 ha de ser un valor inferior a la prioritat de la taula de rutes per defecte (253, fitxer /etc/iproute2/rt_tables) per tal que s'apliqui abans aquesta taula de rutes que l'altre.

Feu un flush de la cache per aplicar el canvi:

$ sudo /sbin/ip route flush cache

El servidor ja contesta a les dos adreces IP.

NOTA: En el meu cas l'antiga IP es deixava d'utilitzar i per això no he fet els canvis permanents

Overcoming Asymmetric Routing on Multi-Homed Servers

S'utilitza policy Routing.

Asymmetric Routing

http://www.linuxjournal.com/article/7291?page=0,1

Vegeu també

Enllaços externs