Proxmox VE 9 • Δικτύωση εικονικών μηχανών • Οδηγός

Πώς να βάλετε μια δημόσια διεύθυνση IP σε μια εικονική μηχανή Proxmox

Όταν παραλάβατε τον διακομιστή σας, μία διεύθυνση IPv4 είχε ρυθμιστεί πάνω του και οι υπόλοιπες έμειναν ανέγγιχτες. Αυτό είναι σκόπιμο, και αυτή η σελίδα σας δείχνει πώς να ολοκληρώσετε τη δουλειά. Υπάρχουν τρεις τρόποι να το κάνετε και κανένας δεν παίρνει πολύ χρόνο: βάλτε τη μηχανή κατευθείαν στο δίκτυο με τη δική της διεύθυνση, περάστε την κίνησή της μέσα από τον host, ή κρύψτε ένα ολόκληρο σύνολο μηχανών πίσω από τη διεύθυνση που ήδη έχετε. Δοκιμάσαμε και τους τρεις στο δικό μας δίκτυο πριν γράψουμε αυτό το κείμενο.

Τίποτα να δηλώσετε πρώτα Δεν χρειάζεται επανεκκίνηση Κάποιος στο τηλέφωνο, πάντα

Οδηγός βήμα προς βήμα

Διαβάστε τα δύο πρώτα. Μετά από αυτό, τα βήματα τρία, τέσσερα και πέντε είναι εναλλακτικές — διαλέξτε αυτό που ταιριάζει σε αυτό που φτιάχνετε.

1

Πού είναι οι διευθύνσεις σας, και ποια πύλη χρησιμοποιεί η καθεμία

Αναζητήστε το email με τίτλο Dedicated Server Setup, που στάλθηκε την ημέρα που φτιάχτηκε η μηχανή. Αναφέρει όλα όσα έχουν εκχωρηθεί στον διακομιστή: πρώτα τις διευθύνσεις IPv4, μετά τυχόν IPv6. Η ίδια λίστα υπάρχει στον λογαριασμό σας, στη σελίδα του διακομιστή, στον πίνακα με τίτλο Access, Networking & rDNS.

Σε έναν διακομιστή Proxmox, αυτό το email προσθέτει μια γραμμή κάτω από τη λίστα, που σας λέει ότι στον host έχει δοθεί μόνο η πρώτη διεύθυνση και ότι οι υπόλοιπες είναι δικές σας για να τις μοιράσετε — σε εικονικές μηχανές, ή και στον host αν θέλετε να κρατάει περισσότερες από μία. Ρυθμίζουμε μία μόνο διεύθυνση ώστε η μηχανή να ξεκινήσει προσβάσιμη, και μετά σταματάμε. Αν τις ρυθμίσετε όλες στον host, αυτός απαντά για όλες, αφήνοντας τις εικονικές μηχανές σας χωρίς τίποτα να διεκδικήσουν.

Δύο αριθμοί έχουν σημασία κάθε φορά που πληκτρολογείτε μια διεύθυνση. Η μάσκα δικτύου είναι /24, δηλαδή 255.255.255.0. Η πύλη είναι το εύρος της ίδιας της διεύθυνσης, που τελειώνει σε .1 — έτσι μια διεύθυνση στο 203.0.113.0/24 χρησιμοποιεί το 203.0.113.1. Οι διευθύνσεις που εκδίδονται μαζί βρίσκονται η μία δίπλα στην άλλη και μοιράζονται μία πύλη. Διευθύνσεις που προστίθενται σε έναν διακομιστή μήνες αργότερα μπορεί να προέρχονται από διαφορετικό δικό μας εύρος, και τότε χρησιμοποιούν το δικό τους .1. Το να το κάνετε λάθος είναι ο πιο συνηθισμένος λόγος που μια νέα εικονική μηχανή δεν μπορεί να φτάσει τίποτα, και κοστίζει στους ανθρώπους ένα απόγευμα.

Για DNS ρυθμίζουμε το 209.244.0.3 στον host. Στρέψτε τις εικονικές μηχανές σας όπου θέλετε.

2

Δείτε τι είναι ήδη ρυθμισμένο στον host

Συνδεθείτε μέσω SSH ως root και ρίξτε μια ματιά:

ip -br addr
cat /etc/network/interfaces

Σε μια μηχανή που μόλις φτιάξαμε, αυτό το αρχείο διαβάζεται περίπου έτσι, με το δικό σας όνομα διεπαφής και τη δική σας πρώτη διεύθυνση αντί για αυτές που εμφανίζονται:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

Το χρήσιμο που πρέπει να παρατηρήσετε είναι ότι το vmbr0 είναι ήδη γέφυρα, και η κάρτα δικτύου είναι ήδη συνδεδεμένη σε αυτήν. Τίποτα άλλο δεν χρειάζεται για το βήμα τρία, γι' αυτό και το βήμα τρία σας ζητά να μην αλλάξετε τίποτα εδώ.

Το Proxmox VE 9 βασίζεται στο Debian 13 και χρησιμοποιεί το ifupdown2, οπότε οι αλλαγές δικτύου εφαρμόζονται χωρίς επανεκκίνηση της μηχανής. Αποθηκεύστε το αρχείο και εκτελέστε:

ifreload -a

Η επεξεργασία μέσω της διαδικτυακής διεπαφής Proxmox αντί αυτού γράφει τις αλλαγές σας στο /etc/network/interfaces.new και τις κρατά μέχρι να πατήσετε Apply Configuration. Όποιο κι αν χρησιμοποιήσετε, ανοίξτε πρώτα την κονσόλα από τον λογαριασμό σας. Ένα τυπογραφικό λάθος σε αυτό το αρχείο και η μηχανή πέφτει από το δίκτυο· η κονσόλα μπαίνει από άλλο δρόμο και θα εξακολουθεί να λειτουργεί.

3

Ο γρήγορος τρόπος: βάλτε τη μηχανή κατευθείαν στο δίκτυο

Ξεκινήστε από εδώ. Η εικονική μηχανή σας συμπεριφέρεται σαν ξεχωριστός υπολογιστής συνδεδεμένος στον ίδιο μεταγωγέα, μιλάει μόνη της στους δρομολογητές μας, και ο host δεν χρειάζεται καμία απολύτως αλλαγή.

Στο Proxmox, προσθέστε μια συσκευή δικτύου στη μηχανή, ορίστε τη γέφυρα σε vmbr0, και αφήστε τη διεύθυνση MAC που συμπλήρωσε το Proxmox. Μετά ορίστε τη διεύθυνση μέσα στη μηχανή. Debian ή Ubuntu με την κλασική ρύθμιση:

auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 203.0.113.58/24
    gateway 203.0.113.1
    dns-nameservers 209.244.0.3 1.1.1.1

Ubuntu με netplan, στο /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  ethernets:
    ens18:
      addresses: [203.0.113.58/24]
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [209.244.0.3, 1.1.1.1]

Στα Windows, οι ίδιες τρεις τιμές μπαίνουν στις ρυθμίσεις IPv4 του προσαρμογέα. Πραγματικά δεν έχει σημασία τι τρέχει η μηχανή· για εμάς είναι ένας ακόμα υπολογιστής στο καλώδιο.

Δεν χρειάζεται να μας πείτε τίποτα πρώτα. Δεν χρειάζεται να μας στείλετε τη διεύθυνση MAC κάθε εικονικής μηχανής, και δεν βάζουμε όριο στο πόσες μπορεί να χρησιμοποιήσει η θύρα σας. Αρκετές εταιρείες φιλοξενίας το κάνουν, και οι οδηγίες τους σας βάζουν να συμπληρώνετε μια φόρμα για κάθε νέα μηχανή. Εμείς ελέγξαμε αντί να υποθέσουμε: η θύρα στην οποία βρίσκεται ο διακομιστής σας δεν έχει όριο MAC και η ασφάλεια θύρας είναι απενεργοποιημένη, και πριν δημοσιεύσουμε αυτό βάλαμε μια δεύτερη διεύθυνση και MAC στη θύρα ενός μηχανήματος προσωπικού και τη φτάσαμε από το δημόσιο διαδίκτυο.

Τρία πράγματα που αξίζει να κάνετε σωστά:

• Κάθε μηχανή χρειάζεται τη δική της διεύθυνση MAC. Δύο μηχανές που μοιράζονται μία, ή αντιγράφουν του host, και καμία δεν λειτουργεί σωστά.
• Χρησιμοποιήστε την πύλη που ανήκει στο εύρος αυτής της διεύθυνσης, από το βήμα ένα.
Χρησιμοποιείτε μόνο διευθύνσεις που είναι στον λογαριασμό σας. Αυτή η γέφυρα βλέπει ένα πραγματικό δίκτυο με μηχανήματα άλλων ανθρώπων πάνω του. Μια διεύθυνση που δεν είναι δική σας παίρνει μαζί της και την κίνησή τους.

Για τον ίδιο λόγο: τίποτα που μοιράζει διευθύνσεις δεν ανήκει στο vmbr0. Κανένας διακομιστής DHCP, καμία διαφήμιση δρομολογητή. Αν θέλετε να μοιράζετε διευθύνσεις στις δικές σας μηχανές αυτόματα, χρησιμοποιήστε το βήμα πέντε, όπου η γέφυρα δεν έχει διέξοδο και δεν μπορεί να φτάσει κανέναν άλλο.

4

Ο ελεγχόμενος τρόπος: τα πάντα μέσα από τον host

Διαλέξτε αυτό όταν θέλετε ο host να βλέπει κάθε πακέτο, ώστε το τείχος προστασίας του να μπορεί να ενεργήσει πάνω του, ή όταν προτιμάτε οι μηχανές σας να μην εμφανίζονται ποτέ καθόλου στο κοινό δίκτυο. Εξακολουθούν να παίρνουν πραγματικές δημόσιες διευθύνσεις από τον λογαριασμό σας· μόνο η διαδρομή αλλάζει.

Η δημόσια διεύθυνση φεύγει από τη γέφυρα και πηγαίνει στην κάρτα δικτύου, ο host λαμβάνει εντολή να προωθεί, και απαντά εκ μέρους των μηχανών πίσω του. Στον host:

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp

auto vmbr0
iface vmbr0 inet manual
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    up ip route add 203.0.113.58/32 dev vmbr0
    down ip route del 203.0.113.58/32 dev vmbr0

Μία γραμμή up και down για κάθε διεύθυνση που δρομολογείτε με αυτόν τον τρόπο. Μέσα στη μηχανή η διεύθυνση είναι /32, και ο host πρέπει να προσεγγιστεί με ρητή διαδρομή πριν από την προεπιλεγμένη:

auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 203.0.113.58/32
    post-up ip route add 203.0.113.10 dev ens18
    post-up ip route add default via 203.0.113.10
    dns-nameservers 209.244.0.3 1.1.1.1

Μην παραλείψετε τη γραμμή proxy_arp. Οι δρομολογητές μας ρωτούν το δίκτυο ποιος κατέχει κάθε διεύθυνση, και αυτή η γραμμή είναι που κάνει τον host να απαντά για τις μηχανές πίσω του. Αφήστε την έξω και είναι απλώς αόρατες. Οι δύο γραμμές post-up echo είναι ο τρόπος του ίδιου του Proxmox να το γράφει. Για να τις ορίσετε μόνιμα αντί αυτού, ρίξτε ένα αρχείο στο /etc/sysctl.d/ που περιέχει:

net.ipv4.ip_forward=1
net.ipv4.conf.eno1.proxy_arp=1

Αυτό που αγοράζετε με την επιπλέον δουλειά είναι ένας host που μπορεί να φιλτράρει και να καταγράφει κάθε πακέτο. Αν δεν το χρειάζεστε, το βήμα τρία έχει λιγότερα πράγματα να πάνε στραβά.

5

Μηχανές που δεν χρειάζονται δική τους διεύθυνση

Πολλές μηχανές μόνο ξεκινούν συνομιλίες: build runners, queue workers, μια βάση δεδομένων που τίποτα έξω δεν πρέπει να αγγίζει. Δώστε σε αυτές μια ιδιωτική διεύθυνση σε μια γέφυρα χωρίς δική της διέξοδο, και αφήστε τον host να μεταφράζει την κίνησή τους στη δική του διεύθυνση καθώς περνάει. Δεν χρησιμοποιεί τίποτα από την κατανομή σας, οπότε μπορείτε να τρέξετε όσες αντέχει το υλικό.

Προσθέστε μια δεύτερη γέφυρα, αφήνοντας το vmbr0 ακριβώς όπως είναι:

auto vmbr1
iface vmbr1 inet static
    address 10.10.10.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE

Βάλτε τις μηχανές στο vmbr1, δώστε στην καθεμία μια διεύθυνση σε αυτό το εύρος με το 10.10.10.1 ως πύλη της, και ξεκίνησαν. Για το υπόλοιπο διαδίκτυο μοιάζουν με τον διακομιστή σας. Τίποτα δεν τις φτάνει από έξω εκτός αν το ζητήσετε, και το να το ζητήσετε είναι ένας ακόμα κανόνας δίπλα στον πρώτο, σε μια θύρα που ο host δεν χρησιμοποιεί ήδη:

post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443
post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443

Αυτή η γέφυρα δεν έχει φυσική θύρα, οπότε ένας διακομιστής DHCP πάνω της είναι ασφαλής και είναι ένας τακτοποιημένος τρόπος να δίνετε διευθύνσεις στις μηχανές πίσω της.

6

Προσθήκη των διευθύνσεων IPv6 σας

Αυτό που έχετε είναι μια χούφτα ξεχωριστές διευθύνσεις IPv6, όχι ένα μπλοκ για να το χωρίσετε. Βρίσκονται στο κάτω μέρος του ίδιου email εγκατάστασης, και τοποθετούνται μία τη φορά ακριβώς όπως οι IPv4: μία στον host αν θέλετε ο host να είναι προσβάσιμος μέσω IPv6, οι υπόλοιπες σε όποιες μηχανές τις χρειάζονται. Ο εγκαταστάτης δεν ρυθμίζει καμία από αυτές, οπότε όλα αυτά είναι δικά σας να τα προσθέσετε.

Γράψτε την καθεμία με ένα /64 στο τέλος, και η πύλη είναι το πρόθεμα με ::1 μετά από αυτό — μια διεύθυνση μέσα στο 2001:db8:1234::/64 χρησιμοποιεί το 2001:db8:1234::1. Στον host, δίπλα στη γέφυρα που είναι ήδη εκεί:

iface vmbr0 inet6 static
    address 2001:db8:1234::2/64
    gateway 2001:db8:1234::1

Και σε μια μηχανή στη γέφυρα:

iface ens18 inet6 static
    address 2001:db8:1234::5/64
    gateway 2001:db8:1234::1

Μετά ifreload -a, όπως πριν. Επειδή αυτές είναι μεμονωμένες διευθύνσεις και όχι δικό σας μπλοκ, μην διαφημίζετε διαδρομές ούτε να μοιράζετε διευθύνσεις που δεν σας δόθηκαν. Σας λείπουν; Ρωτήστε μας.

7

Ονομασία των διευθύνσεών σας: αντίστροφο DNS

Το αντίστροφο DNS το ρυθμίζετε μόνοι σας, σε οποιαδήποτε διεύθυνση, χωρίς να ρωτήσετε κανέναν. Συνδεθείτε, ανοίξτε τον διακομιστή, και βρείτε τον πίνακα με τίτλο Access, Networking & rDNS. Κάθε διεύθυνση αναφέρεται με όποιο όνομα απαντά τώρα και ένα κουμπί Edit rDNS δίπλα της. Οι διευθύνσεις IPv6 λειτουργούν με τον ίδιο τρόπο.

Το πεδίο θέλει ένα όνομα κεντρικού υπολογιστή: γράμματα, αριθμούς, παύλες και τελείες, κάθε μέρος μεταξύ 1 και 63 χαρακτήρων, τουλάχιστον δύο μέρη, και η τελική τελεία προστίθεται για εσάς. Δώστε του λίγα λεπτά για να ισχύσει.

Αν η μηχανή στέλνει email, η διεύθυνση που πρέπει να ονομάσετε είναι αυτή από την οποία φεύγει πραγματικά το ταχυδρομείο — με το βήμα πέντε αυτή είναι η διεύθυνση του host, όχι της μηχανής — και θα θέλετε επίσης την αντίστοιχη εγγραφή forward στον πάροχο DNS σας. Οι διακομιστές αλληλογραφίας στην άλλη άκρη ελέγχουν ότι τα δύο συμφωνούν, και αρνούνται το ταχυδρομείο όταν δεν συμφωνούν.

Συχνές ερωτήσεις

Τι μας ρωτούν οι άνθρωποι αφού ακολουθήσουν αυτή τη σελίδα.

Η εικονική μηχανή είναι πάνω αλλά τίποτα δεν λειτουργεί. Πού κοιτάζω;

Την πύλη, εννιά στις δέκα φορές. Πρέπει να είναι το .1 του εύρους στο οποίο ανήκει η ίδια η διεύθυνση, και ένας διακομιστής του οποίου οι διευθύνσεις αγοράστηκαν σε διαφορετικές στιγμές μπορεί εύκολα να έχει δύο εύρη με δύο πύλες. Μετά από αυτό, ελέγξτε ότι η διεύθυνση είναι πραγματικά στον λογαριασμό σας, ότι χρησιμοποιήσατε /24, και ότι καμία άλλη μηχανή δεν φέρει την ίδια διεύθυνση MAC.

Χρειάζεται να σας στείλω τη διεύθυνση MAC κάθε εικονικής μηχανής;

Όχι, και δεν υπάρχει τίποτα να συμπληρώσετε πουθενά. Η θύρα σας μαθαίνει όσες διευθύνσεις MAC βάλετε πάνω της και η ασφάλεια θύρας είναι απενεργοποιημένη, οπότε μια εικονική μηχανή εμφανίζεται στο δίκτυο ακριβώς όπως μια φυσική. Κρατήστε τη διεύθυνση MAC που δημιούργησε το Proxmox, και βεβαιωθείτε ότι καμία δύο μηχανές δεν μοιράζονται μία.

Γιατί ρυθμίστηκε μόνο μία διεύθυνση όταν έφτασε ο διακομιστής;

Επειδή ένας host που φέρει κάθε διεύθυνση θα απαντούσε για κάθε διεύθυνση, και οι εικονικές μηχανές σας δεν θα είχαν καμία να πάρουν. Ρυθμίζουμε την πρώτη ώστε η μηχανή να εκκινήσει προσβάσιμη και αφήνουμε τις υπόλοιπες για εσάς. Το email εγκατάστασης το λέει άμεσα, κάτω από τη λίστα.

Ποιο να διαλέξω, το βήμα τρία ή το βήμα τέσσερα;

Το βήμα τρία, εκτός αν ξέρετε γιατί θέλετε το βήμα τέσσερα. Δεν αλλάζει τίποτα στον host, δεν χρειάζεται ασυνήθιστες ρυθμίσεις στη μηχανή, και συμπεριφέρεται όπως ένας πραγματικός υπολογιστής σε ένα δίκτυο. Το βήμα τέσσερα είναι για όταν θέλετε ο host να επιθεωρεί και να φιλτράρει τα πάντα καθώς περνούν, και είστε πρόθυμοι να ρυθμίσετε κάθε μηχανή λίγο πιο προσεκτικά σε αντάλλαγμα.

Μπορώ να μοιράζω διευθύνσεις αυτόματα με DHCP;

Σε μια ιδιωτική γέφυρα χωρίς φυσική θύρα, απολύτως, και είναι ένας καθαρός τρόπος να τρέχετε πολλές μηχανές. Ποτέ στο vmbr0, που είναι συνδεδεμένο σε ένα δίκτυο στο οποίο βρίσκονται και άλλοι πελάτες: ένας διακομιστής DHCP ή διαφημίσεις δρομολογητή εκεί αρχίζουν να απαντούν για μηχανές που δεν είναι δικές σας.

Αποθήκευσα ένα κακό αρχείο και ο διακομιστής χάθηκε. Τι κάνω τώρα;

Χρησιμοποιήστε την κονσόλα στον λογαριασμό σας. Φτάνει στη μηχανή μέσω της κάρτας διαχείρισής της αντί του δικτύου, οπότε συνεχίζει να λειτουργεί όταν η δικτύωση δεν λειτουργεί. Επιδιορθώστε το /etc/network/interfaces, εκτελέστε ifreload -a, και επιστρέψατε. Το να ανοίγετε την κονσόλα πριν εφαρμόσετε μια αλλαγή είναι μια συνήθεια που αξίζει να αποκτήσετε.

Μπορώ να πάρω περισσότερες διευθύνσεις;

Ναι. Στείλτε μας μήνυμα στη ζωντανή συνομιλία ή ανοίξτε ένα ticket, και πείτε μας για τι είναι η καθεμία — τα μητρώα διευθύνσεων απαιτούν έναν λόγο για κάθε εκχώρηση, οπότε είναι το πρώτο πράγμα που πρέπει να καταγράψουμε. Οι επιπλέον διευθύνσεις IPv4 χρεώνονται μηνιαία στον ίδιο λογαριασμό, και εμφανίζονται στον πίνακά σας μόλις εκχωρηθούν.

Ψάχνετε για έναν διακομιστή για να το τρέξετε;

Το Proxmox VE είναι ένα από τα λειτουργικά συστήματα που μπορείτε να εγκαταστήσετε με ένα κλικ, σε υλικό που είναι αποκλειστικά δικό σας, με πρόσβαση κονσόλας και χωρίς άδεια να αγοράσετε.