Privaat sleutel hier, publieke sleutel daar: WireGuard-sleutels
Jou private sleutel bly op jou toestel; die peer-inskrywing hou die ander kant se publieke sleutel. Deel net die publieke helfte, en gee elke toestel sy eie identiteit.
Die meeste selfgeboude WireGuard-foute kom daarop neer watter sleutel waar beland het. Die koppelvlak-afdeling dra die private sleutel van die toestel wat jy tans opstel, terwyl ’n peer-afdeling die publieke sleutel van die masjien aan die ander kant dra. Om daardie helftes te ruil, of die verkeerde een te plak, lewer ’n handshake wat nooit voltooi nie en ’n log wat nooit ’n sleutel noem nie. Werk die vier kontroles hieronder in volgorde deur voordat jy aan AllowedIPs of DNS raak.
Twee sleutels, twee rigtings
’n Private sleutel hoort aan presies een toestel en bly in daardie toestel se koppelvlak-afdeling. Sy publieke helfte is wat elke ander peer nodig het om die toestel te herken, en die gereedskap lei dit af eerder as om dit te versin. Op die bediener verskyn jou toestel se publieke sleutel as ’n peer-inskrywing; op jou toestel vervul die bediener se publieke sleutel daardie rol. Om ’n konfigurasie hardop in daardie terme te lees, vang die meeste verwarrings voordat dit ’n handshake bereik.
Die opdrag wg wys wat die plaaslike koppelvlak werklik gebruik, insluitend albei publieke sleutels. Dit is die vinnigste manier om ’n konfigurasiefout van ’n verbindingsfout te skei:
wg show
wg show interfaces
Die eerste uitset lys elke peer met sy publieke sleutel, die eindpunt wat hy laas gebruik het en die ouderdom van sy laaste handshake. ’n Handshake-ouderdom van nooit aan die een kant en ’n onlangse aan die ander kant dui op ’n sleutel wat net een kant aanvaar het. Die tweede opdrag noem die koppelvlakke wat jy verder kan ondersoek.
Wat om te deel en wat nooit gedeel moet word nie
’n Publieke sleutel is bedoel om oorhandig te word, hoewel dit steeds ’n toestelverhouding identifiseer, en daarom verskil dit om dit aan die administrateur wat dit gevra het te stuur van om dit te publiseer. ’n Private sleutel verlaat nooit die toestel wat dit gegenereer het nie. ’n Uitgevoerde profiel of ’n QR-kode bevat die hele konfigurasie insluitend daardie private sleutel, so nie een van die twee is veilig om rond te stuur nie, en om die teks in ’n beeld te versteek verander niks. Voorafgedeelde sleutels is opsioneel en ewe geheim, en albei kante moet dieselfde waarde dra, anders stop die handshake by daardie stadium.
Nog een onderskeid is die moeite werd om duidelik te stel: ’n eindpunt is ’n adres en ’n poort, nooit ’n sleutel nie. Om ’n publieke sleutel in die eindpuntveld te plak, of ’n adres in ’n sleutelveld, lewer ’n profiel wat ontleed en dan niks doen nie. Die gereedskap sal dit nie vang nie, want albei velde is net stringe. Die WireGuard-vinnigbegin wys die genereer-en-lei-pyplyn in een reël.
Een toestel, een peer-inskrywing
Waar die diens dit toelaat, moet elke toestel sy eie peer-identiteit dra. Om ’n skootrekenaar se volledige profiel op ’n selfoon te plak, verdoesel watter toestel daardie identiteit op die bediener hou en maak dit moeiliker om een verlore handsaak te herroep. As ’n private sleutel lek, verwyder die ou peer-magtiging op die bediener en voorsien ’n plaasvervanger. Om die plaaslike lêer te skrap, verwyder nie die bediener se inskrywing nie, en ’n nuwe kliëntsleutel help niemand voordat die bediener sy publieke helfte ken nie.
Hou die koppeling van toestel na publieke sleutel langs die adreslys. Daardie lys is wat ’n herroeping in ’n taak van twee minute verander eerder as ’n middag.
Wat steeds misluk ná die handshake
Sleutelpare identifiseer peers; hulle besluit nie oor netwerkgedrag nie. AllowedIPs verbind adresreekse met ’n peer, en die kliënt of opstelprogram bestuur die roetes daaromheen. Die simptoom sê gewoonlik watter laag volgende oopgemaak moet word:
| What you see | Which key problem it usually means | Where to look first |
|---|---|---|
| Handshake age stays at never on both ends | Peer public key missing, or an endpoint pointing at nothing | wg show, then the endpoint value |
| Handshake completes on one side only | The two ends hold different public keys for each other | wg show on both hosts |
| Handshake works, then no traffic | AllowedIPs or routes rather than keys | wg show and the route table |
| Worked until a key was regenerated | The peer entry still holds the old public key | Compare both public keys, then update the peer |
DNS kan misluk nadat albei peers korrek authentiseer het, en ’n toepassing kan misluk terwyl die tonnel self gesond is, so ’n werkende handshake is nie die einde van die diagnose nie. Sleutels sê ook niks oor ’n operateur se logpraktyk of oor of ’n webwerf jou rekening herken nie, en daardie vrae hoort elders. Skuif na die netwerklaag sodra die vier kontroles slaag, want ’n ontbrekende sleutel is nie ’n roeteringsprobleem in vermomming nie.