Como posso definir a “rota padrão” quando uma interface possui vários IPs?

1

Eu segui este guia para Vários endereços IP no Amazon EC2 e foram com o segundo método listado de adicionar dois endereços IP a uma única interface. Isso foi feito adicionando dois IPs privados ao adaptador e associando um IP elástico a cada um dos endereços privados.

Quando executo um comando como curl , ele usa o endereço IP principal e gostaria de saber como alterá-lo para usar o outro endereço IP por padrão. Aqui está a configuração:

IPs públicos (elásticos)

54.140.250.140
54.81.231.80

IPs privados

172.30.0.50
172.30.0.122

Depois de adicionar os IPs elásticos e privados, faço isso:

ip addr add dev eth0 172.30.0.122/24

Para confirmar que está funcionando, posso fazer:

curl icanhazip.com
54.81.231.80

curl --interface 172.30.0.50 icanhazip.com
54.81.231.80

curl --interface 172.30.0.122 icanhazip.com
54.140.250.140

Como você pode ver, a rota padrão é feita pelo IP original / principal.

Aqui estão os dados da execução de ifconfig

eth0      Link encap:Ethernet  HWaddr 12:34:56:78:90:ab
          inet addr:172.30.0.50  Bcast:172.30.0.255  Mask:255.255.255.0
          inet6 addr: aabb::cccc:dddd:eeee:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
          RX packets:713 errors:0 dropped:0 overruns:0 frame:0
          TX packets:631 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:63726 (63.7 KB)  TX bytes:827217 (827.2 KB)

lo        .... omitted ....

E é isso que eu recebo executando route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.30.0.1      0.0.0.0         UG    0      0        0 eth0
172.30.0.0      *               255.255.255.0   U     0      0        0 eth0

Eu tentei mudar a rota 'padrão' com um script como este. Eu usei screen para que o script continue depois que eu for desconectado (supondo que a primeira linha cause isso):

/sbin/route del default
/sbin/route add default via 172.30.0.122 dev eth0 tab 1

Eu também tentei sem o tab 1 , mas ainda não tive sorte.

Como posso definir qual IP de saída é usado 'por padrão'?

Gostaria também de saber se é possível especificar que apenas o tráfego para um determinado intervalo de IPs use o endereço secundário como o endereço padrão.

    
por cwd 24.03.2015 / 20:31

1 resposta

3
ip route replace default via 172.30.0.1 src 172.30.0.122
    
por 24.03.2015 / 21:01

Tags