పునఃప్రారంభం తర్వాత WireGuard పీర్ మాయమవుతుంది: నిజమైన కాన్ఫిగరేషన్ కనుగొనండి
wg set తో జోడించిన పీర్ తదుపరి పునఃప్రారంభం వరకు పనిచేస్తుంది, ఎందుకంటే మీరు ఎప్పుడూ సవరించని ఫైల్ లేదా ప్రొఫైల్ నుండి ఇంటర్ఫేస్ మళ్లీ నిర్మించబడుతుంది. మొదట యజమానిని కనుగొనండి.
wg set తో మీరు జోడించిన పీర్ మధ్యాహ్నం మొత్తం ping కి స్పందిస్తుంది మరియు రీబూట్ తర్వాత మాయమవుతుంది. ఏదీ పాడవలేదు: కర్నెల్ ఆ పీర్ను ప్రత్యక్ష ఇంటర్ఫేస్ తప్ప మరెక్కడా నిల్వ చేయలేదు, మరియు బూట్ సమయంలో ఇంటర్ఫేస్ను మళ్లీ సృష్టించేది మీరు తాకని ఫైల్ నుండే దాన్ని నిర్మించింది. మరమ్మత్తు మరో wg set కాదు. ఏ భాగం ఇంటర్ఫేస్కు యజమాని అని కనుగొనడం, ఆ భాగం స్థితిని సవరించడం, ఆపై దాన్ని తీసివేసిన అదే జీవితచక్ర సంఘటన నుండి పీర్ బయటపడుతుందని నిరూపించడం.
ఒకసారి ఉద్దేశపూర్వకంగా పునరుత్పత్తి చేయండి
పునఃప్రారంభ సమస్యను మీ కళ్లారా చూసే వరకు సరిచేయవద్దు. కన్సోల్ లేదా అవుట్-ఆఫ్-బ్యాండ్ యాక్సెస్ ఉంటే పీర్ల జాబితాను రాసుకోండి, ఇంటర్ఫేస్ యజమాని అయిన సేవ ద్వారా పునఃప్రారంభించి, పోల్చండి. పీర్ ఇంకా ఉంటే, మీ మార్పు ఇప్పటికే శాశ్వత స్థితిని చేరింది మరియు మీరు తప్పు సంఘటనను డీబగ్ చేస్తున్నారు.
ఇలా చేస్తున్నప్పుడు మూడు వాస్తవాలను రాయండి: ఇంటర్ఫేస్ పేరు, దాన్ని ప్రారంభించిన యూనిట్ లేదా ప్రొఫైల్, మరియు మిగిలిన పీర్పై హ్యాండ్షేక్ కౌంటర్ రీసెట్ అయిందా అనేది. రీసెట్ అయిన కౌంటర్ అంటే ఇంటర్ఫేస్ నాశనమై మళ్లీ సృష్టించబడింది; కౌంటర్ మారకుండా పీర్ మాయమైతే ఎవరో మీ కాళ్ల కింద కాన్ఫిగరేషన్ను సవరించారు.
ఇంటర్ఫేస్కు యజమాని ఎవరు?
WireGuard కే డీమన్ లేదు, కాన్ఫిగరేషన్ ఫైల్ లేదు. దాని పైన ఏదో ఒకటి బూట్ సమయంలో wg ను పిలుస్తుంది, అదే సత్యానికి మూలం. సాధారణ అభ్యర్థులు [email protected], NetworkManager కనెక్షన్ ప్రొఫైల్, పంపిణీకి ప్రత్యేకమైన నెట్వర్క్ యూనిట్, లేదా తన స్వంత డేటాబేస్ రాసే నిర్వహణ ప్యానెల్.
మీ పంపిణీ పత్రాలను కాదు, సిస్టమ్నే అడగండి. systemctl status wg-quick@wg0 మరియు nmcli connection show సాధారణంగా ఒక్కో ఆదేశంతో దీన్ని తీర్చుతాయి. రెండూ ఇంటర్ఫేస్పై హక్కు చెప్పుకుంటే, ఏదీ సవరించకముందే మీరు బగ్ను కనుగొన్నారు: ఇద్దరు యజమానులు ప్రతి ప్రారంభంలో అదే పరికరాన్ని మళ్లీ రాస్తారు, చివరగా నడిచేది గెలుస్తుంది.
systemctl status wg-quick@wg0 --no-pager
grep -R "Address\|SaveConfig\|PostUp" /etc/wireguard/wg0.conf
nmcli -g NAME,TYPE connection show
wg show wg0 peersరన్టైమ్ స్థితి మరియు స్టార్టప్ స్థితి ఒకే ఫైల్ కాదు
wg set ప్రత్యక్ష పరికరాన్ని netlink ద్వారా నిర్వహిస్తుంది. ఇది /etc/wireguard/wg0.conf, NetworkManager ప్రొఫైల్ లేదా ప్యానెల్ డేటాబేస్ను రాయదు. తర్వాతి విజయవంతమైన wg show కర్నెల్ పీర్ను అంగీకరించిందని నిరూపిస్తుంది, ఏదో దాన్ని పునరుద్ధరిస్తుందని కాదు.
వ్యతిరేక దిశలో రెండవ ఉచ్చు ఉంది. ఇంటర్ఫేస్ దించేటప్పుడు wg-quick యొక్క SaveConfig ఎంపిక ప్రస్తుత ఇంటర్ఫేస్ స్థితిని తిరిగి కాన్ఫిగరేషన్ ఫైల్లో రాస్తుంది. అది ఆన్లో ఉంటే, ఇంటర్ఫేస్ పైన ఉన్నప్పుడు ఫైల్లో చేసిన సవరణ తర్వాతి ఆఫ్ కావడంతో పైన రాయబడవచ్చు, ఆ లైన్ అక్కడ ఉండేదని మీరు ప్రమాణం చేస్తారు. పీర్ పదేపదే తిరిగి వస్తుంటే, ఫైల్ను ఆపిన తర్వాత చదవండి, ముందు కాదు.
NetworkManager మళ్లీ భిన్నంగా ప్రవర్తిస్తుంది: ప్రొఫైల్ దానిదే మరియు యాక్టివేషన్ సమయంలో దాన్ని వర్తింపజేస్తుంది, కాబట్టి సక్రియ NetworkManager కనెక్షన్ పక్కన చేతితో సవరించిన .conf కేవలం అలంకారం. ఇంటర్ఫేస్కు ఒకే యజమానిని ఎంచుకోండి మరియు మరో మేనేజర్ దాన్ని వదిలేయనివ్వండి.
సవరణ రెండు చోట్లా చేరేలా చేయండి
ముందు శాశ్వత స్థితిని సవరించండి, తర్వాత యజమాని దాన్ని వర్తింపజేయనివ్వండి, చివరగా ప్రత్యక్ష స్థితిని ధృవీకరించండి. ఆ క్రమం అంటే ఏ దశలోనైనా వైఫల్యం మూడు కాదు, ఒక విషయాన్ని సూచిస్తుంది.
# 1. persistent state (wg-quick owner)
sudo vi /etc/wireguard/wg0.conf
# 2. apply through the owner, not by hand
sudo systemctl restart wg-quick@wg0
# 3. verify runtime matches the file
sudo wg show wg0
sudo wg showconf wg0wg showconf ప్రత్యక్ష కాన్ఫిగరేషన్ను ఫైల్ ఉపయోగించే అదే సింటాక్స్లో ముద్రిస్తుంది, ఇది రెండింటినీ నేరుగా పోల్చడానికి వీలు కల్పిస్తుంది. ఆ అవుట్పుట్ను రహస్యంగా పరిగణించండి: అందులో ప్రైవేట్ కీలు ఉన్నాయి, కాబట్టి దాన్ని టికెట్ లేదా చాట్ ఛానెల్లో అతికించవద్దు. పీర్ల పబ్లిక్ కీలు మరియు అనుమతించిన IPలను పోల్చి, ఉద్దేశపూర్వకంగా తీసిన పీర్ తిరిగి రాలేదని నిర్ధారించుకోండి.
అది జీవితచక్ర సంఘటన నుండి బయటపడుతుందని నిరూపించండి
యజమాని ద్వారా రెండవసారి పునఃప్రారంభించి, తర్వాత మూడు వేర్వేరు విషయాలను నిర్ధారించండి: పీర్ wg show లో కనిపిస్తుంది, ట్రాఫిక్ తర్వాత హ్యాండ్షేక్ కౌంటర్ పెరుగుతుంది, మరియు టన్నెల్పై ఆధారపడిన అప్లికేషన్ నిజంగా స్పందిస్తుంది. పాత హ్యాండ్షేక్తో జాబితా చేయబడిన పీర్ అంటే రౌటింగ్ లేదా కీ సమస్య, స్థిరత్వ సమస్య కాదు, ఆ భేదం ఒక వ్యర్థ కాన్ఫిగరేషన్ సవరణను ఆదా చేస్తుంది.
చివరగా, పునఃప్రారంభం ఏమి పునరుద్ధరించిందో చూడండి. ఉద్దేశపూర్వకంగా తీసిన పీర్ను తిరిగి బ్రతికించే పునఃప్రారంభం అదే బగ్ వ్యతిరేక గుర్తుతో, మరియు సాధారణంగా కాన్ఫిగరేషన్ యొక్క పాత ప్రతి ఇంకా ఎక్కడినుండో లోడ్ అవుతోందని అర్థం. యజమాని, ఫైల్ మార్గం, పీర్ పబ్లిక్ కీ మరియు ధృవీకరణ ఆదేశాలను కాన్ఫిగరేషన్ పక్కన నమోదు చేయండి, తదుపరి వ్యక్తి ప్రొడక్షన్ హోస్ట్ను పునఃప్రారంభించి దీన్ని మళ్లీ కనుగొనకుండా.