Встала задача по настройке сервера с OpenVZ виртуалками.
Имеем: физический сервер (CentOS 6), несколько IPv4 адресов, создано два контейнера.
Необходимо второму контейнеру выдать внешний IP адрес (допустим, 1.1.2.2).
Раньше настройкой виртуализации не занимался, но насколько понял из различной документации, для получения контейнером внешнего IP необходимо подключить его при помощи VETH соединения. Выполнил действия, описанные во многих инструкциях. В итоге хост-сервер работает через bridge (vmbr0), для контейнера создан персональный интерфейс (veth200.0):
eth0 Link encap:Ethernet HWaddr 00:30:48:F1:7F:E6
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1210 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:105064 (102.6 KiB) TX bytes:67279 (65.7 KiB)
Interrupt:16 Memory:fbce0000-fbd00000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:433 (433.0 b) TX bytes:433 (433.0 b)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:6 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
veth200.0 Link encap:Ethernet HWaddr 00:18:51:E6:A1:DB
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:318 errors:0 dropped:4 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:496 (496.0 b) TX bytes:14678 (14.3 KiB)
vmbr0 Link encap:Ethernet HWaddr 00:18:51:E6:A1:DB
inet addr:1.1.2.1 Bcast:1.1.1.1 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1221 errors:0 dropped:0 overruns:0 frame:0
TX packets:483 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:83772 (81.8 KiB) TX bytes:66023 (64.4 KiB)
Однако назначить на контейнер адрес не выходит:
# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
110 49 running 192.168.1.110 container1.com
200 38 running - container2.com
NETFILTER="stateless"
VE_ROOT="/vz/root/$VEID"
VE_PRIVATE="/vz/private/$VEID"
OSTEMPLATE="centos-6-x86_64-minimal"
ORIGIN_SAMPLE="vswap-2g"
ONBOOT="yes"
NAMESERVER="8.8.8.8 8.8.4.4"
HOSTNAME="container2.com"
NETIF="ifname=eth0,mac=00:18:51:DF:00:52,host_ifname=veth200.0,host_mac=00:18:51:E6:A1:DB,vmbr0"
IPADDR=192.168.1.200
Из самого контейнера сеть недоступна, хотя вроде бы IP адрес присвоен (хоть и не внешний):
eth0 Link encap:Ethernet HWaddr 00:18:51:DF:00:52
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:41 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1936 (1.8 KiB) TX bytes:496 (496.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
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)
Различные forwarding`и и proxy_arp установил.
Подскажите, пожалуйста, что я забыл сделать?