Я добавил дополнительный IP-адрес к моему виртуальному серверу Ubuntu 12.04, работающему на виртуальном хосте OpenVZ. Я использовал ip addr add xx.xxx.168.95/32 label venet0:1 dev venet0.
Когда я делаю ifconfig, IP появляется ниже lo, venet0 и 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
По второму IP-адресу возникают проблемы. Локальный доступ работает нормально, и я использую экземпляр tomcat с виртуальным хостингом ipbased. Локально 2 сайта обслуживаются правильно. Внешне я могу достичь только одного на основном IP-адресе. Google DNS разрешает доменное имя, указывающее на вторичный IP-адрес, и на машине Ubuntu я добавил их и на хосты.
Я не могу получить вторичный IP-адрес извне, однако даже не с пинг. Казалось бы, мне нужно добавить что-то, чтобы сделать вторичный IP доступным для Интернета.
Что мне здесь не хватает?
UPDATE
Итак, я нашел концепцию IP Alias интересной. Вот мой файл «интерфейсов»:
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
В этом файле также говорится, что нельзя редактировать этот файл, а создать «interface.tail», файл с дополнительными правилами:
auto venet0:1
iface venet0:1 inet static
address xx.xxx.168.95
netmask 255.255.255.255
Однако сделать этот файл недостаточно. Мне нужно перезапустить сеть, и я попытался с помощью /etc/init.d/networking restart, но это «Не удалось открыть venet0». Поэтому я перезагрузился. Интерфейс.tail не читается.