Как правильно контролировать IP адреса используемые виртуальными машинами?
Есть хост с установленным Proxmox, и блок IP адресов для ВМ. Условно 1 ВМ = 1 Клиент.
Какие есть способы контроля и предотвращения использования гостем чужих(не выделенных ему и его виртуальной машине) IP адресов?
Спасибо, почитаю, возможно кто-то уже описывал Ваше решение в интернете по интеграции того же pfSense с proxmox.
Но хотелось бы что-то, работающее из коробки в выше упомянутом менеджере виртуалок, без дополнительных надстроек и панелей управления. Не уверен, может они даже конфликтовать будут на одной системе. Если такое конечно в нем есть.
Если хост Proxmox будет настроен как маршрутизатор, то в принципе должна быть такая возможность.
Решайте, подходит ли такой вариант для вашей схемы сети.
Ну, у меня есть несколько хостов, хоть и не Proxmox, а голая Ubuntu server с голым KVM с виртуалками, и эти же хосты являются маршрутизаторами в своих локальных сетях. В чём проблема-то? Настраивается с пол-пинка и работает годами. Разве что проблема конкретно в Proxmox (каким-то образом он с чем-то там несовместим), но это навряд ли. Сомневаюсь, что там настолько "мощное колдунство" и "rocket science", что кроме виртуализации поломаны обычные линуксовые функции.
Чем больше знаю, тем лучше понимаю, как мало знаю.
Пропишите в firewall нужной VM её IP, пусть firewall пропускает внутрь трафик только для этого IP. Вуаля, любая смена IP, даже через сам ProxMox = потеря трафика.
Я не могу ничего прописать в firewall-е конкретной VM, т.к мой вопрос и задача как раз связана с их изолированием от остальных IP адресов которые им не были выделены.
Виртуальная машина может быть передана кому угодно, и любые оганичения на самой виртуальной машине для этой же vm, являются не безопасными и как такового смысла не имеют. Возможно я как-то не так написал свой вопрос. Мне нужно варианты решения задачи о безопасности на хосте.
Разве только попробовать разрешать на хосте пакеты проходящие через бридж имеющие только определенный мак к определенному ip.
PS, это не Винда и груповых политик тут нет и не было никогда.
AUser0, видимо я действительно не понял Вас. По Вашему ответу я подумал что Вы предлагает прописать на VM.
Но прописать на Хосте, это действительно хорошая мысль, возможно даже получится воспользоваться интерфейсом.
meDveD_spb, если VM предоставляется клиенту, то внутри VM у клиента должны быть root-права, иначе это функционально не отличается от shared hosting, и такая VM никакому клиенту не нужна под видом VM.
Возможно я в силу отсутствия знаний выразился не корректно.
Под "Гость" я имел ввиду просто полноценную kvm виртуальную машину, расположенную на хосте(гипервизоре, сервере с proxmox).
Естественно у клиентов есть полный root-доступ, к своим VM, и они могут прописать любой IP.
Как раз эту возможность я бы хотел и ограничить.
*Изначально IP адреса на VM при установке прописываются просто руками, статика.
hint000, рут-прав в виндоусе нет, но ладно, допустим, ты дал админиские права на машину, раздаешь IP по dhcp с проксомкса, но если клиент поставит виртуальный маршрутизатор и изменит сетевые настроки и создаст какую-нибудь петлю?
кто этому может помешать кроме клиента?
тут нужны групповые политики, которыми можно запретить те или иные действия.
это не сетевой уровень и не уровень виртуализации.
meDveD_spb,
На виртуальной машине может любая ОСь, они изолированны это KVM. У клиентов, полный доступ к своим виртуалкам, это именно то что мне нужно.
Груповые политики, на сколько я понимаю это Windows. Proxmox это Linux, Debian как правило.
WAxel, hint000 Вопрос, не важно какая ось, что мешает клиенту выставить любой соседний айпи или вообще свободный айпи соседа, или вздумается сделать что угодно? Ты же оперрируешь IP провайдера, которыми управляет свой маршрутизатор.
нужен либо виртуальный маршрутизатор как отдельная машина, либо установленный на сам Proxmox, но это черевато, либо нужен какой-то контроллер доменов и прав доступа. Пути решения кардинально различны, и зависит это от самой ОС на ВМ, от типа аутентификации и авторизации при подключении к ВМ, да и от способа управления этой ВМ (что это панель управления, spice, rdp, vnc, nomachine)
чтобы абстрагироваться от этого, есть два инструмента в самом Proxmox.
Это SDN и openvswitch, оба не установлены по дефолту, но поддерживаются официально.
в твоем случае, наверное подойдёт второй вариант.
и они могут прописать любой IP.
Как раз эту возможность я бы хотел и ограничить.
Это делается групповыми политиками (выдумывать и настраивать сторонние или встроенные способы управления сетью не требуется),
либо создание и привязка уникального vmbrX только к одной VM (в этом поможет openvswitch), тогда, если клиент что-то изменит в настройках сети на другие существующиие IP в этой сети, то он потеряет доступ, а новые настройки просто не будут иметь смысла.
meDveD_spb, про групповые политики странное пишите. Даже если на виртуальной машине будет винда, то повторю: клиент сам всё админит внутри виртуальной машины. Зачем клиенту включать свою винду (даже если это винда) в левый домен, где он не будет админом?!
Только привязкой адресов за пределами VM это и решается. Потому что это никак не ограничивает права внутри VM. Да, клиент сможет прописать на VM любой адрес, просто с любым адресом (кроме выделенного) у него на VM сеть пропадёт и всё; когда вернёт выделенный адрес - сеть снова будет доступна.
у него на VM сеть пропадёт и всё; когда вернёт выделенный адрес - сеть снова будет доступна.
если у него сеть пропадет, он уже ничего больше не сможет, если не будет доступа к хосту pve.
а если не сможет их менять, то и не сломает ничего, и не попросит решить его проблему.
клиент сам всё админит внутри виртуальной машины.
пусть админит, можно запретить только изменение сетевых настроек.
и домен тут не обязателен.
это был один из вариантов, и мы выяснили, что тебе он не очень нравится/подходит.
он уже ничего больше не сможет, если не будет доступа к хосту pve
Вы вообще настраивали виртуалки? Как, по-вашему, туда устанавливают операционку, если сети не может быть, пока нет операционки? Для этого есть VNC на хосте, через номер порта привязаннй к определённой виртуалке. А уже давать доступ к VNC постоянно всем клиентам или по запросу - это вопрос администрирования и техподдержки услуги (т.е. вопрос не технический, а административный).
IPMI - то что используют +- всегда в таких случаях, и то с помощью чего управляют выделенными серверами удаленно без установленной на них системе.
Вcе это обсуждение совершенно никакого отношения к гипервизору на Debian(Proxmox) с KVM виртуализацией не имеет. Мне нужен был ситевой уровень, SDN кажется то что мне нужно, на этом и остановился пока что. Судя по их Wiki, можно довольно просто реализовать то что мне было нужно.