Virtual Machine σε debian headless server με KVM

εγκαθιστούμε τα prerequesites


sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libguestfs-tools genisoimage virtinst libosinfo-bin

Σβήνουμε τις ρυθμίσεις της καρτας δικτυου απο το interfaces

sudo nano /etc/network/interfaces

source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback

Φτιάχνουμε ενα bridge και του δινουμε την στατική ip του host server μας,

sudo nano /etc/network/interfaces.d/br0

auto br0
iface br0 inet static
        address 192.168.1.254
        broadcast 192.168.1.255
        netmask 255.255.255.0
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4
        bridge_ports eno1
        bridge_stp off       # disable Spanning Tree Protocol
        bridge_waitport 0    # no delay before a port becomes available
        bridge_fd 0          # no forwarding delay
sudo systemctl restart network-manager

Φτιάχνουμε ενα xml αρχείο απο το οποίο θα τραβάει το KVM τα στοιχεία του bridge που θα χρησιμοποιεί και το ενεργοποιούμε

sudo nano /root/bridged.xml

<network>
  <name>br0</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
</network>

sudo virsh net-define --file /root/bridged.xml
sudo virsh net-autostart br0
sudo virsh net-start br0

Φτιάχνουμε ενα απλό nat στο iptables του host, ωστε να εχουν μεσω της bridge internet τα VMs

sudo iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
sudo iptables -I FORWARD 1 -i br0 -o br0 -j ACCEPT
sudo iptables -I FORWARD 1 -i br0 -o br0 -j ACCEPT

Δημιουργούμε το VM μας (στην δική μου περίπτωση το freepbx) εδώ θα περιμένει το σύστημα να τελειώσουμε την εγκατάσταση του live cd.

sudo virt-install \
--virt-type=kvm \
--name freePBX \
--ram 1024 \
--vcpus=1 \
--os-variant=linux2022 \
--virt-type=kvm \
--hvm \
--cdrom=/var/lib/libvirt/boot/freepbx.iso \
--network=bridge=br0,model=virtio \
--graphics vnc \
--disk path=/var/lib/libvirt/images/freepbx.qcow2,size=15,bus=virtio,format=qcow2

Αφού είναι headless ο σερβερ μας, δεν μπορούμε να δούμε μέσω local vnc το VM μας. δημιουργούμε ομως το connection και φτιάχνουμε ενα καινούριο SSH Session με tunnel στο localhost. έτσι συνδεόμαστε απομακρυσμένα

sudo virsh vncdisplay freepbx

Σχολιαστε

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Συντακτης
Dimitris Valilis
Ενθουσιώδης με την τεχνολογία, gamer και casual μπλόγκερ, απο μικρό παιδί προσπαθώ να ενημερώνομαι για νέες τεχνολογίες και να δοκιμάζω καινούρια πράγματα. Γράφω στο blog για να εκφράσω την άποψή μου, αλλα και για να σημειώσω πράγματα που μελλοντικά θα ψάχνω. Ενθουσιάζομαι με προγραμματιστικά και κατασκευαστικά projects και αφιερώνω τον ελεύθερο μου χρόνο στις 3D-Κατασκευές και τον σχεδιασμο/υλοποίηση και διαχείριση συστημάτων τεχνολογίας υπολογιστών.
Επικοινωνια

: Email
: Facebook
: Instagram

Created and maintained by eassist. All rights reserved.