Tutorial · Rețea în Proxmox VE 9

Tutorial de rețea în Proxmox un IP public pentru fiecare mașină virtuală

Acest tutorial de rețea în Proxmox îți arată cum să dai unei mașini virtuale propriul IP public pe serverul tău Primcast: o atașezi la puntea vmbr0, introduci adresa, gateway-ul și masca de rețea, și este online. Fără repornire și fără să înregistrezi ceva la noi în prealabil.

Dacă vrei mai mult control, urmează alte două configurații: trafic rutat prin gazdă și mașini private care împart adresa gazdei. Le-am testat pe toate trei în rețeaua noastră înainte de a le scrie.

01

Găsește-ți IP-urile publice și gateway-ul folosit de fiecare

Adresele tale sunt în e-mailul Dedicated Server Setup pe care ți l-am trimis în ziua în care a fost creat serverul, întâi IPv4 și apoi IPv6. Le poți vedea oricând și în contul tău: deschide serverul și uită-te la panoul numit Access, Networking & rDNS.

Pe un server Proxmox, doar prima adresă este configurată pe gazdă. E-mailul îți spune asta sub lista de adrese. Ne oprim acolo intenționat: o gazdă care ar deține toate adresele ar răspunde pentru toate, iar mașinile tale virtuale nu ar mai avea ce folosi. Restul sunt ale tale, pentru a le da mașinilor virtuale sau gazdei, dacă vrei ca aceasta să aibă mai mult de una.

Ai nevoie de aceleași câteva valori de fiecare dată când plasezi o adresă:

Mască de rețea
/24Adică 255.255.255.0.
Gateway
.1.1 al intervalului în care se află adresa, deci 203.0.113.58 folosește 203.0.113.1.
DNS pe gazdă
209.244.0.3Mașinile tale virtuale pot folosi orice resolver dorești.
IPv6
/64Gateway-ul este prefixul urmat de ::1. Pasul 06 are detaliile.

Verifică întâi gateway-ul când ceva nu funcționează. Adresele primite împreună împart un singur interval și un singur gateway. Adresele adăugate serverului mai târziu pot proveni dintr-un alt interval de-al nostru, iar atunci folosesc propriul .1 al acelui interval. Un gateway greșit este cea mai frecventă cauză pentru care o mașină virtuală nouă nu poate ajunge la nimic.

02

Uită-te la puntea de rețea Proxmox pe care o ai deja

Conectează-te la gazdă prin SSH ca root și vezi ce este acolo:

ip -br addr
cat /etc/network/interfaces

Un server pe care tocmai l-am instalat are un fișier care arată aproximativ așa. Numele interfeței și prima adresă vor fi diferite la tine:

/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

Observă că vmbr0 este deja o punte cu portul tău de rețea conectat la ea. Este tot ce are nevoie configurarea în punte de la pasul 03, așa că pentru aceasta lași fișierul neatins.

Proxmox VE 9 rulează pe Debian 13 și folosește ifupdown2, ceea ce înseamnă că modificările de rețea se aplică fără repornire. După ce salvezi fișierul, rulează:

ifreload -a

Dacă preferi interfața web Proxmox, editările tale așteaptă în /etc/network/interfaces.new până când dai clic pe Apply Configuration.

Deschide consola din contul tău înainte de a schimba ceva. Aceasta ajunge la server prin placa sa de management, nu prin rețea, așa că funcționează chiar dacă o greșeală de tastare scoate serverul offline.

Ce configurare ar trebui să folosești?

Rețea în punte, rutată și privată pentru mașinile virtuale Proxmox, comparate
ÎntrebarePunteRutatăPrivată
Folosește unul dintre IP-urile tale publiceDaDaNu
Modificări pe gazdăNiciunaAdresa se mută pe placa de rețeaO a doua punte
Firewall-ul gazdei vede traficulNuTotTot
Accesibil de pe internetDaDaDoar porturile pe care le redirecționezi
DHCP permisNuNuDa
03

Punte: un IP public Proxmox direct în rețea

Cei mai mulți oameni ar trebui să aleagă această variantă. Mașina ta virtuală se comportă ca propriul computer pe același switch, vorbește direct cu routerele noastre și gazda nu are nevoie de nicio modificare.

În Proxmox, adaugă un dispozitiv de rețea la mașina virtuală, alege vmbr0 ca punte și păstrează adresa MAC generată de Proxmox. Apoi setează adresa în interiorul mașinii virtuale.

Debian sau Ubuntu cu ifupdown

/etc/network/interfaces

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 cu 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

Pune aceeași adresă, mască de rețea și gateway în setările IPv4 ale adaptorului de rețea. Sistemul de operare nu face nicio diferență pentru noi: mașina ta virtuală este încă un computer pe fir.

Nu trebuie să ne spui nimic

Nu există niciun formular de completat pentru fiecare mașină virtuală nouă și nu ne trimiți adrese MAC. Unii furnizori cer ambele. Noi am verificat din partea noastră înainte de a spune asta: portul de switch pe care îl folosește serverul tău nu are limită de adrese MAC, iar securitatea portului este dezactivată. Am pus și noi o a doua adresă și un MAC pe unul dintre serverele noastre și am ajuns la el de pe internet.

Câteva reguli îl mențin funcțional:

  • Dă fiecărei mașini virtuale propria adresă MAC. Dacă două împart una sau una copiază adresa gazdei, niciuna nu funcționează corect.
  • Folosește gateway-ul care corespunde intervalului adresei, de la pasul 01.
  • Folosește doar adrese care sunt în contul tău. Această punte se conectează la o rețea cu alți clienți pe ea, iar o adresă care nu este a ta le ia traficul.
  • Nu rula niciodată un server DHCP și nu trimite anunțuri de router pe vmbr0, din același motiv. Dacă vrei adresare automată, folosește puntea privată de la pasul 05.
04

Rutat: trimite fiecare mașină virtuală prin gazdă

Alege această variantă când vrei ca firewall-ul gazdei să vadă fiecare pachet sau când preferi ca mașinile tale virtuale să nu apară niciodată în rețeaua partajată. Ele folosesc în continuare IP-uri publice reale din contul tău. Doar calea se schimbă.

Adresa publică se mută de pe punte pe placa de rețea, gazda redirecționează traficul și răspunde pentru mașinile din spatele ei. Pe gazdă:

/etc/network/interfaces (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

Adaugă câte o linie up și una down pentru fiecare adresă pe care o rutezi. În interiorul mașinii virtuale, adresa este /32, iar gazda trebuie să fie accesibilă prin propria rută înainte de ruta implicită:

/etc/network/interfaces (virtual machine)

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

Păstrează linia proxy_arp. Routerele noastre întreabă rețeaua cine deține fiecare adresă, iar acea linie face gazda să răspundă pentru mașinile din spatele ei. Fără ea, acestea nu pot fi găsite. Pentru a face ambele setări permanente în stilul sysctl, pune asta într-un fișier sub /etc/sysctl.d/:

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

Munca suplimentară îți aduce o gazdă care poate filtra și înregistra tot traficul. Dacă nu ai nevoie de asta, configurarea în punte are mai puține părți mobile.

05

Privat: mașini virtuale care împart adresa gazdei

Multe mașini virtuale trebuie doar să iasă afară, niciodată să fie accesate: runner-e de build, workeri, o bază de date care ar trebui să rămână ascunsă. Dă-le adrese private pe o a doua punte, iar gazda traduce traficul lor către propriul IP public. Aceasta nu folosește niciuna dintre adresele tale, așa că poți rula câte permite hardware-ul.

Adaugă o a doua punte și lasă 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

Atașează mașinile virtuale la vmbr1 și dă fiecăreia o adresă din acel interval, cu 10.10.10.1 ca gateway. Internetul le vede ca pe serverul tău. Nimic nu poate ajunge la ele din exterior până când redirecționezi un port, ceea ce necesită încă o pereche de linii pe un port pe care gazda nu îl folosește:

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 vmbr1 nu are port fizic, un server DHCP pe ea este sigur și reprezintă o modalitate ușoară de a adresa multe mașini.

06

Adaugă-ți adresele IPv6

Primești adrese IPv6 individuale, nu un bloc de împărțit. Sunt listate la sfârșitul e-mailului de configurare și le plasezi una câte una, la fel ca pe IPv4: una pe gazdă dacă vrei ca gazda să fie accesibilă prin IPv6, celelalte pe mașinile virtuale care au nevoie de ele. Niciuna nu este configurată pentru tine la momentul instalării.

Scrie fiecare adresă cu /64. Gateway-ul este prefixul urmat de ::1, deci o adresă din 2001:db8:1234::/64 folosește 2001:db8:1234::1. Pe gazdă, lângă puntea existentă:

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

Într-o mașină virtuală pe punte:

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

Rulează din nou ifreload -a. Deoarece aceste adrese nu sunt un bloc propriu, nu anunța rute și nu distribui adrese pe care nu le-ai primit. Dacă ai nevoie de mai multe, întreabă-ne.

07

Setează DNS invers pe fiecare adresă

Poți seta singur DNS invers pe oricare dintre adresele tale. Conectează-te, deschide serverul și mergi la Access, Networking & rDNS. Fiecare adresă își arată numele curent cu un buton Edit rDNS lângă ea, iar adresele IPv6 funcționează la fel.

Introdu un nume de gazdă: litere, cifre, cratime și puncte, cel puțin două părți, fiecare de la 1 la 63 de caractere. Punctul final este adăugat pentru tine. Schimbarea durează câteva minute.

Dacă o mașină virtuală trimite e-mail, setează DNS invers pe adresa de pe care pleacă e-mailul. În configurarea privată, aceasta este adresa gazdei. Adaugă și înregistrarea directă corespunzătoare la furnizorul tău de DNS, deoarece serverele de e-mail destinatare verifică dacă ambele coincid și resping e-mailul când nu o fac.

08

Întrebări despre rețeaua Proxmox, cu răspunsuri

01Cum dau un IP public unei mașini virtuale Proxmox?

Atașează mașina virtuală la puntea vmbr0 și setează în interiorul ei unul dintre IP-urile publice suplimentare, cu masca de rețea /24 și .1 al intervalului acelei adrese ca gateway. Pe un server Primcast, gazda nu are nevoie de modificări pentru asta și nu trebuie să înregistrezi adresa MAC la noi.

02Mașina mea virtuală rulează, dar nu are rețea. Ce ar trebui să verific?

Începe cu gateway-ul: trebuie să fie .1 al intervalului căruia îi aparține adresa, iar adresele adăugate în momente diferite pot fi în intervale diferite. Apoi asigură-te că adresa este în contul tău, masca de rețea este /24 și nicio altă mașină nu folosește aceeași adresă MAC.

03Trebuie să trimit la Primcast adresa MAC a fiecărei mașini virtuale?

Nu. Portul tău de switch învață câte adrese MAC folosești, iar securitatea portului este dezactivată, așa că o mașină virtuală apare ca orice computer fizic. Păstrează adresa MAC generată de Proxmox și nu da niciodată la două mașini aceeași adresă.

04De ce este configurat un singur IP pe noul meu server Proxmox?

Ca mașinile tale virtuale să aibă adrese de folosit. Dacă gazda le-ar deține pe toate, ar răspunde pentru fiecare dintre ele. Configurăm prima adresă ca să poți accesa serverul, iar e-mailul de configurare notează acest lucru sub lista ta de adrese.

05Ar trebui să folosesc rețea în punte sau rutată în Proxmox?

Folosește puntea, cu excepția cazului în care ai nevoie ca gazda să filtreze traficul. Nu schimbă nimic pe gazdă, iar fiecare mașină virtuală se comportă ca un computer normal în rețea. Rutarea ți se potrivește când firewall-ul gazdei trebuie să vadă fiecare pachet, în schimbul unui pic mai multă configurare în fiecare mașină.

06Pot folosi DHCP pentru mașinile mele virtuale Proxmox?

Da, pe o punte privată fără port fizic, cum ar fi vmbr1 de la pasul 05. Niciodată pe vmbr0: aceasta se conectează la o rețea pe care o împart alți clienți, iar un server DHCP sau anunțuri de router acolo ar răspunde mașinilor care nu sunt ale tale.

07Am aplicat o configurare de rețea greșită și am pierdut serverul. Cum reintru?

Deschide consola din contul tău Primcast. Aceasta trece prin placa de management a serverului, nu prin rețeaua sa, așa că funcționează cât timp rețeaua este defectă. Repară /etc/network/interfaces, rulează ifreload -a, iar serverul este din nou accesibil.

08Cum obțin mai multe adrese IP pentru mașinile mele virtuale?

Întreabă pe chatul live sau deschide un tichet și spune-ne pentru ce este fiecare adresă, deoarece registrele de adrese cer un motiv pentru fiecare alocare. Adresele IPv4 suplimentare sunt facturate lunar pe același cont și apar în panoul tău de control odată ce sunt alocate.

Te-ai blocat la un pas? Întreabă-ne pe chat.

Asistentul nostru AI răspunde în câteva secunde și poate verifica serverul și adresele tale pentru tine. Cere o persoană oricând dorești.

Vezi serverele Proxmox