Proxmox VE 9 • Servere dedicate • Tutorial de rețelistică

Cum să oferi Proxmox VE invitaților o adresă IP publică

Serverul tău a fost predat cu prima sa adresă IPv4 configurată pe gazdă și nimic altceva. Toate celelalte adrese din contul tău sunt ale tale pentru a le plasa. Acest ghid acoperă cele trei moduri de a face acest lucru pe o mașină Server Room: în punte, unde un invitat stă în rețeaua noastră cu propria adresă MAC; rutat, unde gazda redirecționează pentru el; și o subrețea privată în spatele adresei tale principale. Fiecare configurație de aici a fost testată pe propria noastră rețea înainte de a fi publicată.

Proxmox VE 9 pe Debian 13 Fără înregistrare MAC Suport live 24/7

Ghid pas cu pas

Parcurge mai întâi pașii unu și doi. Apoi alege pasul trei, patru sau cinci — sunt trei răspunsuri la aceeași întrebare, nu o secvență.

1

Găsește-ți adresele și stabilește fiecare gateway

E-mailul Configurare server dedicat trimis când a fost construită mașina ta listează fiecare adresă alocată acesteia, mai întâi IPv4 și apoi IPv6. Aceeași listă se află în panoul tău de control pe pagina serverului, sub Acces, rețelistică & rDNS, unde fiecare adresă este afișată cu înregistrarea sa DNS inversă.

Pe o instalare Proxmox, e-mailul conține o linie suplimentară, iar aceasta este motivul pentru care există această pagină: doar prima adresă este configurată pe gazdă. Celelalte sunt ale tale pentru a le atribui din Proxmox, mașinilor tale virtuale sau gazdei însăși. Instalatorul nostru configurează în mod deliberat o singură adresă și se oprește, deoarece o gazdă care le deține pe toate ar răspunde pentru fiecare dintre ele și nu ar lăsa nimic pentru invitații tăi.

Masca de rețea este întotdeauna /24 (255.255.255.0) și gateway-ul este întotdeauna .1 al /24-ului în care se află adresa însăși. Această a doua parte contează mai mult decât pare. Adresele comandate împreună sunt consecutive într-un singur /24, deci împart un gateway. Adresele adăugate ulterior unui server existent pot proveni dintr-un alt interval al nostru, iar atunci fiecare folosește propriul .1 — de exemplu, o adresă din 203.0.113.0/24 folosește 203.0.113.1 chiar și pe o mașină a cărei adresă principală este într-un alt interval. Ambele funcționează pe același port și pe aceeași punte.

Resolverul pe care îl configurează instalatorul nostru este 209.244.0.3. Ești liber să îndrepți invitații tăi oriunde altundeva.

2

Citește ce a lăsat instalatorul pe gazdă

Conectează-te prin SSH ca root și uită-te la interfețele scrise de instalator:

ip -br addr
cat /etc/network/interfaces

O mașină proaspăt construită arată astfel, cu numele tău de interfață și adresa ta principală în locul exemplelor:

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 este deja o punte, iar interfața fizică este deja un port pe ea. Acesta este întregul model în punte, motiv pentru care pasul trei îți cere să nu schimbi nimic pe gazdă.

Proxmox VE 9 este Debian 13 și folosește ifupdown2, deci o modificare de configurare nu necesită o repornire. Editează /etc/network/interfaces și aplică cu:

ifreload -a

Dacă editezi rețeaua prin interfața web Proxmox în schimb, modificările tale sunt puse în așteptare în /etc/network/interfaces.new până când apeși Aplică configurația. În orice caz, deschide consola serverului din panoul tău de control înainte de a reîncărca. O greșeală în acest fișier scoate mașina din rețea, iar consola este modul prin care revii fără un tichet.

3

În punte: invitatul stă în rețeaua noastră cu propria adresă MAC

Aceasta este cea de folosit, cu excepția cazului în care ai un motiv să nu o faci. Invitatul este o mașină obișnuită pe același segment ca gazda, vorbește direct cu routerele noastre și nimic pe gazdă nu se schimbă deloc.

În interfața Proxmox, dă mașinii virtuale un dispozitiv de rețea pe puntea vmbr0 și lasă adresa MAC generată de Proxmox pentru ea. Apoi configurează adresa în interiorul invitatului exact cum ai face pe orice server. Pentru un invitat Debian sau Ubuntu care folosește 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

Pentru un invitat Ubuntu care folosește netplan, în /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]

Un invitat Windows primește aceleași trei valori în proprietățile IPv4 ale adaptorului. Orice sistem de operare funcționează, deoarece din partea noastră aceasta este pur și simplu o altă mașină pe subrețea.

Nu trebuie să înregistrezi adresa MAC a unui invitat la noi și nu limităm câte poate folosi portul tău. Unele companii de găzduire o fac, iar documentația lor îți spune să declari un MAC pentru fiecare mașină virtuală. A noastră nu: portul de comutator pe care se află serverul tău nu are nicio restricție de număr MAC, iar securitatea portului este dezactivată, deci un MAC de invitat este învățat exact ca al gazdei. Am testat acest lucru înainte de a-l publica, punând un al doilea MAC și o adresă liberă pe portul de client al unui server de personal și accesându-l de pe internetul public.

Trei lucruri de păstrat corecte:

• Dă fiecărui invitat o adresă MAC distinctă. Doi invitați care împart una, sau un invitat care o copiază pe a gazdei, le strică pe ambele.
• Folosește gateway-ul aparținând propriului /24 al acelei adrese, de la pasul unu.
Configurează doar o adresă care este alocată contului tău. Puntea se confruntă cu o rețea reală împărțită cu alte mașini. A lua o adresă care nu este a ta ia traficul altcuiva cu ea.

Din același motiv, nu rula un server DHCP, un daemon de anunțuri de router necinstit sau orice altceva care răspunde pentru segment pe vmbr0. Dacă vrei să servești DHCP propriilor invitați, folosește modelul de subrețea privată de la pasul cinci, unde puntea nu are port fizic și nu poate ajunge la nimeni altcineva.

4

Rutat: gazda este gateway-ul pentru invitații săi

Folosește aceasta când vrei ca fiecare pachet către și de la un invitat să treacă prin gazdă, astfel încât firewall-ul gazdei să-l vadă, sau când preferi ca invitații tăi să nu apară deloc pe nivelul nostru 2. Adresa este tot una publică din contul tău; doar calea se schimbă.

Adresa publică se mută de pe punte pe interfața fizică, gazda redirecționează și răspunde la ARP în numele invitaților pentru care rutează. Pe gazdă:

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

Adaugă o pereche up și down pentru fiecare adresă rutată. În interiorul invitatului, adresa este un /32, iar gazda este atinsă printr-o rută explicită on-link înainte de ruta implicită:

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

Două note despre strofa gazdei. Linia proxy_arp este ceea ce face ca acest lucru să funcționeze aici: routerele noastre întreabă pe segment adresa invitatului, iar gazda răspunde pentru ea. Fără acea linie, invitatul este tăcut din exterior. Iar cele două linii post-up echo sunt forma documentată proprie a Proxmox; dacă preferi să le setezi o dată pentru totdeauna, pune net.ipv4.ip_forward=1 și net.ipv4.conf.eno1.proxy_arp=1 într-un fișier sub /etc/sysctl.d/ în schimb.

Rutarea te costă puțină configurare în fiecare invitat și îți oferă o gazdă care poate filtra, număra și înregistra totul. Puntea nu costă nimic și nu îți oferă niciuna. Acesta este întregul compromis.

5

O subrețea privată în spatele adresei tale principale

Invitații care trebuie doar să iasă — agenți de construcție, lucrători, o bază de date pe care nimic din exterior nu ar trebui să o atingă — nu au nevoie deloc de o adresă publică. Pune-i pe o punte fără port fizic și lasă gazda să traducă traficul lor la propria adresă la ieșire. Acest lucru nu costă adrese și este cel mai ieftin mod de a rula multe mașini.

Adaugă o a doua punte pe gazdă, lăsând vmbr0 așa cum este:

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

Invitații merg pe vmbr1 cu o adresă din acel interval, 10.10.10.1 ca gateway și orice resolver preferi. Ei ajung la internet ca serverul tău; nimic din exterior nu ajunge la ei decât dacă spui tu. Pentru a publica un serviciu, adaugă o regulă de redirecționare lângă regula de mascaradă, alegând un port pe care gazda nu îl folosește ea însăși:

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

Deoarece această punte nu are port fizic, un server DHCP pe ea este perfect sigur și este o modalitate rezonabilă de a-ți adresa invitații.

6

Adaugă-ți adresele IPv6

Alocarea ta IPv6 este un set de adrese individuale, nu un prefix delegat pe care îl poți împărți. Ele sunt listate în același e-mail de configurare, sub cele IPv4, și sunt plasate una câte una exact ca adresele IPv4: una pe gazdă dacă vrei ca gazda să fie accesibilă, restul pe invitați. Instalatorul nu configurează niciuna dintre ele.

Configurează fiecare cu o lungime de prefix /64, iar gateway-ul este prefixul urmat de ::1 — deci o adresă din 2001:db8:1234::/64 folosește 2001:db8:1234::1. Pe gazdă, adaugă o strofă IPv6 lângă puntea existentă:

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

Și într-un invitat în punte:

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

Aplică cu ifreload -a ca înainte. Deoarece adresele sunt individuale, nu un prefix propriu, nu rula anunțuri de router și nu distribui adrese care nu ți-au fost date. Dacă ai nevoie de mai multe decât ai, întreabă-ne.

7

Setează DNS invers din panoul tău de control

DNS-ul invers este al tău de editat, pe fiecare adresă, fără un tichet. Conectează-te, deschide pagina serverului și găsește panoul Acces, rețelistică & rDNS. Fiecare adresă din cont este listată acolo cu înregistrarea sa curentă și un buton Editează rDNS. Atât IPv4, cât și IPv6 funcționează.

Formularul acceptă un nume de gazdă: doar litere, cifre, cratime și puncte, fiecare etichetă între 1 și 63 de caractere, cel puțin două etichete, iar punctul final îl adaugă pentru tine. Modificările durează câteva minute să apară.

Dacă mașina trimite e-mail, setează înregistrarea inversă pe adresa de pe care pleacă de fapt e-mailul — care, în modelul de subrețea privată de mai sus, este adresa gazdei, nu a invitatului — și creează înregistrarea directă corespunzătoare la propriul tău furnizor DNS. Serverele de e-mail receptoare verifică dacă cele două sunt de acord.

Întrebări frecvente

Întrebările pe care le generează de fapt această configurație.

Invitatul meu nu poate ajunge la nimic. Ce este greșit?

Aproape întotdeauna gateway-ul. Fiecare adresă folosește .1 al propriului /24, iar o adresă adăugată ulterior serverului tău poate sta într-un interval diferit de cel principal, cu un gateway diferit. Verifică dacă adresa este una alocată contului tău, verifică dacă masca de rețea este /24 și verifică dacă adresa MAC a invitatului nu este o copie a altei mașini. De pe gazdă, ip -br addr și ip route în invitat răspund la toate trei în câteva secunde.

Trebuie să vă spun adresa MAC a fiecărei mașini virtuale?

Nu. Portul tău de comutator nu limitează câte adrese MAC va învăța, iar securitatea portului nu este activată pe el, deci un invitat cu propria adresă MAC este învățat ca orice altă mașină. Lasă MAC-ul generat de Proxmox în loc și dă fiecărui invitat unul distinct.

De ce a configurat instalatorul doar o adresă?

Deoarece o gazdă care deține fiecare adresă din cont ar răspunde pentru fiecare dintre ele, lăsând invitații tăi fără nimic de folosit. O adresă pune mașina în rețea și o face accesibilă; restul sunt lăsate pentru tine să le plasezi, ceea ce spune e-mailul de configurare sub lista de adrese.

Ar trebui să folosesc punte sau rutare?

Punte, cu excepția cazului în care ai un motiv specific. Nu necesită nicio modificare pe gazdă, nicio configurare specială în invitat și se comportă ca o mașină fizică în rețea. Alege rutarea când vrei ca fiecare pachet să treacă prin gazdă, astfel încât firewall-ul său să poată acționa asupra lui, și acceptă puțin mai multă configurare în fiecare invitat în schimb.

Pot rula un server DHCP pentru invitații mei?

Pe o punte privată fără port fizic, da, și este o modalitate sensibilă de a-i adresa. Niciodată pe vmbr0: acea punte se confruntă cu o rețea reală împărțită cu alte mașini, iar un server DHCP sau un daemon de anunțuri de router acolo răspunde pentru mașini care nu sunt ale tale.

Am schimbat fișierul și am pierdut mașina. Și acum?

Deschide consola din panoul tău de control. Ea ajunge la mașină prin controlerul său de management, nu prin rețea, deci încă funcționează când configurația de rețea nu o face. Repară /etc/network/interfaces acolo și rulează ifreload -a. Deschiderea consolei înainte de a aplica o modificare de rețea este obiceiul care merită format.

Cum obțin mai multe adrese?

Întreabă-ne în chat live sau deschide un tichet și spune pentru ce este fiecare adresă — registrele cer un scop declarat pentru fiecare atribuire, deci este primul lucru de care vom avea nevoie. Adresele IPv4 suplimentare sunt facturate lunar pe același cont. Odată alocate, ele apar în panoul tău de control și în e-mailul de configurare al următoarei construcții.

Ai nevoie de o mașină pe care să rulezi asta?

Proxmox VE se instalează cu un singur clic pe majoritatea serverelor noastre dedicate, cu acces root complet, consolă out-of-band și fără nicio taxă de licență de orice fel.