Eu adicionei um IP secundário ao meu servidor virtual, o Ubuntu 12.04 em execução no host virtual OpenVZ . Eu usei ip addr add xx.xxx.168.95/32 label venet0:1 dev venet0
.
Quando faço ifconfig o IP aparece abaixo, venet0 e venet0: 0:
venet0:1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:xx.xxx.168.95 P-t-P:xx.xxx.168.95 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
Existem problemas que atingem o IP secundário externamente. O acesso local funciona bem e estou usando uma instância do tomcat com hospedagem virtual baseada em ip. Localmente os 2 sites são servidos corretamente. Externamente, só posso alcançar o do IP principal.
O DNS do Google resolve o nome de domínio apontando para o IP secundário em questão e na máquina Ubuntu eu adicionei-os aos hosts também.
No entanto, não consigo acessar o IP secundário externamente, nem mesmo com o ping. Parece que preciso adicionar algo para tornar o IP secundário disponível na Internet.
O que estou perdendo aqui?
UPDATE
Então, achei interessante o conceito de IP Alias. Aqui está o meu arquivo "interfaces":
auto lo
iface lo inet loopback
auto venet0
iface venet0 inet manual
up ifconfig venet0 up
up ifconfig venet0 0
up route add default dev venet0
down route del default dev venet0
down ifconfig venet0 down
iface venet0 inet6 manual
up ifconfig venet0 add yyyy:yyy:5::4db/0
down ifconfig venet0 del yyyy:yyy:5::4db/0
up /sbin/ip -6 route add 2000::/3 dev venet0
auto venet0:0
iface venet0:0 inet static
address xx.xxx.168.175
netmask 255.255.255.255
Este arquivo também declara não editar esse arquivo, mas sim criar um arquivo "interfaces.tail" com regras adicionais:
auto venet0:1
iface venet0:1 inet static
address xx.xxx.168.95
netmask 255.255.255.255
Fazer este arquivo não é suficiente no entanto. Eu preciso reiniciar a rede e eu tentei com /etc/init.d/networking restart
, mas que "Falha ao abrir venet0". Então eu reiniciei. O interfaces.tail não é lido.