Lexoni një konfigurim WireGuard rresht për rresht, nga Interface në Peer
Çelësat e Interface i përkasin këtij skaji, çelësat e peer anës tjetër. Lexoni çdo rresht si një drejtim, më pas verifikoni çfarë shtoi wg-quick rreth protokollit.
Shumica e konfigurimeve të prishura të WireGuard nuk gabojnë në vlerë; ata vendosin vlerën e duhur në anën e gabuar. Një çelës privat i përket kësaj makine, një peer mban çelësin publik të makinës tjetër, dhe një adresë qëndron në bllokun interface edhe pse përshkruan ku jeton tuneli. Lexoni skedarin si dy drejtime që takohen, më pas kontrolloni çfarë shtoi skripti ndihmës sipër. Vetë protokolli ka më pak fusha se skedari, dhe ato shtesë ia vlen t'i njohësh veçmas.
Çelësat e interface përshkruajnë këtë makinë
Blloku interface mban identitetin e vet të këtij skaji. PrivateKey është ai identitet dhe nuk largohet kurrë nga hosti; çelësi publik përkatës nxirret prej tij dhe është ai që rendisin peer-t e tjerë. ListenPort është vendi ku kjo anë pranon shtrëngimet e duarve, prandaj dy klientë pas një adrese kanë nevojë për porta të ndryshme.
Address është adresa e tunelit ku përgjigjet ky host, e shkruar me gjatësi prefiksi sepse është edhe burimi që do të përdorë. Prefiksi i gabuar këtu ndryshon cilat destinacione hosti i mendon të lidhura drejtpërdrejt, dhe kjo prodhon defekte që duken si rrugëzim dhe jo si konfigurim.
Gjithçka tjetër në një [Interface] bllok me një klient të vërtetë zakonisht shtohet nga wg-quick: DNS, MTU, Table, dhe rreshtat e grepave. Këto nuk janë fusha protokolli, dhe një wg rregullim i thjeshtë i injoron plotësisht.
Çdo hyrje peer përshkruan një anë tjetër
Një [Peer] bllok është pala e largët. PublicKey është çelësi i nxjerrë i asaj pale, kurrë çelësi i tyre privat, dhe PresharedKey është një sekret shtesë opsional që të dyja palët duhet ta mbajnë identik. Endpoint është ku të dërgohet, dhe PersistentKeepalive i kërkon këtij hosti të dërgojë një paketë pas intervalit kur asgjë tjetër nuk del.
Dy gabime shpjegojnë pjesën më të madhe të konfuzionit këtu. Kopjimi i çelësit tuaj privat në një bllok peer bën që dy skajet të ndajnë një identitet, dhe shtrëngimi i duarve dështon në një mënyrë që regjistrohet keq. Endpoint lënia jashtë te një klient zakonisht është e qëllimshme, sepse serveri e mëson adresën nga shtrëngimi i duarve në hyrje; lënia jashtë te një server që duhet të nisë nuk është. Kujtoni gjithashtu se keepalive mban të hapur një hartë NAT, dhe nuk përmirëson xhiron as nuk zvogëlon vonesën, prandaj tridhjetë sekonda paketa shtesë nuk blejnë asgjë kur trafiku rrjedh tashmë.
AllowedIPs është rrugëzim, jo një listë lejesh
AllowedIPs është rrugëzimi me çelës kriptografik i WireGuard. Në dalje, vendos cili peer merr një paketë sipas destinacionit. Në hyrje, vendos nëse një paketë që vjen nga ai peer pranohet sipas burimit. E njëjta fushë bën të dyja punët, prandaj nuk është listë e kontrollit të aksesit dhe nuk është listë e faqeve të lejuara.
Një AllowedIPs i ngushtë në server për një klient do të thotë që serveri do të pranojë vetëm paketa që deklarojnë ato burime, dhe do të dërgojë vetëm ato destinacione te ai klient. Zgjero njërën anë pa zgjerojen tjetrën, dhe merr një tunel që ngrihet dhe nuk kalon asgjë.
Çfarë shton wg-quick rreth protokollit
wg-quick lexon të njëjtin skedar dhe kryen hapat e rrjetit që protokolli ia lë sistemit operativ. Cakton adresën e interface, shton rrugë të nxjerra nga AllowedIPs, shkruan cilësimet e zgjidhësit dhe ekzekuton komandat e grepave sipas radhës.
Ai shtresë shpjegon asimetrinë klasike. Një skedar me 0.0.0.0/0 dhe një rresht DNS i jep klientit një rrugë të paracaktuar dhe një zgjidhës, dhe nuk bën absolutisht asgjë për rregullat e përcjelljes ose NAT të serverit. Ato i përkasin konfigurimit të vetë serverit, dhe asnjë skedar klienti nuk mund t'i sigurojë.
Mbani një pronar të vetëm për skedarin. Redaktimi me dorë ndërsa SaveConfig është i aktivizuar do të thotë që redaktimi juaj zhduket herën tjetër kur interface zbret, dhe interface nuk do t'ju thotë se kjo ndodhi.
Kontrolloni gjendjen e aplikuar, jo skedarin
Skedari është një qëllim. Gjendja e aplikuar është ajo që mban kerneli, dhe ato ndryshojnë sa herë një ndihmës, një drop-in ose një grep redaktoi diçka pas aktivizimit.
Lexoni gjendjen e gjallë dhe adresimin së bashku, më pas krahasoni të dyja me atë që shkruat:
sudo wg show
ip -4 addr show dev wg0
ip -4 route show dev wg0
grep -v "^#" /etc/wireguard/wg0.confNëse lista e peer-ve është bosh, interface u krijua pa u aplikuar konfigurimi i tij. Nëse ekzistojnë adresa dhe rrugë por numëruesit mbeten në zero, skedari u ngarkua dhe shtrëngimi i duarve po dështon, që është problem çelësi ose skaji dhe jo i rendit të seksioneve. Krahasoni dy pamjet përpara redaktimit, sepse hendeku mes tyre është zakonisht defekti i vërtetë.