Ο διακομιστής σας παραδόθηκε με την πρώτη του διεύθυνση IPv4 ρυθμισμένη στον host και τίποτα άλλο. Κάθε άλλη διεύθυνση στον λογαριασμό σας είναι δική σας για να την τοποθετήσετε. Αυτός ο οδηγός καλύπτει τους τρεις τρόπους για να το κάνετε σε ένα μηχάνημα Server Room: bridged, όπου ένας guest βρίσκεται στο δίκτυό μας με τη δική του διεύθυνση MAC· routed, όπου ο host προωθεί για αυτόν· και ένα ιδιωτικό υποδίκτυο πίσω από την κύρια διεύθυνσή σας. Κάθε ρύθμιση εδώ δοκιμάστηκε στο δικό μας δίκτυο πριν δημοσιευτεί.
Δουλέψτε πρώτα τα βήματα ένα και δύο. Μετά επιλέξτε το βήμα τρία, τέσσερα ή πέντε — είναι τρεις απαντήσεις στην ίδια ερώτηση, όχι μια ακολουθία.
Το email Dedicated Server Setup που στάλθηκε όταν κατασκευάστηκε το μηχάνημά σας αναφέρει κάθε διεύθυνση που του έχει εκχωρηθεί, πρώτα IPv4 και μετά IPv6. Η ίδια λίστα βρίσκεται στον πίνακα ελέγχου στη σελίδα του διακομιστή, κάτω από Access, Networking & rDNS, όπου κάθε διεύθυνση εμφανίζεται με την εγγραφή reverse DNS της.
Σε μια εγκατάσταση Proxmox το email φέρει μια επιπλέον γραμμή, και είναι ο λόγος που υπάρχει αυτή η σελίδα: μόνο η πρώτη διεύθυνση ρυθμίζεται στον host. Οι υπόλοιπες είναι δικές σας για να τις εκχωρήσετε από το Proxmox, στις εικονικές σας μηχανές ή στον ίδιο τον host. Ο installer μας ρυθμίζει σκόπιμα μία διεύθυνση και σταματά, γιατί ένας host που κρατά όλες θα απαντούσε για κάθε μία από αυτές και δεν θα άφηνε τίποτα για τους guests σας.
Η μάσκα δικτύου είναι πάντα /24 (255.255.255.0) και η πύλη είναι πάντα το .1 του /24 στο οποίο βρίσκεται η ίδια η διεύθυνση. Αυτό το δεύτερο μισό έχει μεγαλύτερη σημασία από ό,τι φαίνεται. Οι διευθύνσεις που παραγγέλνονται μαζί είναι συνεχόμενες μέσα σε ένα /24, οπότε μοιράζονται μια πύλη. Οι διευθύνσεις που προστίθενται σε έναν υπάρχοντα διακομιστή αργότερα μπορεί να προέρχονται από διαφορετικό δικό μας εύρος, και τότε κάθε μία χρησιμοποιεί το δικό της .1 — για παράδειγμα μια διεύθυνση στο 203.0.113.0/24 χρησιμοποιεί το 203.0.113.1 ακόμα και σε ένα μηχάνημα του οποίου η κύρια διεύθυνση είναι σε άλλο εύρος. Και τα δύο λειτουργούν στην ίδια θύρα και στην ίδια γέφυρα.
Ο resolver που ρυθμίζει ο installer μας είναι 209.244.0.3. Είστε ελεύθεροι να κατευθύνετε τους guests σας οπουδήποτε αλλού.
Συνδεθείτε μέσω SSH ως root και δείτε τις διεπαφές που έγραψε ο installer:
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 είναι ήδη μια γέφυρα και η φυσική διεπαφή είναι ήδη μια θύρα πάνω της. Αυτό είναι όλο το bridged μοντέλο, γι' αυτό το βήμα τρία σας ζητά να μην αλλάξετε τίποτα στον host.
Το Proxmox VE 9 είναι Debian 13 και χρησιμοποιεί ifupdown2, οπότε μια αλλαγή ρύθμισης δεν χρειάζεται επανεκκίνηση. Επεξεργαστείτε το /etc/network/interfaces και εφαρμόστε το με:
ifreload -a
Αν επεξεργαστείτε το δίκτυο μέσω της διεπαφής web του Proxmox αντί αυτού, οι αλλαγές σας σταδιοποιούνται στο /etc/network/interfaces.new μέχρι να πατήσετε Apply Configuration. Είτε έτσι είτε αλλιώς, ανοίξτε την κονσόλα του διακομιστή από τον πίνακα ελέγχου πριν κάνετε reload. Ένα λάθος σε αυτό το αρχείο βγάζει το μηχάνημα εκτός δικτύου, και η κονσόλα είναι ο τρόπος να μπείτε ξανά χωρίς ticket.
Αυτό είναι που πρέπει να χρησιμοποιήσετε εκτός αν έχετε λόγο να μην το κάνετε. Ο guest είναι ένα συνηθισμένο μηχάνημα στο ίδιο τμήμα με τον host, μιλά απευθείας με τους δρομολογητές μας και τίποτα στον host δεν αλλάζει καθόλου.
Στη διεπαφή Proxmox, δώστε στην εικονική μηχανή μια συσκευή δικτύου στη γέφυρα vmbr0 και αφήστε τη διεύθυνση MAC που δημιούργησε το Proxmox για αυτήν. Μετά ρυθμίστε τη διεύθυνση μέσα στον guest ακριβώς όπως θα κάνατε σε οποιονδήποτε διακομιστή. Για έναν Debian ή Ubuntu guest που χρησιμοποιεί ifupdown:
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 guest που χρησιμοποιεί 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 guest παίρνει τις ίδιες τρεις τιμές στις ιδιότητες IPv4 του προσαρμογέα. Οποιοδήποτε λειτουργικό σύστημα λειτουργεί, γιατί από τη δική μας πλευρά αυτό είναι απλώς ένα άλλο μηχάνημα στο υποδίκτυο.
Δεν χρειάζεται να καταχωρίσετε τη διεύθυνση MAC ενός guest σε εμάς, και δεν περιορίζουμε πόσες μπορεί να χρησιμοποιήσει η θύρα σας. Κάποιες εταιρείες hosting το κάνουν, και η τεκμηρίωσή τους σας λέει να δηλώσετε μια MAC για κάθε εικονική μηχανή. Η δική μας όχι: η θύρα switch στην οποία βρίσκεται ο διακομιστής σας δεν φέρει περιορισμό αριθμού MAC και η ασφάλεια θύρας είναι απενεργοποιημένη, οπότε μια MAC guest μαθαίνεται ακριβώς όπως του host. Το δοκιμάσαμε πριν το δημοσιεύσουμε, βάζοντας μια δεύτερη MAC και μια εφεδρική διεύθυνση στη δική του θύρα πελάτη ενός διακομιστή προσωπικού και φτάνοντάς το από το δημόσιο διαδίκτυο.
Τρία πράγματα να κρατάτε σωστά:
• Δώστε σε κάθε guest μια ξεχωριστή διεύθυνση MAC. Δύο guests που μοιράζονται μία, ή ένας guest που αντιγράφει του host, χαλάει και τα δύο.
• Χρησιμοποιήστε την πύλη που ανήκει στο δικό του /24 της διεύθυνσης, από το βήμα ένα.
• Ρυθμίστε μόνο μια διεύθυνση που είναι εκχωρημένη στον λογαριασμό σας. Η γέφυρα βλέπει ένα πραγματικό δίκτυο που μοιράζεται με άλλα μηχανήματα. Παίρνοντας μια διεύθυνση που δεν είναι δική σας παίρνετε μαζί και την κίνηση κάποιου άλλου.
Για τον ίδιο λόγο, μην τρέχετε έναν DHCP server, έναν rogue router advertisement daemon ή οτιδήποτε άλλο που απαντά για το τμήμα στο vmbr0. Αν θέλετε να σερβίρετε DHCP στους δικούς σας guests, χρησιμοποιήστε το μοντέλο ιδιωτικού υποδικτύου στο βήμα πέντε, όπου η γέφυρα δεν έχει φυσική θύρα και δεν μπορεί να φτάσει κανέναν άλλο.
Χρησιμοποιήστε αυτό όταν θέλετε κάθε πακέτο προς και από έναν guest να περνά μέσα από τον host, ώστε το firewall του host να το βλέπει, ή όταν προτιμάτε οι guests σας να μην εμφανίζονται καθόλου στο layer 2 μας. Η διεύθυνση εξακολουθεί να είναι δημόσια από τον λογαριασμό σας· μόνο η διαδρομή αλλάζει.
Η δημόσια διεύθυνση μετακινείται από τη γέφυρα στη φυσική διεπαφή, ο host προωθεί και απαντά σε ARP εκ μέρους των guests για τους οποίους δρομολογεί. Στον 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 ανά δρομολογημένη διεύθυνση. Μέσα στον guest, η διεύθυνση είναι /32 και ο host προσεγγίζεται με μια ρητή on-link διαδρομή πριν από την προεπιλεγμένη διαδρομή:
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 Δύο σημειώσεις για τη στροφή του host. Η γραμμή proxy_arp είναι αυτό που το κάνει να λειτουργεί εδώ: οι δρομολογητές μας ρωτούν στο τμήμα για τη διεύθυνση του guest, και ο host απαντά για αυτήν. Χωρίς αυτή τη γραμμή ο guest είναι σιωπηλός από έξω. Και οι δύο γραμμές post-up echo είναι η δική του τεκμηριωμένη μορφή του Proxmox· αν προτιμάτε να τις ορίσετε μια για πάντα, βάλτε net.ipv4.ip_forward=1 και net.ipv4.conf.eno1.proxy_arp=1 σε ένα αρχείο κάτω από /etc/sysctl.d/ αντί αυτού.
Το routed σας κοστίζει λίγη ρύθμιση σε κάθε guest και σας δίνει έναν host που μπορεί να φιλτράρει, να μετρά και να καταγράφει τα πάντα. Το bridged δεν κοστίζει τίποτα και δεν σας δίνει τίποτα από τα δύο. Αυτή είναι όλη η ανταλλαγή.
Οι guests που χρειάζεται μόνο να βγαίνουν προς τα έξω — build agents, workers, μια βάση δεδομένων που τίποτα εξωτερικό δεν πρέπει να αγγίζει — δεν χρειάζονται καθόλου δημόσια διεύθυνση. Βάλτε τους σε μια γέφυρα χωρίς φυσική θύρα και αφήστε τον host να μεταφράζει την κίνησή τους στη δική του διεύθυνση στην έξοδο. Αυτό δεν κοστίζει διευθύνσεις και είναι ο φθηνότερος τρόπος να τρέξετε πολλά μηχανήματα.
Προσθέστε μια δεύτερη γέφυρα στον 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 Οι guests μπαίνουν στο vmbr1 με μια διεύθυνση σε αυτό το εύρος, το 10.10.10.1 ως πύλη τους, και όποιον resolver προτιμάτε. Φτάνουν στο διαδίκτυο ως ο διακομιστής σας· τίποτα από έξω δεν τους φτάνει εκτός αν το πείτε. Για να δημοσιεύσετε μία υπηρεσία, προσθέστε έναν κανόνα προώθησης δίπλα στον κανόνα masquerade, επιλέγοντας μια θύρα που ο 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 server πάνω της είναι απολύτως ασφαλής και είναι ένας λογικός τρόπος να διευθυνσιοδοτήσετε τους guests σας.
Η εκχώρηση IPv6 σας είναι ένα σύνολο μεμονωμένων διευθύνσεων, όχι ένα delegated prefix που μπορείτε να τεμαχίσετε. Αναφέρονται στο ίδιο email εγκατάστασης, κάτω από τις IPv4, και τοποθετούνται μία κάθε φορά ακριβώς όπως οι διευθύνσεις IPv4: μία στον host αν θέλετε ο host να είναι προσβάσιμος, οι υπόλοιπες σε guests. Ο installer δεν ρυθμίζει καμία από αυτές.
Ρυθμίστε κάθε μία με μήκος προθέματος /64, και η πύλη είναι το πρόθεμα ακολουθούμενο από ::1 — έτσι μια διεύθυνση μέσα στο 2001:db8:1234::/64 χρησιμοποιεί το 2001:db8:1234::1. Στον host, προσθέστε μια στροφή IPv6 δίπλα στην υπάρχουσα γέφυρα:
iface vmbr0 inet6 static
address 2001:db8:1234::2/64
gateway 2001:db8:1234::1 Και σε έναν bridged guest:
iface ens18 inet6 static
address 2001:db8:1234::5/64
gateway 2001:db8:1234::1 Εφαρμόστε με ifreload -a όπως πριν. Επειδή οι διευθύνσεις είναι μεμονωμένες και όχι δικό σας πρόθεμα, μην τρέχετε router advertisements και μην μοιράζετε διευθύνσεις που δεν σας δόθηκαν. Αν χρειάζεστε περισσότερες από όσες έχετε, ρωτήστε μας.
Το reverse DNS είναι δικό σας για επεξεργασία, σε κάθε διεύθυνση, χωρίς ticket. Συνδεθείτε, ανοίξτε τη σελίδα του διακομιστή και βρείτε τον πίνακα Access, Networking & rDNS. Κάθε διεύθυνση στον λογαριασμό αναφέρεται εκεί με την τρέχουσα εγγραφή της και ένα κουμπί Edit rDNS. Τόσο το IPv4 όσο και το IPv6 λειτουργούν.
Η φόρμα δέχεται ένα hostname: μόνο γράμματα, ψηφία, παύλες και τελείες, κάθε ετικέτα μεταξύ 1 και 63 χαρακτήρων, τουλάχιστον δύο ετικέτες, και προσθέτει την τελική τελεία για εσάς. Οι αλλαγές χρειάζονται λίγα λεπτά για να εμφανιστούν.
Αν το μηχάνημα στέλνει αλληλογραφία, ορίστε την αντίστροφη εγγραφή στη διεύθυνση από την οποία φεύγει πραγματικά η αλληλογραφία — η οποία, στο μοντέλο ιδιωτικού υποδικτύου παραπάνω, είναι η διεύθυνση του host και όχι του guest — και δημιουργήστε την αντίστοιχη forward εγγραφή στον δικό σας πάροχο DNS. Οι διακομιστές λήψης αλληλογραφίας ελέγχουν ότι τα δύο συμφωνούν.
Οι ερωτήσεις που δημιουργεί πραγματικά αυτή η ρύθμιση.