Proxmox లో LXC లేదా VM లో WireGuard: అది ఎక్కడ నడవాలి?
WireGuard Proxmox హోస్ట్లో, కంటైనర్లో లేదా VM లో నడవగలదు. నిర్ణాయక అంశాలు కెర్నెల్ యాజమాన్యం, ఇంటర్ఫేస్ నియంత్రణ మరియు పునరుద్ధరణ.
WireGuard తన ఇంటర్ఫేస్కు యజమాని అయిన సరిగ్గా ఒక కెర్నెల్ అవసరం, మరియు ఈ వాస్తవం పనితీరు చర్చలోకి రాకముందే Proxmox స్థాన నిర్ణయ చర్చలో ఎక్కువ భాగాన్ని పరిష్కరిస్తుంది. LXC కంటైనర్ అనేది హోస్ట్ కెర్నెల్ యొక్క నేమ్స్పేస్ వీక్షణ, VM తన స్వంత కెర్నెల్ను బూట్ చేస్తుంది. కాబట్టి ఉపయోగకరమైన ప్రశ్న ఏ ఎంపిక తేలిక అనేది కాదు, మీరు ఏ కెర్నెల్ను మార్చడానికి సిద్ధంగా ఉన్నారు మరియు ఏ పునరుద్ధరణ మార్గంతో జీవించగలరు అనేది. దానికి సమాధానం చెప్పండి, హోస్ట్, కంటైనర్ లేదా VM ఎంపిక సాధారణంగా తనంతట తానే జరుగుతుంది.
LXC అతిథి హోస్ట్ కెర్నెల్ లోపల పని చేస్తుంది
కంటైనర్ లోపల wireguard-tools ఇన్స్టాల్ చేస్తే నియంత్రణ ప్రోగ్రామ్ లభిస్తుంది, ప్రైవేట్ కెర్నెల్ కాదు. మీరు సృష్టించే wg0 ఇంటర్ఫేస్ హోస్ట్ నెట్వర్క్ స్టాక్లో నమోదు అవుతుంది మరియు హోస్ట్ మాడ్యూల్ జాబితాలో కనిపిస్తుంది. అందుకే కంటైనర్ అన్ని ప్యాకేజీ తనిఖీలను పాస్ అయి, హోస్ట్ కెర్నెల్లో మాడ్యూల్ లేనప్పుడు మొదటి wg ఆదేశంలో విఫలం కావచ్చు. మరియు Proxmox కంటైనర్ సూచన ఆ పంచుకున్న కెర్నెల్ నమూనాను, మీరు పని చేసే నేమ్స్పేస్ మరియు ప్రత్యేక హక్కుల పరిమితులతో పాటు నమోదు చేస్తుంది.
అధికారం రెండవ పరిమితి. ఇంటర్ఫేస్ను పైకి లేపి దానికి చిరునామాలు జోడించడానికి దానిని కలిగి ఉన్న నేమ్స్పేస్ లోపల నెట్వర్క్ నిర్వహణ హక్కులు అవసరం, మరియు ప్రత్యేక హక్కులు లేని కంటైనర్ ఆ హక్కులను నేరుగా ఉంచుకోకుండా తన వినియోగదారు నేమ్స్పేస్ ద్వారా మ్యాప్ చేస్తుంది. మొదటి సమాధానంగా ఎప్పుడూ పూర్తి ప్రత్యేక హక్కుల వైపు వెళ్లకండి; కంటైనర్ నుండి నిజంగా ఏమి అడుగుతున్నారో చూసి, ఆ తర్వాత అది ఇవ్వండి.
హోస్ట్ కెర్నెల్ కూడా పంచుకున్న ఆధారం. Proxmox కెర్నెల్ నవీకరణ ప్రతి కంటైనర్ కింద WireGuard అమలును ఒకేసారి మారుస్తుంది, ఇది నవీకరణ మరియు కంటైనర్ ఆశలు ఏకీభవించనంత వరకు సౌకర్యంగా ఉంటుంది.
హోస్ట్, కంటైనర్, VM: ప్రతి స్థానం నిజంగా ఏమి కలిగి ఉంది
హోస్ట్లో స్థానం VPN ను హైపర్వైజర్ స్వంత నెట్వర్క్లో ఉంచుతుంది. మార్గాలు, ఫైర్వాల్ నియమాలు మరియు సొరంగం హోస్ట్ పునరుద్ధరణలో భాగమవుతాయి, అక్కడి తప్పు నిర్వహణ ఇంటర్ఫేస్ను కూడా తీసుకుపోవచ్చు. కన్సోల్ ద్వారా చేరుకోగల హోస్ట్లో మౌలిక సదుపాయాల మార్గనిర్దేశానికి ఇది ఆమోదయోగ్యం, బ్యాండ్ వెలుపల ప్రాప్యత లేని దూర మెషీన్లో బాధాకరం.
కంటైనర్ సేవను ప్యాకేజ్ చేసి పునఃప్రారంభించగలిగేలా ఉంచుతుంది, అయినా హోస్ట్ కెర్నెల్ను అప్పు తీసుకుంటుంది. ఉద్దేశపూర్వకంగా పంచుకున్న కెర్నెల్ సేవకు ఇది సరిపోతుంది మరియు పునర్నిర్మాణానికి చిన్న యూనిట్ ఇస్తుంది. ఇది స్వతంత్ర కెర్నెల్ ఇవ్వదు, కాబట్టి నిర్దిష్ట మాడ్యూల్ బిల్డ్ అవసరమయ్యే ఏదైనా ఈ ఎంపిక నుండి దూరంగా సూచిస్తుంది.
| Placement | Kernel owner | Typical failure mode |
|---|---|---|
| Proxmox host | Hypervisor | A routing change breaks host management access |
| LXC container | Host kernel, container namespace | Missing capability or missing module at wg0 creation |
| Virtual machine | Guest kernel | Extra maintenance and a second patch cycle |
VM ఎక్కువ మెమరీ మరియు ప్యాచ్ చేయవలసిన మరో వ్యవస్థను ఖర్చు చేస్తుంది, బదులుగా సొరంగం తన స్వంత కెర్నెల్, తన స్వంత మార్గనిర్దేశ పట్టిక మరియు స్నాప్షాట్ సరిహద్దును పొందుతుంది. చెడ్డ మార్పు తర్వాత మీరు వెనక్కి తిప్పేది VPN అయితే, ఆ స్నాప్షాట్ అదనపు భారానికి తగినది.
మీ తరఫున ఎంచుకునే మూడు షరతులు
సొరంగానికి Proxmox హోస్ట్ అందించని కెర్నెల్ సంస్కరణ లేదా WireGuard లక్షణం అవసరమైతే, ఇక్కడ ఆపి VM ఉపయోగించండి. కంటైనర్లో కొత్త కెర్నెల్ ఇన్స్టాల్ చేయలేము, మరియు ఒక అతిథిని సంతృప్తిపరచడానికి హైపర్వైజర్ కెర్నెల్ను మార్చకూడదు.
సొరంగం నిజమైన LAN ప్రిఫిక్స్ల కోసం సైట్ గేట్వే అయితే, తిరుగు మార్గం ఇప్పటికే ఎవరి స్వంతమో అడగండి. కంటైనర్ ట్రాఫిక్ను మార్గనిర్దేశం చేయగలదు, కానీ దాని ఇంటర్ఫేస్లు హోస్ట్ స్టాక్లో కూర్చుంటాయి, కాబట్టి హోస్ట్ చివరికి కాన్ఫిగరేషన్లో కొంత భాగాన్ని మోస్తుంది, మీరు ప్రణాళిక వేసినా వేయకపోయినా. హోస్ట్లో స్థానం ఇందులో నిజాయితీగా ఉంటుంది; కంటైనర్లో స్థానం చాలాసార్లు ఉండదు.
తర్వాత ఒక తప్పు ప్రభావ పరిధిని తూకం వేయండి. కంటైనర్ను పునఃప్రారంభించడం చవక, VM స్నాప్షాట్ను పునరుద్ధరించడం ఊహించదగినది, మరియు హోస్ట్ నెట్వర్కింగ్ను సరిచేయడానికి భౌతిక లేదా కన్సోల్ ప్రాప్యత అవసరం కావచ్చు. సరైన ఎంపిక అది జరిగిన అదే గంటలో దాని చెత్త సందర్భం నుండి మీరు నిజంగా పునరుద్ధరించగలిగేది.
నాల్గవ ప్రశ్న అరుదుగా నిర్ణాయకం, కానీ చెప్పదగినది: హోస్ట్లో మరేదైనా సొరంగ ఇంటర్ఫేస్ను చూడాల్సిన అవసరం ఉందా? ఉంటే, హోస్ట్లో లేదా కంటైనర్లో స్థానం ఆ దృశ్యతను స్థానికంగా ఉంచుతుంది, అయితే VM అతిథి మరియు హోస్ట్ మధ్య మార్గనిర్దేశం చేయమని బలవంతం చేస్తుంది.
ట్రాఫిక్ను దాని ద్వారా పంపే ముందు స్థానాన్ని నిరూపించండి
ఇన్స్టాల్ అయిన తర్వాత, నిజంగా ఏ కెర్నెల్ ఇంటర్ఫేస్కు సేవ చేస్తోంది మరియు దానిని ఉంచుకోవడానికి కంటైనర్కు తగినంత అధికారం ఇచ్చారా అని నిర్ధారించండి:
$ pct config 101 | grep -E 'unprivileged|features'
unprivileged: 1
$ pct exec 101 -- wg show
interface: wg0
listening port: 51820
$ pct exec 101 -- ip -4 addr show wg0
inet 10.60.0.2/24 scope global wg0
తర్వాత హోస్ట్ నుండి ఫార్వార్డింగ్ వైపు తనిఖీ చేయండి, ఎందుకంటే చేతులు కలపడం మాత్రమే సొరంగం పైన ఉందని నిరూపిస్తుంది. క్లయింట్ చిరునామా కోసం ip route get ఉపయోగించి, తదుపరి దశ మరియు ఇంటర్ఫేస్ డిజైన్కు సరిపోతాయని, మరియు దూరపు వైపు తిరుగు మార్గం ఉందని నిర్ధారించండి.
అమలును వ్రాతపూర్వక యజమానితో వదిలేయండి: ఏ కెర్నెల్ అమలును మోస్తుంది, ఏ నేమ్స్పేస్ ఇంటర్ఫేస్ను ఉంచుతుంది, గేట్వే ఏ ప్రిఫిక్స్లను పంపడానికి అనుమతించబడింది. ఆ ఒక వాక్యం మూడు స్థానాల ఏ బెంచ్మార్క్ పోలిక కంటే ఎక్కువ సంఘటనలను నిరోధిస్తుంది.