Hetzner - DokuWiki

Proxmox VE/ru
K (Безопасность)
Zeile 2: Zeile 2:
  
 
== Proxmox VE ==
 
== Proxmox VE ==
+
 
 
[[Datei:startpage-with-cluster.png|600px]]
 
[[Datei:startpage-with-cluster.png|600px]]
  
[http://pve.proxmox.com Proxmox VE] это платформа виртуализации с открытым исходным кодом, поддерживающая OpenVZ, KVM и, начиная с версии 4.0, (сейчас в состоянии разработки) LXC (Linux Containers). С версии 4.0 Proxmox имеет полную поддержку IPv6. Более полная информация о новых возможностях доступна в  [[Proxmox_VE/ru#Важные ссылки|Official Roadmap]], опубликованном на Proxmox VE Wiki.
+
[https://pve.proxmox.com Proxmox VE] это платформа виртуализации с открытым исходным кодом, поддерживающая OpenVZ (до версии 3.4), KVM и, начиная с версии 4.0, LXC (Linux Containers). Более того, с версии 4.0 Proxmox имеет полную поддержку IPv6. Более полная информация о новых возможностях доступна в  [[Proxmox_VE/ru#Важные ссылки|Official Roadmap]], опубликованном на Proxmox VE Wiki.
  
 
Установка в целом считается несложной, так как OpenVZ корректно настраивает большинство вещей. Тем не менее, после установки нужно произвести настройку некоторых вещей.
 
Установка в целом считается несложной, так как OpenVZ корректно настраивает большинство вещей. Тем не менее, после установки нужно произвести настройку некоторых вещей.
 +
 +
'' 'Предупреждение' '': Начиная с версии 4.0, поддержка OpenVZ была исключена и полностью заменена на LXC. Пожалуйста, обратите внимание на это перед обновлением! Дополнительные сведения о конвертации контейнеров OpenVZ в LXC смотрите в Proxmox Wiki: [https://pve.proxmox.com/wiki/Convert_OpenVZ_to_LXC Преобразование OpenVZ в LXC]
  
 
== Перед установкой ==
 
== Перед установкой ==
Zeile 14: Zeile 16:
  
 
* Будут ли использоваться виртуальные машины только с Linux? Если да, то, при определённых обстоятельствах, будет достаточно OpenVZ.
 
* Будут ли использоваться виртуальные машины только с Linux? Если да, то, при определённых обстоятельствах, будет достаточно OpenVZ.
 
+
* Что использовать OpenVZ/LCX или KVM? У обеих систем виртуализации есть как преимущества, так и недостатки. Взвешенное решение может избавить от проблем в будущем.
* Что использовать OpenVZ или KVM? У обеих систем виртуализации есть как преимущества, так и недостатки. Взвешенное решение может избавить от проблем в будущем.
+
** OpenVZ/LCX имеет несколько большую производительность. Но поддерживает только UNIX-гостей. Миграция, например, на KVM/ESXi сложна.
** OpenVZ имеет несколько большую производительность. Но поддерживает только UNIX-гостей. Миграция, например, на KVM/ESXi сложна.
+
** KVM несколько менее производителен по сравнению с OpenVZ/LCX. Он предоставляет полную виртуализацию и поддерживает работу большинства распространённых операционных систем (в том числе Windows). Конвертация виртуальных дисков в другие форматы (например, VMDK) проста.
** KVM несколько менее производителен по сравнению с OpenVZ. Он предоставляет полную виртуализацию и поддерживает работу большинства распространённых операционных систем (в том числе Windows). Конвертация виртуальных дисков в другие форматы (например, VMDK) проста.
+
  
 
== Установка ==
 
== Установка ==
Zeile 24: Zeile 25:
  
 
* загрузите сервер в [[Hetzner Rescue-System/ru|Rescue-систему]];
 
* загрузите сервер в [[Hetzner Rescue-System/ru|Rescue-систему]];
 +
 
* запустите [[Installimage/ru|installimage]] и установите требуемый дистрибутив Debian;
 
* запустите [[Installimage/ru|installimage]] и установите требуемый дистрибутив Debian;
** для стабильной работы рекомендуется выбирать версию базовой операционной системы соответствующую версии ОС на [http://pve.proxmox.com/wiki/Quick_installation официальном установочном носителе]:
+
** для стабильной работы рекомендуется выбирать версию базовой операционной системы соответствующую версии ОС на [https://pve.proxmox.com/wiki/Quick_installation официальном установочном носителе]:
*** Proxmox 2.0: Debian Squeeze 6
+
*** начиная с Proxmox 4.0: Debian 8 (Jessie)
*** Proxmox 3.0: Debian Wheezy 7
+
*** начиная с Proxmox 5.0: Debian 9 (Stretch)
*** Proxmox 4.0: Debian Jessie 8
+
  
 
* сконфигурируйте как вам необходимо уровень RAID, разбиение диска и имя сервера;
 
* сконфигурируйте как вам необходимо уровень RAID, разбиение диска и имя сервера;
 +
 
* сохраните конфигурацию и, после завершения установки, перезагрузите сервер.
 
* сохраните конфигурацию и, после завершения установки, перезагрузите сервер.
  
 
'''2. Настройте источники установки для Proxmox (/etc/apt/sources.list)'''
 
'''2. Настройте источники установки для Proxmox (/etc/apt/sources.list)'''
  
  echo "deb http://download.proxmox.com/debian wheezy pve-no-subscription" >> /etc/apt/sources.list
+
  echo "deb [http://download.proxmox.com/debian http://download.proxmox.com/debian] stretch pve-no-subscription" >> /etc/apt/sources.list
  
 
Добавьте ключ:
 
Добавьте ключ:
  
  wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
+
  wget -q [http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg] -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
  
 
Обновите установленные пакеты:
 
Обновите установленные пакеты:
Zeile 50: Zeile 52:
 
'''3. Установите Proxmox VE'''
 
'''3. Установите Proxmox VE'''
  
Установите ядро:
+
Поскольку Proxmox идет со своей собственной прошивкой, сначала необходимо удалить текущие пакеты прошивки:
  
  apt-get install pve-firmware pve-kernel-2.6.32-39-pve pve-headers-2.6.32-39-pve
+
  aptitude -q -y purge firmware-bnx2x firmware-realtek firmware-linux firmware-linux-free firmware-linux-nonfree
  
Убедитесь, что в результате перезагрузки сервер запустится с новым ядром. Перезагрузите сервер.
+
После этого устанвливаем Proxmox
После перезагрузки можно установить пакет proxmox-ve:
+
  
  aptitude install proxmox-ve-2.6.32
+
  apt-get install proxmox-ve
 +
 
 +
После перезагрузки необходимо загрузить ядро Proxmox:
 +
 
 +
# uname -rv
 +
4.13.13-1-pve #1 SMP PVE 4.13.13-31 (Mon, 11 Dec 2017 10:00:13 +0100)
  
 
'''4. Загрузка модуля ядра'''
 
'''4. Загрузка модуля ядра'''
Zeile 81: Zeile 87:
 
== Настройка сети ==
 
== Настройка сети ==
  
Перед началом настройки сети следует принять решение о том, какой тип виртуализации (OpenVZ/KVM) и какой тип подключения будет использоваться (маршрутизация/мост).
+
Перед началом настройки сети следует принять решение о том, какой тип виртуализации (LCX/KVM) и какой тип подключения будет использоваться (маршрутизация/мост).
  
* OpenVZ
+
* LCX
** Преимущества: При использовании только интерфейсов типа venet не требуется дополнительной настройки сети. IP-адреса можно назначать непосредственно через vzctl.
+
** Преимущества: Легкий. Быстрый. Более низкие требования к оперативной памяти.
 
** Недостатки: Используется ядро хост-системы. Могут быть установлены только дистрибутивы Linux.
 
** Недостатки: Используется ядро хост-системы. Могут быть установлены только дистрибутивы Linux.
  
* KVM/маршрутизация
+
* KVM
** Преимущества: Можно установить большинство операционных систем. Можно использовать несколько IP-адресов на одной виртуальной машине. Не требуется модификация виртуальной машины.
+
** Преимущества: Можно установить большинство операционных систем. Не требуется модификация виртуальной машины.
 +
 
 +
* Маршрутизация
 +
** Преимущества: Можно использовать несколько IP-адресов на одной виртуальной машине. IPv6 может использоваться на всех виртуальных машинах.
 
** Недостатки: Настройки сети не могут быть получены по DHCP. Требуется настройка соединения точка-точка (point-to-point) для IP-адресов из отличающихся сетей.
 
** Недостатки: Настройки сети не могут быть получены по DHCP. Требуется настройка соединения точка-точка (point-to-point) для IP-адресов из отличающихся сетей.
  
* KVM/сетевой мост
+
* Сетевой мост
** Преимущества: Такие же как и в KVM/маршрутизация. Более простая настройка узлов.
+
** Преимущества: Такие же как и в KVM/маршрутизация. Более простая настройка узлов.  
 
** Недостатки: Требуется получить отдельный MAC-адрес через панель Robot. Получить отдельный MAC-адрес можно только для одиночного IP-адреса. Нельзя использовать несколько IP-адресов на одной виртуальной машине.
 
** Недостатки: Требуется получить отдельный MAC-адрес через панель Robot. Получить отдельный MAC-адрес можно только для одиночного IP-адреса. Нельзя использовать несколько IP-адресов на одной виртуальной машине.
  
При маршрутизируемом типе подключения vmbr0 '''не должен''' быть подключен к физическому интерфейсу. Должна быть включена пересылка пакетов между интерфейсами (IP forwarding). Для того чтобы пересылка включалась автоматически, при перезагрузке следует внести соответствующие изменения в файле '''/etc/sysctl.conf''' (при установке ОС из образа, подготовленного Hetzner, достаточно убрать символ комментария «#»).
+
При маршрутизируемом типе подключения vmbr0 '''не''' должен быть подключен к физическому интерфейсу. Должна быть включена пересылка пакетов между интерфейсами (IP forwarding) на хост-системе. Для того чтобы пересылка включалась автоматически, при перезагрузке следует внести соответствующие изменения в файле '''/etc/sysctl.conf'''. (Обратите внимание, что перенаправление по умолчанию отключено. Этот параметр можно найти либо в ''/etc/sysctl.conf'', либо в ''/etc/sysctl.d/99-hetzner.conf'')
  
 
  sysctl -w net.ipv4.ip_forward=1
 
  sysctl -w net.ipv4.ip_forward=1
  
Пересылку IPv6 тоже потребуется активировать.
+
Перенаправление для IPv6 тоже потребуется активировать. Оно также доступно и при стандартной установке от Hetzner, его необходимо только включить.
  
 
  sysctl -w net.ipv6.conf.all.forwarding=1
 
  sysctl -w net.ipv6.conf.all.forwarding=1
 
=== Настройка сети в OpenVZ (venet) ===
 
 
# /etc/network/interfaces
 
### Hetzner Online GmbH - installimage
 
# Loopback device:
 
auto lo
 
iface lo inet loopback
 
#
 
# device: eth0
 
auto  eth0
 
iface eth0 inet static
 
        address  <основной IP>
 
        netmask  255.255.255.255
 
        pointopoint  <шлюз>
 
        gateway  <шлюз>
 
#
 
iface eth0 inet6 static
 
      address  <IPv6 subnet>::2 # например, 2001:db8::2
 
      netmask  128
 
      gateway  fe80::1
 
 
 
==== Настройка сети в виртуальной машине OpenVZ ====
 
 
IPv4 адреса можно настроить как через веб-интерфейс, так и при помощи утилиты командной строки vzctl.
 
 
  vzctl set <ctid> --ipadd <дополнительный IP> --save
 
 
В последних версиях Proxmox доступна настройка IPv6 через веб-интерфейс. Если в вашем Proxmox нет этой функции, то можно либо обновить Proxmox, либо настроить IPv6 вручную:
 
 
  vzctl set <ctid> --ipadd <IPv6 адрес> --save
 
  # например, vzctl set 100 --ipadd 2001:db8::2000:80 --save
 
 
Обратите внимание: с версси 4.0 Proxmox полностью поддерживает IPv6.
 
  
 
== Администрирование ==
 
== Администрирование ==
  
 
После успешной установки виртуальными машинами можно управлять через [https://localhost:8006 https://Server-IP:8006].
 
После успешной установки виртуальными машинами можно управлять через [https://localhost:8006 https://Server-IP:8006].
Шаблоны для OpenVZ можно найти на странице [http://wiki.openvz.org/Download/template/precreated wiki.openvz.org/Download/template/precreated].
 
 
Для виртуальных машин используется виртуальная сеть «venet», а IP-адреса могут присваиваться непосредственно виртуальным машинам.
 
  
=== Настройка сети в хост-системе KVM/маршрутизация ===
+
=== Настройка маршрутизации сети хост-системы ===
  
Чтобы использовать KVM, необходимо вручную добавить маршруты до виртуальных машин. После добавления на хост-системе маршрутов, виртуальным машинам можно назначать IP-адреса из других подсетей.
+
При использовании маршрутизации, необходимо вручную добавить маршруты до виртуальных машин. После добавления на хост-системе маршрутов, виртуальным машинам можно назначать IP-адреса из других подсетей, например:
  
 
  # /etc/network/interfaces
 
  # /etc/network/interfaces
Zeile 154: Zeile 125:
 
  auto lo
 
  auto lo
 
  iface lo inet loopback
 
  iface lo inet loopback
  #
+
   
 
  # device: eth0
 
  # device: eth0
 
  auto  eth0
 
  auto  eth0
 
  iface eth0 inet static
 
  iface eth0 inet static
        address  <основной IP>
+
  address  <основной IP>
        netmask  255.255.255.255
+
  netmask  255.255.255.255
        pointopoint  <шлюз>
+
  pointopoint  <шлюз>
        gateway  <шлюз>
+
  gateway  <шлюз>
 +
 +
iface eth0 inet6 static
 +
  address  <адрес из подсети IPv6> # например, 2001:db8::2
 +
  netmask  128
 +
  gateway  fe80::1
 +
  up sysctl -p
 
  #
 
  #
iface eth0 inet6 static
 
      address  <адрес из подсети IPv6> # например, 2001:db8::2
 
      netmask  128
 
      gateway  fe80::1
 
      up sysctl -p
 
 
  # для одиночных IP-адресов
 
  # для одиночных IP-адресов
 
  auto vmbr0
 
  auto vmbr0
 
  iface vmbr0 inet static
 
  iface vmbr0 inet static
        address  <основной IP>
+
  address  <основной IP>
        netmask  255.255.255.255
+
  netmask  255.255.255.255
        bridge_ports none
+
  bridge_ports none
        bridge_stp off
+
  bridge_stp off
        bridge_fd 0
+
  bridge_fd 0
        up ip route add <1й дополнительный IP>/32 dev vmbr0
+
  up ip route add <1й дополнительный IP>/32 dev vmbr0
        up ip route add <2й дополнительный IP>/32 dev vmbr0
+
  up ip route add <2й дополнительный IP>/32 dev vmbr0
 +
 +
iface vmbr0 inet6 static
 +
  address  <адрес из подсети IPv6> # например, 2001:db8::2
 +
  netmask  64
 
  #
 
  #
iface vmbr0 inet6 static
 
      address  <адрес из подсети IPv6> # например, 2001:db8::2
 
      netmask  64
 
 
  # для подсети
 
  # для подсети
 
  auto vmbr1
 
  auto vmbr1
 
  iface vmbr1 inet static
 
  iface vmbr1 inet static
        address  <доступный IP из дополнительной подсети>
+
  address  <доступный IP из дополнительной подсети>
        netmask  <маска дополнительной подсети>
+
  netmask  <маска дополнительной подсети>
        bridge_ports none
+
  bridge_ports none
        bridge_stp off
+
  bridge_stp off
        bridge_fd 0
+
  bridge_fd 0
 +
 
 +
Чтобы использовать IPv6 с несколькими мостами (несколько подсетей IPv4 или одиночные IPV4-адреса и подсеть), для IPv6 необходимо использовать меньшую сетевую маску.
  
==== Настройка сети в гостевой системе KVM/маршрутизация ====
+
==== Настройка маршрутизации сети гостевой системы ====
  
 
IP-адрес моста на хост-системе '''всегда''' используется в качестве шлюза (и для одиночных IP-адресов и для IP-адресов из подсети).
 
IP-адрес моста на хост-системе '''всегда''' используется в качестве шлюза (и для одиночных IP-адресов и для IP-адресов из подсети).
Zeile 200: Zeile 175:
 
  auto lo
 
  auto lo
 
  iface lo inet loopback
 
  iface lo inet loopback
  #
+
   
 
  # device: eth0
 
  # device: eth0
 
  auto  eth0
 
  auto  eth0
 
  iface eth0 inet static
 
  iface eth0 inet static
        address  <дополнительный IP>
+
  address  <дополнительный IP>
        netmask  255.255.255.255
+
  netmask  255.255.255.255
        pointopoint  <основной IP>
+
  pointopoint  <основной IP>
        gateway  <основной IP>
+
  gateway  <основной IP>
 +
 +
iface eth0 inet6 static
 +
  address  <адрес из подсети IPv6> # например, 2001:db8::f001
 +
  netmask  64
 +
  gateway  <IPv6 адрес vmbr0> # например, 2001:db8::2
 
  #
 
  #
iface eth0 inet6 static
 
      address  <адрес из подсети IPv6> # например, 2001:db8::f001
 
      netmask  64
 
      gateway  <IPv6 адрес vmbr0> # например, 2001:db8::2
 
 
 
  # /etc/network/interfaces
 
  # /etc/network/interfaces
 
  ### пример для подсети
 
  ### пример для подсети
Zeile 219: Zeile 194:
 
  auto lo
 
  auto lo
 
  iface lo inet loopback
 
  iface lo inet loopback
  #
+
   
 
  # device: eth0
 
  # device: eth0
 
  auto  eth0
 
  auto  eth0
 
  iface eth0 inet static
 
  iface eth0 inet static
        address  <доступный IP из подсети>
+
  address  <доступный IP из подсети>
        netmask  255.255.255.0
+
  netmask  255.255.255.0
        gateway  <IP из дополнительной подсети назначенный на vmbr1>
+
  gateway  <IP из дополнительной подсети назначенный на vmbr1>
  #
+
   
 
  iface eth0 inet6 static
 
  iface eth0 inet6 static
      address  <адрес из подсети IPv6> # например, 2001:db8::f001
+
  address  <адрес из подсети IPv6> # например, 2001:db8::f001
      netmask  64
+
  netmask  64
      gateway  <IPv6 адрес vmbr0> # например, 2001:db8::2
+
  gateway  <IPv6 адрес vmbr0> # например, 2001:db8::2
  
=== Настройка сети в хост-системе KVM/мост ===
+
=== Настройка сетевого моста ===
  
 
При мостовом типе подключения в KVM необходимо использовать отдельные MAC-адреса для одиночных дополнительных IP-адресов. Настройка подсетей аналогична.
 
При мостовом типе подключения в KVM необходимо использовать отдельные MAC-адреса для одиночных дополнительных IP-адресов. Настройка подсетей аналогична.
Zeile 241: Zeile 216:
 
  auto lo
 
  auto lo
 
  iface lo inet loopback
 
  iface lo inet loopback
  #
+
   
 
  auto vmbr0
 
  auto vmbr0
 
  iface vmbr0 inet static
 
  iface vmbr0 inet static
Zeile 253: Zeile 228:
 
         bridge_hello 2
 
         bridge_hello 2
 
         bridge_maxage 12
 
         bridge_maxage 12
 
+
#
 
  # для подсети
 
  # для подсети
 
  auto vmbr1
 
  auto vmbr1
Zeile 263: Zeile 238:
 
         bridge_fd 0
 
         bridge_fd 0
  
==== Настройка сети в гостевой системе KVM/мост ====
+
==== Настройка сетевого моста в гостевой системе ====
  
 
В качестве шлюза для одиночных IP-адресов используется шлюз хост-системы или дополнительного IP-адреса. Настройка подсетей такая же, как и при маршрутизируемом типе подключения.
 
В качестве шлюза для одиночных IP-адресов используется шлюз хост-системы или дополнительного IP-адреса. Настройка подсетей такая же, как и при маршрутизируемом типе подключения.
Zeile 271: Zeile 246:
 
  auto lo
 
  auto lo
 
  iface lo inet loopback
 
  iface lo inet loopback
  #
+
   
 
  # device: eth0
 
  # device: eth0
 
  auto  eth0
 
  auto  eth0
Zeile 282: Zeile 257:
 
== Безопасность ==
 
== Безопасность ==
  
Веб-интерфейс защищён двумя различными методами аутентификации: «Proxmox VE standard authentication» и «Linux PAM standard authentication».
+
Веб-интерфейс защищён двумя различными методами аутентификации: «Proxmox VE standard authentication» и «Linux PAM standard authentication».
 +
 
 +
Кроме этого можно воспользоваться дополнительными мерами защиты от атак и любых других уязвимостей в безопасности.
 +
 
 +
Вот некоторые из них:
  
Кроме этого можно воспользоваться дополнительными мерами защиты от атак:
+
* [https://pve.proxmox.com/wiki/Two-Factor_Authentication Two-Factor Authentication]
* [http://pve.proxmox.com/wiki/Two-Factor_Authentication Two-Factor Authentication]
+
* [https://forum.proxmox.com/threads/how-to-implement-fail2ban-on-host.3583/#post-20090 Fail2ban against bruteforce attacks]
* [http://forum.proxmox.com/threads/3583-How-To-implement-Fail2Ban-on-Host?p=20090#post20090 How To implement Fail2Ban on Host]
+
 
** [https://pve.proxmox.com/wiki/Fail2ban Proxmox Wiki]
 
** [https://pve.proxmox.com/wiki/Fail2ban Proxmox Wiki]
  

Version vom 26. Oktober 2018, 09:39 Uhr

Inhaltsverzeichnis

Proxmox VE

Startpage-with-cluster.png

Proxmox VE это платформа виртуализации с открытым исходным кодом, поддерживающая OpenVZ (до версии 3.4), KVM и, начиная с версии 4.0, LXC (Linux Containers). Более того, с версии 4.0 Proxmox имеет полную поддержку IPv6. Более полная информация о новых возможностях доступна в Official Roadmap, опубликованном на Proxmox VE Wiki.

Установка в целом считается несложной, так как OpenVZ корректно настраивает большинство вещей. Тем не менее, после установки нужно произвести настройку некоторых вещей.

'Предупреждение' : Начиная с версии 4.0, поддержка OpenVZ была исключена и полностью заменена на LXC. Пожалуйста, обратите внимание на это перед обновлением! Дополнительные сведения о конвертации контейнеров OpenVZ в LXC смотрите в Proxmox Wiki: Преобразование OpenVZ в LXC

Перед установкой

Перед началом установки среды виртуализации следует ответить на несколько вопросов:

  • Будут ли использоваться виртуальные машины только с Linux? Если да, то, при определённых обстоятельствах, будет достаточно OpenVZ.
  • Что использовать OpenVZ/LCX или KVM? У обеих систем виртуализации есть как преимущества, так и недостатки. Взвешенное решение может избавить от проблем в будущем.
    • OpenVZ/LCX имеет несколько большую производительность. Но поддерживает только UNIX-гостей. Миграция, например, на KVM/ESXi сложна.
    • KVM несколько менее производителен по сравнению с OpenVZ/LCX. Он предоставляет полную виртуализацию и поддерживает работу большинства распространённых операционных систем (в том числе Windows). Конвертация виртуальных дисков в другие форматы (например, VMDK) проста.

Установка

1. Базовая операционная система

  • запустите installimage и установите требуемый дистрибутив Debian;
    • для стабильной работы рекомендуется выбирать версию базовой операционной системы соответствующую версии ОС на официальном установочном носителе:
      • начиная с Proxmox 4.0: Debian 8 (Jessie)
      • начиная с Proxmox 5.0: Debian 9 (Stretch)
  • сконфигурируйте как вам необходимо уровень RAID, разбиение диска и имя сервера;
  • сохраните конфигурацию и, после завершения установки, перезагрузите сервер.

2. Настройте источники установки для Proxmox (/etc/apt/sources.list)

echo "deb http://download.proxmox.com/debian stretch pve-no-subscription" >> /etc/apt/sources.list

Добавьте ключ:

wget -q http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

Обновите установленные пакеты:

apt-get update # получение нового списка пакетов
apt-get upgrade # обновление версий установленных пакетов
apt-get dist-upgrade # обновление Debian до нового выпуска


3. Установите Proxmox VE

Поскольку Proxmox идет со своей собственной прошивкой, сначала необходимо удалить текущие пакеты прошивки:

aptitude -q -y purge firmware-bnx2x firmware-realtek firmware-linux firmware-linux-free firmware-linux-nonfree

После этого устанвливаем Proxmox

apt-get install proxmox-ve

После перезагрузки необходимо загрузить ядро Proxmox:

# uname -rv
4.13.13-1-pve #1 SMP PVE 4.13.13-31 (Mon, 11 Dec 2017 10:00:13 +0100)

4. Загрузка модуля ядра

Проверьте, загружен ли модуль «kvm»:

lsmod | grep kvm

Если модуль не загружен, то его можно загрузить вручную.

Для процессоров Intel:

modprobe kvm
modprobe kvm_intel

Для процессоров AMD:

modprobe kvm
modprobe kvm_amd

Обратите внимание: модуль ядра требуется для «KVM hardware virtualization». Без него не смогут запускаться виртуальные машины, основанные на KVM.

Настройка сети

Перед началом настройки сети следует принять решение о том, какой тип виртуализации (LCX/KVM) и какой тип подключения будет использоваться (маршрутизация/мост).

  • LCX
    • Преимущества: Легкий. Быстрый. Более низкие требования к оперативной памяти.
    • Недостатки: Используется ядро хост-системы. Могут быть установлены только дистрибутивы Linux.
  • KVM
    • Преимущества: Можно установить большинство операционных систем. Не требуется модификация виртуальной машины.
  • Маршрутизация
    • Преимущества: Можно использовать несколько IP-адресов на одной виртуальной машине. IPv6 может использоваться на всех виртуальных машинах.
    • Недостатки: Настройки сети не могут быть получены по DHCP. Требуется настройка соединения точка-точка (point-to-point) для IP-адресов из отличающихся сетей.
  • Сетевой мост
    • Преимущества: Такие же как и в KVM/маршрутизация. Более простая настройка узлов.
    • Недостатки: Требуется получить отдельный MAC-адрес через панель Robot. Получить отдельный MAC-адрес можно только для одиночного IP-адреса. Нельзя использовать несколько IP-адресов на одной виртуальной машине.

При маршрутизируемом типе подключения vmbr0 не должен быть подключен к физическому интерфейсу. Должна быть включена пересылка пакетов между интерфейсами (IP forwarding) на хост-системе. Для того чтобы пересылка включалась автоматически, при перезагрузке следует внести соответствующие изменения в файле /etc/sysctl.conf. (Обратите внимание, что перенаправление по умолчанию отключено. Этот параметр можно найти либо в /etc/sysctl.conf, либо в /etc/sysctl.d/99-hetzner.conf)

sysctl -w net.ipv4.ip_forward=1

Перенаправление для IPv6 тоже потребуется активировать. Оно также доступно и при стандартной установке от Hetzner, его необходимо только включить.

sysctl -w net.ipv6.conf.all.forwarding=1

Администрирование

После успешной установки виртуальными машинами можно управлять через https://Server-IP:8006.

Настройка маршрутизации сети хост-системы

При использовании маршрутизации, необходимо вручную добавить маршруты до виртуальных машин. После добавления на хост-системе маршрутов, виртуальным машинам можно назначать IP-адреса из других подсетей, например:

# /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   <основной IP>
  netmask   255.255.255.255
  pointopoint   <шлюз>
  gateway   <шлюз>

iface eth0 inet6 static
  address   <адрес из подсети IPv6> # например, 2001:db8::2
  netmask   128
  gateway   fe80::1
  up sysctl -p
#
# для одиночных IP-адресов
auto vmbr0
iface vmbr0 inet static
  address   <основной IP>
  netmask   255.255.255.255
  bridge_ports none
  bridge_stp off
  bridge_fd 0
  up ip route add <1й дополнительный IP>/32 dev vmbr0
  up ip route add <2й дополнительный IP>/32 dev vmbr0

iface vmbr0 inet6 static
  address   <адрес из подсети IPv6> # например, 2001:db8::2
  netmask   64
#
# для подсети
auto vmbr1
iface vmbr1 inet static
  address   <доступный IP из дополнительной подсети>
  netmask   <маска дополнительной подсети>
  bridge_ports none
  bridge_stp off
  bridge_fd 0

Чтобы использовать IPv6 с несколькими мостами (несколько подсетей IPv4 или одиночные IPV4-адреса и подсеть), для IPv6 необходимо использовать меньшую сетевую маску.

Настройка маршрутизации сети гостевой системы

IP-адрес моста на хост-системе всегда используется в качестве шлюза (и для одиночных IP-адресов и для IP-адресов из подсети).

# /etc/network/interfaces
### пример для одиночного IP-адреса из другой подсети
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   <дополнительный IP>
  netmask   255.255.255.255
  pointopoint   <основной IP>
  gateway   <основной IP>

iface eth0 inet6 static
  address   <адрес из подсети IPv6> # например, 2001:db8::f001
  netmask   64
  gateway   <IPv6 адрес vmbr0> # например, 2001:db8::2
#
# /etc/network/interfaces
### пример для подсети
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   <доступный IP из подсети>
  netmask   255.255.255.0
  gateway   <IP из дополнительной подсети назначенный на vmbr1>

iface eth0 inet6 static
  address   <адрес из подсети IPv6> # например, 2001:db8::f001
  netmask   64
  gateway   <IPv6 адрес vmbr0> # например, 2001:db8::2

Настройка сетевого моста

При мостовом типе подключения в KVM необходимо использовать отдельные MAC-адреса для одиночных дополнительных IP-адресов. Настройка подсетей аналогична.

# /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback

auto vmbr0
iface vmbr0 inet static
       address   <основной IP>
       netmask   255.255.255.255
       pointopoint   <шлюз>
       gateway   <шлюз>
       bridge_ports eth0
       bridge_stp off
       bridge_fd 1
       bridge_hello 2
       bridge_maxage 12
#
# для подсети
auto vmbr1
iface vmbr1 inet static
       address   <доступный IP из дополнительной подсети>
       netmask   <маска дополнительной подсети>
       bridge_ports none
       bridge_stp off
       bridge_fd 0

Настройка сетевого моста в гостевой системе

В качестве шлюза для одиночных IP-адресов используется шлюз хост-системы или дополнительного IP-адреса. Настройка подсетей такая же, как и при маршрутизируемом типе подключения.

# /etc/network/interfaces
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
       address   <дополнительный IP>
       netmask   <маска дополнительного IP>
       pointopoint   <шлюз дополнительного IP>
       gateway   <шлюз дополнительного IP>

Безопасность

Веб-интерфейс защищён двумя различными методами аутентификации: «Proxmox VE standard authentication» и «Linux PAM standard authentication».

Кроме этого можно воспользоваться дополнительными мерами защиты от атак и любых других уязвимостей в безопасности.

Вот некоторые из них:

Прочее

Важные ссылки



© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.