Нормальная локалка+выход в инет на контейнерах OpenVZ

Нормальная локалка+выход в инет на контейнерах OpenVZ

acrobat

Не вдаваясь в подробности VETH/VENET
yum install bridge-utils


1. cp /etc/sysconfig/network-scripts/eth0 /etc/sysconfig/network-scripts/vmbr0

Меняем
DEVICE="vmbr0"
TYPE="Bridge"

Добавляем, если нет
IPV6INIT="no"
IPV6_AUTOCONF="no"
ONBOOT="yes"


2. Если IP статический - сюда /etc/sysconfig/network добавляем GATEWAY из eth0

3. Сюда /etc/sysconfig/network-scripts/ifcfg-eth0 пишем:
DEVICE="eth0"
HWADDR="08:00:27:2D:82:3A"
ONBOOT="yes"
BRIDGE="vmbr0"
где 08:00:27:2D:82:3A - РЕАЛЬНЫЙ MAC-адрес сетевухи (физической)


4. Применяем настройки: sudo service network restart

5. Сюда /etc/vz/vznet.conf добавляем EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"

6. Прописываем eth0 в контейнер:
vzctl start 100 vzctl set 100 --netif_add eth0 --save

Если орет по поводу "нельзя", комментируем строку в /etc/vz/vznet.conf и пробуем еще раз
Если что-то вроде "уже есть", удаляем NETIF-строку из /etc/vz/conf/100.conf и пробуем еще раз
Если пишет "unable umount" - выйдите из /vz/root каталога на хост-машине

7. Заходим в контейнер vzctl enter 100

8. Прописываем конфиг /etc/sysconfig/network-scripts/ifcfg-eth0

Либо DHCP:
DEVICE="eth0"
TYPE="Ethernet"
BOOTPROTO="dhcp"
IPV6INIT="no"
IPV6_AUTOCONF="no"
ONBOOT="yes"

Либо статический (удобнее):
DEVICE="eth0"
TYPE="Ethernet"
BOOTPROTO="static"
IPV6INIT="no"
IPV6_AUTOCONF="no"
ONBOOT="yes"
IPADDR=192.168.1.101
NETMASK=255.255.255.0

9. На хост-машине прописываем:
iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
честно, не разбирался зачем оба, но только eth0 не работает.

10. На хост-машине: service network restart

11. Если нужен проброс белого IP-шника на виртуалку - просто добавляем его к виртуалке:
vzctl set 100 --ipadd x.x.x.x
где x.x.x.x - белый IP адрес

Report Page