Внешние серверы в локальном облаке на Proxmox
Как несложно догадаться имеем облако на базе Proxmox.
Все узлы имеют по два интерфейса. Один из них (eth0) смотрит в локальную сеть, а второй (eth1) — в глобальный интернет. Однако, сами узлы не имеют внешних адресов. IPv4 нынче дороги, да и просто незачем.
В этом облаке нужно создать виртуальную машину — контейнер (CT) с внешним адресом.
Виртуальная сеть (aka venet) не подходит ибо маршрутизироваться не будет. Поэтому будем использовать veth. Чтобы это сделать на узле нужно сначала создать мост (bridge) в котором будет состоять eth1. Далее нужно создать CT с veth сетью. Ну или добавить veth интерфейс в существующую, но при этом эта машина должна быть выключена. Обычно получаем eth0, но уже в CT. 😉
Proxmox не даёт настроить IP адрес для veth для VM. Поэтому лезем в /var/lib/vz/private/CTID/etc/network/interfaces на узле и пишим конфиг вручную. Он стандартный:
auto eth0 iface eth0 inet static address IP netmask 255.255.255.0 gateway GW
Теперь запускаем CT и подключаемся к нему по ssh.