Uživatelské nástroje

Nástroje pro tento web


navody:vps:kvm

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
navody:vps:kvm [2016/12/06 10:34] – [Konfigurace sítě KVM na Debian 8] - Routování veřejné IPv6 do KVM virtuálu, veřejná IPv6 u VPS rene.lanavody:vps:kvm [2022/07/14 00:20] – Odstraneni preklepu. rhorin
Řádek 7: Řádek 7:
  
   * Bridge – povolí vytvoření síťového bridge, do kterého následně připojíte KVM virtuály,   * Bridge – povolí vytvoření síťového bridge, do kterého následně připojíte KVM virtuály,
 +  * TUN/TAP - povolí vytváření virtuálních interface, které jsou pak bridgovány,
   * iptables – povolí použití iptables, které jsou potřeba pro nastavení IP maškarády,   * iptables – povolí použití iptables, které jsou potřeba pro nastavení IP maškarády,
   * KVM – povolí použití KVM (pro HW podporu virtualizace).   * KVM – povolí použití KVM (pro HW podporu virtualizace).
Řádek 14: Řádek 15:
  
 ===== KVM na Alpine Linuxu  ===== ===== KVM na Alpine Linuxu  =====
 +
 +Připravu hypervizoru lze provést automatizovaně pomocí [[http://docs.ansible.com/ansible/latest/index.html|Ansible]].
 +
 +[[https://gist.github.com/HalisCz/192955c64c255ee15cc647f6efabd020|Na GitHubu]] jsou dle níže uvedeného návodu automatizovány zatím tyto sekce:
 +  * [[navody:vps:kvm#instalace_balicku_a_konfigurace_hypervizoru|Instalace balíčků a konfigurace hypervizoru]] - tag ''instalace''
 +  * [[navody:vps:kvm#nastaveni_iptables|Nastavení iptables]] - tag ''nastaveni-iptables''
 +
 +==== Instalace balíčků a konfigurace hypervizoru ====
  
 Nainstalujte potřebné balíčky (ip6tables je volitelný): Nainstalujte potřebné balíčky (ip6tables je volitelný):
Řádek 20: Řádek 29:
 apk update apk update
 apk add qemu-system-x86_64 qemu-openrc qemu-img bridge iptables ip6tables apk add qemu-system-x86_64 qemu-openrc qemu-img bridge iptables ip6tables
 +</code>
 +
 +Nastavte potřebná práva pro přístup ke KVM a TUN (do skupin //kvm// a //netdev// by měl patřit uživatel //qemu//, pod kterým bude běžet vytvořený virtuál):
 +
 +<code shell>
 +chown :kvm /dev/kvm
 +chmod g+rw /dev/kvm
 +chown :netdev /dev/net/tun
 +chmod g+rw /dev/net/tun
 </code> </code>
  
Řádek 64: Řádek 82:
 <code shell> <code shell>
 mkdir -p /var/lib/qemu/myvirt/ mkdir -p /var/lib/qemu/myvirt/
-qemu-img create -f raw /var/lib/qemu/myvirt/disk0.img 5G +qemu-img create -f raw /var/lib/qemu/myvirt/disk0.raw 5G 
-chown qemu:qemu /var/lib/qemu/myvirt/disk0.img +chown qemu:qemu /var/lib/qemu/myvirt/disk0.raw 
-chmod 0600 /var/lib/qemu/myvirt/disk0.img+chmod 0600 /var/lib/qemu/myvirt/disk0.raw
 </code> </code>
  
Řádek 73: Řádek 91:
 <code shell> <code shell>
 cd /etc/conf.d cd /etc/conf.d
-cp qemu qemu.jarvis +cp qemu qemu.myvirt 
-vi qemu.jarvis  # read comments and edit+vi qemu.myvirt  # read comments and edit
 </code> </code>
  
Řádek 99: Řádek 117:
 </code> </code>
  
 +<note important>
 +Pokud máte problémy s tím, že při větším provozu na síťové kartě spadne ve virtuálu sít, zkuste použít driver e1000 místo výchozího virtio-net-pci:
 +
 +<code shell>net0_device="e1000"</code>
 +
 +stabilitu je možno otestovat iperf-em, na testovanem stroji:
 +
 +<code shell>iperf -s</code>
 +
 +na hostiteli pak:
 +<code shell>
 +iperf -c 172.17.1.X -P 20
 +</code>
 +</note>
  
 ==== Nastavení iptables ==== ==== Nastavení iptables ====
Řádek 108: Řádek 140:
 <code shell> <code shell>
 rmdir /etc/iptables rmdir /etc/iptables
-wget -O /etc/iptables http://haste.fit.cvut.cz/raw/iwuqoso+wget -O /etc/iptables https://gist.githubusercontent.com/jirutka/3742890/raw/c9f6bdbfcf597578e562c92ea1e256a9ebcf3a2c/rules-both.iptables
 </code> </code>
  
Řádek 147: Řádek 179:
 <note warning> <note warning>
 Tento návod platí pouze pro CentOS 7.1. Na CentOS 7.2 aktuálně nefunguje interní síť mezi VPS a VM. Použijte buď CentOS 7.1 nebo Debian 8, než bude tento problém vyřešen. Tento návod platí pouze pro CentOS 7.1. Na CentOS 7.2 aktuálně nefunguje interní síť mezi VPS a VM. Použijte buď CentOS 7.1 nebo Debian 8, než bude tento problém vyřešen.
 +
 +2018-03-26 (phatina) Pripojenie k libvirtd zlyhava: An error occurred, but the cause is unknown.
 </note> </note>
  
Řádek 229: Řádek 263:
 VPS má pouze privátní / lokální IPv4 adresu ''172.16.20.12'' / ''192.168.122.1'' a je z pohledu internetu za NATem v rámci sítě vpsfree.cz a není z internetu dostupná, kromě výše zmíněného portu 1022 (na veřejné IPv4 adrese ''185.8.164.43'' KVM virtuálu) pro přístup na SSH dané VPS. Pokud má VPS privátní IPv4 adresu ''172.16.20.12'' (rozsah v rámci sítě vpsfree.cz), má VPS IPv4 konektivitu do internetu. Pokud má VPS lokální IPv4 adresu ''192.168.122.1'' (rozsah v rámci sítě VPS ⇔ KVM virtuál), nemá VPS IPv4 konektivitu do internetu a není možné například stahovat a instalovat aktualizace přes IPv4 (pouze případně jen přes IPv6).  VPS má pouze privátní / lokální IPv4 adresu ''172.16.20.12'' / ''192.168.122.1'' a je z pohledu internetu za NATem v rámci sítě vpsfree.cz a není z internetu dostupná, kromě výše zmíněného portu 1022 (na veřejné IPv4 adrese ''185.8.164.43'' KVM virtuálu) pro přístup na SSH dané VPS. Pokud má VPS privátní IPv4 adresu ''172.16.20.12'' (rozsah v rámci sítě vpsfree.cz), má VPS IPv4 konektivitu do internetu. Pokud má VPS lokální IPv4 adresu ''192.168.122.1'' (rozsah v rámci sítě VPS ⇔ KVM virtuál), nemá VPS IPv4 konektivitu do internetu a není možné například stahovat a instalovat aktualizace přes IPv4 (pouze případně jen přes IPv6). 
  
-Nejprve je potřeba ve vpsAdminuv detailu vaší VPS, ke vlastnostem Bridge, iptables a KVM také zapnout vlastnost: +<note warning>Nejprve je potřeba ve vpsAdminu (v detailu nastavení vaší VPS)zapnout / zkontrolovat vlastnosti: Bridge, iptables, KVM a TUN/TAP. 
- +</note>
-  * TUN/TAP - povolí možnost vytvoření virtuálního síťového rozhraní TUN/TAP. +
 Dále nakonfigurujte bridge ''br0'' pro KVM virtuál na straně VPS. Jelikož OpenVZ přepisuje soubor ''/etc/network/interfaces'', konfiguraci bridge ''br0'' přidáváme do ''interfaces.tail'', OpenVZ ji pak sám po restartu vloží do ''/etc/network/interfaces''. Dále nakonfigurujte bridge ''br0'' pro KVM virtuál na straně VPS. Jelikož OpenVZ přepisuje soubor ''/etc/network/interfaces'', konfiguraci bridge ''br0'' přidáváme do ''interfaces.tail'', OpenVZ ji pak sám po restartu vloží do ''/etc/network/interfaces''.
  
Řádek 241: Řádek 273:
  address 172.16.20.12  address 172.16.20.12
  netmask 255.255.255.255  netmask 255.255.255.255
- mtu 1280 
  bridge_ports venet0:0  bridge_ports venet0:0
  bridge_stp on  bridge_stp on
Řádek 322: Řádek 353:
 VPS má vlastní veřejnou IPv4 adresu ''185.8.164.43'' a má plnou konektivitu z / do internetu přes veřejnou IPv4 adresu ''185.8.164.43'' (kromě portů směrovaných na služby KVM virtuálu). VPS má také lokální IPv4 adresu ''192.168.122.1'' (rozsah v rámci sítě VPS ⇔ KVM virtuál) která slouží jako brána pro NAT VPS. VPS má vlastní veřejnou IPv4 adresu ''185.8.164.43'' a má plnou konektivitu z / do internetu přes veřejnou IPv4 adresu ''185.8.164.43'' (kromě portů směrovaných na služby KVM virtuálu). VPS má také lokální IPv4 adresu ''192.168.122.1'' (rozsah v rámci sítě VPS ⇔ KVM virtuál) která slouží jako brána pro NAT VPS.
  
-Nejprve je potřeba ve vpsAdminuv detailu vaší VPS, ke vlastnostem Bridge, iptables a KVM také zapnout vlastnost:  +<note warning>Nejprve je potřeba ve vpsAdminu (v detailu nastavení vaší VPS)zapnout / zkontrolovat vlastnosti: Bridge, iptables, KVM a TUN/TAP.</note>
- +
-  * TUN/TAP - povolí možnost vytvoření virtuálního síťového rozhraní TUN/TAP.+
  
 Dále nakonfigurujte bridge ''br0'' pro KVM virtuál na straně VPS. Jelikož OpenVZ přepisuje soubor ''/etc/network/interfaces'', konfiguraci bridge ''br0'' přidáváme do ''interfaces.tail'', OpenVZ ji pak sám po restartu vloží do ''/etc/network/interfaces''. Dále nakonfigurujte bridge ''br0'' pro KVM virtuál na straně VPS. Jelikož OpenVZ přepisuje soubor ''/etc/network/interfaces'', konfiguraci bridge ''br0'' přidáváme do ''interfaces.tail'', OpenVZ ji pak sám po restartu vloží do ''/etc/network/interfaces''.
Řádek 366: Řádek 395:
 Například pomocí ''virt-manager'' vytvoříme KVM virtuál a nakonfigurujeme síťové rozhraní směřující na bridge ''br0'' VPS (důležité vybrat bridge ''br0''). Nastartujeme OS KVM virtuálu a v systému nakonfigurujeme jeho síť dle vzoru se správnými parametry (lokální IPv4 adresu KVM virtuálu si zvolíme dle použitého lokálního rozsahu v předchozích krocích, kde brána IPv4 je již zvolená IPv4 adresa pro bridge ''br0'', tedy lokální IPv4 adresa pro VPS OpenVZ kontejner): Například pomocí ''virt-manager'' vytvoříme KVM virtuál a nakonfigurujeme síťové rozhraní směřující na bridge ''br0'' VPS (důležité vybrat bridge ''br0''). Nastartujeme OS KVM virtuálu a v systému nakonfigurujeme jeho síť dle vzoru se správnými parametry (lokální IPv4 adresu KVM virtuálu si zvolíme dle použitého lokálního rozsahu v předchozích krocích, kde brána IPv4 je již zvolená IPv4 adresa pro bridge ''br0'', tedy lokální IPv4 adresa pro VPS OpenVZ kontejner):
 <code shell> <code shell>
-IP adresa: 192.168.122.2+IP adresa: 192.168.122.2
 Maska sítě: 255.255.255.0 Maska sítě: 255.255.255.0
 Brána: 192.168.122.1 Brána: 192.168.122.1
Řádek 434: Řádek 463:
 VPS má vlastní veřejnou IPv4 adresu ''185.8.164.36''a má plnou konektivitu z / do internetu přes veřejnou IPv4 adresu ''185.8.164.36''. VPS má vlastní veřejnou IPv4 adresu ''185.8.164.36''a má plnou konektivitu z / do internetu přes veřejnou IPv4 adresu ''185.8.164.36''.
  
-Nejprve je potřeba ve vpsAdminuv detailu vaší VPS, ke vlastnostem Bridge, iptables a KVM také zapnout vlastnost:  +<note warning>Nejprve je potřeba ve vpsAdminu (v detailu nastavení vaší VPS)zapnout / zkontrolovat vlastnosti: Bridge, iptables, KVM a TUN/TAP.</note>
- +
-  * TUN/TAP - povolí možnost vytvoření virtuálního síťového rozhraní TUN/TAP.+
  
 Dále nakonfigurujte bridge ''br0'' pro KVM virtuál na straně VPS. Jelikož OpenVZ přepisuje soubor ''/etc/network/interfaces'', konfiguraci bridge ''br0'' přidáváme do ''interfaces.tail'', OpenVZ ji pak sám po restartu vloží do ''/etc/network/interfaces''. Dále nakonfigurujte bridge ''br0'' pro KVM virtuál na straně VPS. Jelikož OpenVZ přepisuje soubor ''/etc/network/interfaces'', konfiguraci bridge ''br0'' přidáváme do ''interfaces.tail'', OpenVZ ji pak sám po restartu vloží do ''/etc/network/interfaces''.
Řádek 446: Řádek 473:
  address 185.8.164.36  address 185.8.164.36
  netmask 255.255.255.255  netmask 255.255.255.255
- mtu 1280 
  bridge_ports venet0:0  bridge_ports venet0:0
  bridge_stp on  bridge_stp on
Řádek 513: Řádek 539:
  address 2a03:3b40:3::47  address 2a03:3b40:3::47
  netmask 128  netmask 128
- mtu 1280 
  autoconf 0  autoconf 0
  dad-attempts 0  dad-attempts 0
Řádek 546: Řádek 571:
  
 Soubor ''/etc/network/interfaces.tail'' uložíme a v tuto chvíli je nutné VPS tedy OpenVZ kontejner restartovat aby se daná nastavení v souboru ''interfaces.tail'' uplatnila a je hotovo. Soubor ''/etc/network/interfaces.tail'' uložíme a v tuto chvíli je nutné VPS tedy OpenVZ kontejner restartovat aby se daná nastavení v souboru ''interfaces.tail'' uplatnila a je hotovo.
 +
 +===== KVM na Debian 9  =====
 +Nefunguje více info v https://lists.vpsfree.cz/pipermail/community-list/2017-July/004532.html
 ===== Kontakty ===== ===== Kontakty =====
  
navody/vps/kvm.txt · Poslední úprava: 2023/10/20 11:03 autor: rene.la