Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzeNásledující verzeObě strany příští revize |
navody:vps:kvm [2017/03/08 09:25] – [Vytvoření a spuštění virtuálu] Oprava nepřesnosti ernierasta | navody:vps:kvm [2018/07/30 11:21] – swez |
---|
| |
===== 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ý): |
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> |
| |
</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, skuste 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 ==== |
<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> |
| |
<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> |
| |
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 vpsAdminu, v 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''. |
| |
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 vpsAdminu, v 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''. |
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 vpsAdminu, v 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''. |
| |
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 ===== |
| |