Tentando configurar o Multi-Homing no Ubuntu12, mas só pode receber 1 de 2 IP para aceitar pedidos

2

Estou tendo um problema em alguns novos servidores que estamos criando no Ubuntu 12 em uma caixa virtual em execução no VMware (VSphere, acredito). Isso é em um ISP e não na minha área de trabalho. Acho que temos o mesmo problema em nosso datacenter antigo, mas nunca encontramos uma maneira de solucioná-lo. Nós apenas paramos de usar multi-homing e apenas usamos um ou outro dos endereços IP (queríamos um em um DMZ e um somente interno). Queremos ter o banco de dados disponível apenas na sub-rede INT

O problema (versão curta): Tentando configurar o Muli-homing no Ubuntu, mas só consegue um IP para responder.

Versão mais longa - Queremos ter duas redes, uma que seja DMZ e possa ter acesso à Internet externa e à INT, que é interna e só pode acessar outros servidores em nossa parte do datacenter. Eu posso defini-los de tal forma que eles apareçam corretamente em ifconfig, netstat -nr e IP route show, mas se eu tento acessar um serviço no servidor, só consigo um para o outro para responder, o outro para fora. Qual responde fica consistente entre as reinicializações.

De tudo o que eu tenho lido, temos coisas definidas corretamente, mas talvez estejamos perdendo algo ou algo especial que também precisa ser feito, já que estamos sob o VMware.

Se eu testar o SSH ou o PING no endereço da DMZ, tudo funcionará bem. Se eu tentar o endereço INT, apenas expira. Não há indicação de que esteja sendo bloqueado pelo iptables, ou qualquer outra mensagem de erro relacionada no (s) registro (s).

Se eu tentar individualmente, eles funcionarão. É somente quando eu tento como multi-homing que o acesso falha

Antecedentes:

Ubuntu 12.04 LTS no VMware

Os nomes foram alterados, mas foram consistentes. A e B são números diferentes e são substituídos de forma consistente. Os outros são os mesmos que estão em nossa configuração.

Local server name mapping
DMZ_001     10.A.B.64/26
INT_002     10.A.B.128/27

DMZ - 10.A.B.71 (eth0)
INT - 10.A.B.140 (eth1)

Abaixo eu tenho ifconfig, netstat -nr, ip route show e o arquivo de interfaces. Se houver outras informações que possam ajudar, informe-me.

=====================

username@servername:~$ cat /etc/network/interfaces
iface lo inet loopback
auto lo

#DMZ
auto eth0
iface eth0 inet static
address 10.A.B.71
netmask 255.255.255.192
gateway 10.A.B.65
#up route add default gw 10.A.B.65
dns-nameservers 8.8.8.8 8.8.4.4

# INT
auto eth1
iface eth1 inet static
  address 10.A.B.140
  netmask 255.255.255.224
  gateway 10.A.B.129
#up route add default gw 10.A.B.129
  dns-nameservers 8.8.8.8 8.8.4.4
  dns-search thinaire.net

================================

username@servername:~$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.A.B.65    0.0.0.0         UG        0 0          0 eth0
10.A.B.64    0.0.0.0         255.255.255.192 U         0 0          0 eth0
10.A.B.128   0.0.0.0         255.255.255.224 U         0 0          0 eth1

================================

username@servername:~$ ip route show
default via 10.A.B.65 dev eth0  metric 100
10.A.B.64/26 dev eth0  proto kernel  scope link  src 10.A.B.71
10.A.B.128/27 dev eth1  proto kernel  scope link  src 10.A.B.140
username@servername:~$

============================

username@servername:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:ac:5e:1b
          inet addr:10.A.B.71  Bcast:10.A.B.127  Mask:255.255.255.192
          inet6 addr: fe80::250:56ff:feac:5e1b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:26089 errors:0 dropped:9 overruns:0 frame:0
          TX packets:18282 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3784760 (3.7 MB)  TX bytes:2359060 (2.3 MB)

eth1      Link encap:Ethernet  HWaddr 00:50:56:ac:06:44
          inet addr:10.A.B.140  Bcast:10.A.B.159  Mask:255.255.255.224
          inet6 addr: fe80::250:56ff:feac:644/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4437 errors:0 dropped:8 overruns:0 frame:0
          TX packets:726 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:295739 (295.7 KB)  TX bytes:74047 (74.0 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
por Paul Hardwick 22.07.2014 / 01:57

1 resposta

1

Você não pode ter mais de um gateway padrão por tabela de rotas no linux configurado desta forma .

Para ter vários gateways padrão, você precisará configurar tabelas de rotas separadas para cada IP de origem.

Algo assim:

ip route add default via 10.A.B.65 src 10.A.B.71 table 1

ip route add 10.A.B.64/26 dev eth0 table 1

ip route add 10.A.B.128/27 dev eth1 table 1

ip rule add from 10.A.B.71 lookup 1

e para a segunda interface

ip route add default via 10.A.B.129 src 10.A.B.140 table 2

ip route add 10.A.B.64/26 dev eth0 table 2

ip route add 10.A.B.128/27 dev eth1 table 2

ip rule add from 10.A.B.140 lookup 2

Você também pode adicionar outras rotas a essas tabelas de rota

Para configurá-lo em / etc / network / interfaces, você pode colocar esses comandos em um script e chamar up directive (veja man 5 interfaces )

auto eth0 iface eth0 inet estática endereço 10.A.B.71 máscara de rede 255.255.255.192 gateway 10.A.B.65 para cima /usr/local/bin/eth0-up.sh dns-nameservers 8.8.8.8 8.8.4.4

em que eth0-up.sh é um arquivo com:

#!/bin/bash

ip route add default via 10.A.B.65 src 10.A.B.71 table 1

ip route add 10.A.B.64/26 dev eth0 table 1

ip route add 10.A.B.128/27 dev eth1 table 1

ip rule add from 10.A.B.71 lookup 1

Repita o mesmo para eth1

    
por 22.07.2014 / 06:02