Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verzeNá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.la | navody:vps:kvm [2018/01/02 15:52] – označení první kapitoly Halis |
---|
| |
* 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). |
| |
===== KVM na Alpine Linuxu ===== | ===== KVM na Alpine Linuxu ===== |
| |
| ==== 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 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> |
| |
<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> |
| |
</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> |
| |
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''. |
| |
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 |
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''. |
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 |
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''. |
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 |
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 |