WireGuard mewn LXC neu VM ar Proxmox: ble ddylai redeg?
Gall WireGuard redeg ar westeiwr Proxmox, mewn cynhwysydd neu mewn VM. Y ffactorau sy'n penderfynu yw pwy sy'n berchen ar y cnewyllyn, rheolaeth y rhyngwyneb a'r adferiad.
Mae WireGuard angen un cnewyllyn yn union i berchen ar ei ryngwyneb, ac mae'r ffaith honno'n datrys y rhan fwyaf o'r ddadl am leoliad ar Proxmox cyn i berfformiad hyd yn oed gyrraedd y sgwrs. Mae cynhwysydd LXC yn olwg gofod enw o gnewyllyn y gwesteiwr, tra bod VM yn cychwyn ei gnewyllyn ei hun. Felly'r cwestiwn defnyddiol yw nid pa ddewis sy'n ysgafnach, ond pa gnewyllyn rydych chi'n fodlon ei addasu a pha lwybr adfer y gallwch chi fyw ag ef. Atebwch hynny, ac mae'r dewis rhwng gwesteiwr, cynhwysydd neu VM fel arfer yn gwneud ei hun.
Mae gwestai LXC yn gweithio y tu mewn i gnewyllyn y gwesteiwr
Mae gosod wireguard-tools mewn cynhwysydd yn rhoi'r rhaglen reoli i chi, nid cnewyllyn preifat. Mae'r rhyngwyneb wg0 rydych chi'n ei greu yn cael ei gofrestru yng nghronfa rwydwaith y gwesteiwr ac yn ymddangos yng nghofnod modiwlau'r gwesteiwr. Dyna pam y gall cynhwysydd basio pob gwiriad pecyn ac eto fethu ar y gorchymyn wg cyntaf pan nad yw cnewyllyn y gwesteiwr yn cynnwys y modiwl. Ac mae cyfeirlyfr cynwysyddion Proxmox yn dogfennu'r model cnewyllyn a rennir hwnnw ynghyd â ffiniau'r gofod enw a'r breintiau rydych chi'n gweithio ynddynt.
Awdurdod yw'r ail gyfyngiad. Mae dod â rhyngwyneb i fyny a chysylltu cyfeiriadau ag ef angen hawliau gweinyddu rhwydwaith o fewn y gofod enw sy'n berchen arno, ac mae cynhwysydd heb fraint yn mapio'r hawliau hynny drwy ei ofod enw defnyddiwr yn hytrach na'u dal yn uniongyrchol. Peidiwch byth â chyrraedd am fraint lawn fel yr ateb cyntaf; edrychwch ar yr hyn sy'n cael ei ofyn go iawn gan y cynhwysydd, yna caniatáu hynny.
Mae cnewyllyn y gwesteiwr hefyd yn ddibyniaeth a rennir. Mae diweddariad cnewyllyn Proxmox yn newid gweithrediad WireGuard o dan bob cynhwysydd ar unwaith, sy'n gyfleus nes bod diweddariad a disgwyliadau cynhwysydd yn anghytuno.
Gwesteiwr, cynhwysydd, VM: beth mae pob lleoliad yn ei berchen go iawn
Mae lleoli ar y gwesteiwr yn rhoi'r VPN yng ngweithrediad rhwydwaith y hypervisor ei hun. Mae llwybrau, rheolau mur gwarchod a'r twnnel yn dod yn rhan o adferiad y gwesteiwr, ac mae camgymeriad yno yn gallu dwyn y rhyngwyneb rheoli gyda hi. Mae hynny'n dderbyniol ar gyfer llwybro seilwaith ar westeiwr y gallwch gyrraedd drwy gonsol, ac yn boenus ar flwch pell heb fynediad y tu allan i'r band.
Mae cynhwysydd yn cadw'r gwasanaeth yn becyn ac yn ailgychwynadwy tra'n benthyca cnewyllyn y gwesteiwr. Mae'n addas ar gyfer gwasanaeth cnewyllyn a rennir yn fwriadol ac yn rhoi uned fach i chi ei hailadeiladu. Nid yw'n rhoi cnewyllyn annibynnol i chi, felly mae unrhyw beth sy'n angen adeiladwaith modiwl penodol yn pwyntio oddi wrth y dewis hwn.
| 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 |
Mae VM yn costio mwy o gof a system arall i'w chlytio, ac yn gyfnewid mae'r twnnel yn cael ei gnewyllyn ei hun, ei dabl llwybro ei hun a ffin ciplun. Pan mai'r VPN yw'r peth rydych chi'n ei ollwng yn ôl ar ôl newid gwael, mae'r ciplun hwnnw'n werth y baich ychwanegol.
Tair amod sy'n dewis drosoch
Os oes angen fersiwn cnewyllyn neu nodwedd WireGuard ar y twnnel nad yw gwesteiwr Proxmox yn ei chynnig, stopiwch yma a defnyddiwch VM. Ni allwch osod cnewyllyn mwy newydd mewn cynhwysydd, ac ni ddylech ddisodli cnewyllyn y hypervisor i fodloni un gwestai.
Os mai'r twnnel yw porth y safle ar gyfer rhagddodiaid LAN go iawn, gofynnwch pwy sy'n berchen ar y llwybr dychwelyd yn barod. Gall cynhwysydd lwybro traffig, ond mae ei ryngwynebau'n eistedd yng nghronfa'r gwesteiwr, felly mae'r gwesteiwr yn y pen draw yn cario rhan o'r ffurfweddiad, p'un a wnaethoch chi gynllunio hynny ai peidio. Mae lleoli ar y gwesteiwr yn onest am hyn; mae lleoli mewn cynhwysydd yn aml heb fod.
Yna pwyso radiws effaith camgymeriad. Mae ailgychwyn cynhwysydd yn rhad, mae adfer ciplun VM yn rhagweladwy, ac gall atgyweirio rhwydwaith y gwesteiwr angen mynediad corfforol neu gonsol. Y dewis cywir yw'r un y gallwch chi adfer o'i achos gwaethaf go iawn yn yr awr y mae'n digwydd.
Anaml y mae pedwerydd cwestiwn yn benderfynol, ond mae'n werth ei ddweud: oes angen i unrhyw beth arall ar y gwesteiwr weld rhyngwyneb y twnnel? Os oes, mae lleoli ar y gwesteiwr neu mewn cynhwysydd yn cadw'r gwelededd hwnnw'n lleol, tra bod VM yn eich gorfodi i lwybro rhwng y gwestai a'r gwesteiwr.
Profwch y lleoliad cyn llwybro traffig drwyddo
Ar ôl gosod, cadarnhewch pa gnewyllyn sy'n gwasanaethu'r rhyngwyneb mewn gwirionedd ac a gafodd y cynhwysydd ddigon o awdurdod i'w gadw:
$ 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
Yna gwiriwch yr ochr anfon o'r gwesteiwr, oherwydd nid yw ysgydwad llaw ar ei ben ei hun yn profi dim ond bod y twnnel i fyny. Defnyddiwch ip route get ar gyfer cyfeiriad cleient a chadarnhau bod y naid nesaf a'r rhyngwyneb yn cyfateb i'r dyluniad, a bod y llwybr dychwelyd yn bodoli ar yr ochr bell.
Gadewch y defnydd gyda pherchennog ysgrifenedig: pa gnewyllyn sy'n cario'r gweithrediad, pa ofod enw sy'n dal y rhyngwyneb, a pha ragddodiaid y caiff y borth eu hanfon. Mae'r frawddeg honno'n atal mwy o ddigwyddiadau nag unrhyw gymhariaeth feincnod o'r tri lleoliad.