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ă.
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ță.
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.
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.
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.
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.
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.
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.
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ările pe care le generează de fapt această configurație.