wg-quick இடைமுகத்தை நிறுத்தும்போது wg0.conf ஐ மீண்டும் எழுதுவது ஏன்
SaveConfig என்பது அணைக்கும்போது சேமிப்பது, பின்னணி ஒத்திசைவு அல்ல. சுரங்கப்பாதை இயங்கும்போது கோப்பைத் திருத்துங்கள், மறுதொடக்கம் பழைய நிலையை அதன் மேல் எழுதலாம்.
நீங்கள் /etc/wireguard/wg0.conf இல் ஒரு peer சேர்க்கிறீர்கள், systemctl restart wg-quick@wg0 இயக்குகிறீர்கள், மீண்டும் பார்க்கும்போது peer கோப்பிலிருந்து மறைந்துவிட்டது. எதுவும் எதையும் சிதைக்கவில்லை. மறுதொடக்கம் என்பது நிறுத்தத்தைத் தொடர்ந்து வரும் தொடக்கம், மேலும் நிறுத்தும் படி நீங்கள் இப்போது திருத்திய கோப்பின் மேல் தற்போதைய இயக்க நிலையை எழுதலாம். பொறுப்பான அமைப்பு நீங்கள் திருத்திய அதே கோப்பிலேயே உள்ளது, அதுவே இந்த சுழற்சியை முதல் முறையாக எதிர்கொள்ளும்போது மிகவும் குழப்பமாக்குகிறது.
இரண்டு நிலைகள், ஒரு கோப்பு மற்றும் அணைக்கும்போது சேமிப்பு
WireGuard இன் இயக்க நிலையும் wg-quick உள்ளமைவுக் கோப்பும் தொடர்புடையவை ஆனால் வேறுபட்டவை. கோப்பு உள்ளீடு: wg-quick அதைப் படித்து, இடைமுகத்தை உருவாக்கி, முகவரிகள் மற்றும் பாதைகளை அமைத்து peerகளை உள்ளமைக்கிறது. கர்னல் சாதனம் உயிருள்ள பொருள், wg மூலம் செய்யப்பட்ட தாழ்நிலை மாற்றங்கள் ஒருபோதும் தாமாகவே மீண்டும் எழுதப்படுவதில்லை.
ஒரு திசையைத் தவிர. இடைமுகப் பிரிவில் SaveConfig = true இருந்தால், wg-quick இடைமுகத்தைக் கீழிறக்குவதன் ஒரு பகுதியாக உயிருள்ள உள்ளமைவைக் கோப்பில் சேமிக்கிறது. wg-quick கையேடு இதைப் பற்றியே எச்சரிக்கிறது: இடைமுகம் இயங்கும்போது கோப்பில் செய்யப்படும் மாற்றங்கள் அது அகற்றப்படும்போது மேலெழுதப்படலாம். இது அணைக்கும்போது சேமிப்பது, பின்னணி நேரங்காட்டி அல்ல, எனவே ஏதாவது இடைமுகத்தை நிறுத்தும்போது மட்டுமே இது இயங்குகிறது.
| Action | What it writes | When it surprises you |
|---|---|---|
wg set on a live interface | Kernel state only | After reboot, when the file was never updated |
wg-quick down with SaveConfig | Live state into the file | Right after you edited the file |
wg syncconf | Kernel state only | Never; it does not touch the file |
wg-quick up | Kernel state from the file | If the file is stale, you get the old tunnel |
அட்டவணையை வரிசை பற்றிய எச்சரிக்கையாகப் படியுங்கள். இந்தப் பகுதியில் ஒவ்வொரு தற்செயலான இழப்பும் சேமிப்புக்குப் பிறகு அல்ல, அதற்கு முன் நிகழ்ந்த திருத்தத்திலிருந்து வருகிறது.
முதலில் நிறுத்துங்கள், இரண்டாவதாகத் திருத்துங்கள், இறுதியில் தொடங்குங்கள்
கோப்பு உங்கள் உண்மையின் ஆதாரமாக இருந்தால், நம்பிக்கையால் அல்ல, கட்டமைப்பால் கோப்பை அதிகாரமுள்ளதாக்குங்கள். இடைமுகத்தைக் கீழிறக்கி, அது போய்விட்டதை உறுதிசெய்து, பிறகு திருத்தி, பிறகு மீண்டும் மேலேற்றுங்கள். விதி எளிது: சேமிப்பு இன்னும் இயங்கக்கூடிய வரை எந்தத் திருத்தமும் இருக்கக்கூடாது.
sudo cp -a /etc/wireguard/wg0.conf /root/wg0.conf.$(date +%F-%H%M)
sudo wg-quick down wg0
ls /sys/class/net/wg0 2>/dev/null || echo "interface is gone"
sudoedit /etc/wireguard/wg0.conf
sudo wg-quick up wg0
காப்பு வரி வெறும் சடங்கு அல்ல. சுரங்கப்பாதையே இந்த இயந்திரத்தை அடையும் உங்கள் வழியாக இருந்தால், கீழிறக்கும் படி உங்கள் அமர்வை முடிக்கலாம், மேலும் வட்டில் ஒரு நகல் மற்றும் ஒரு பணியகம் அல்லது பட்டைக்கு வெளியேயான பாதை மட்டுமே செயல்படும் திரும்பப்பெறுதல். அந்த இரண்டாவது வரியை நம்புவதற்கு முன் சரிபாருங்கள்: அமைதியாகத் தோல்வியடையும் ஸ்கிரிப்டில் பழைய இடைமுகப் பெயரே மக்கள் இன்னும் உயிருடன் இருக்கும் கோப்பைத் திருத்தும் வழி.
சாதாரணக் கீழிறக்கத்திற்கு முன் SaveConfig = false அமைப்பது மற்ற ஏற்கத்தக்க வழி, அது wg-quick உண்மையில் படிக்கும் கோப்பிலேயே செய்யப்பட வேண்டும். அது அந்த ஒரு தானியங்கி சேமிப்பைத் தடுக்கிறது. அது தனி NetworkManager சுயவிவரம், ரவுட்டர் ஏற்றுமதி அல்லது கொள்கலன் நுழைவுப்புள்ளி உங்கள் திருத்தங்களை மீண்டும் ஏற்றச் செய்யாது, ஏனெனில் அந்த நிர்வாகிகள் இந்தக் கோப்பை அறவே படிக்காது.
இடைமுகத்தைக் கிழிக்காமல் peer மாற்றங்களைப் பயன்படுத்துங்கள்
ஒவ்வொரு திருத்தத்திற்கும் இடைநிறுத்தம் தேவையில்லை. கோப்பை உள்ளமைவாக மாற்றி ஒத்திசைப்பதன் மூலம் இயங்கும் இடைமுகத்தில் peer அளவிலான மாற்றங்களைப் பயன்படுத்தலாம், இது கீழிறக்கும் படியை முற்றிலும் தவிர்க்கிறது, அதனால் சேமிப்பையும் தவிர்க்கிறது:
sudo wg syncconf wg0 <(sudo wg-quick strip wg0)
sudo wg show wg0 peers
sudo wg show wg0 latest-handshakes
strip படி முக்கியம். wg-quick க்கு மட்டும் உரிய விசைகளை நீக்கி அது கோப்பை அச்சிடுகிறது, எனவே முகவரிகள், DNS மற்றும் வழிப்பாதை அறிவுறுத்தல்கள் அவற்றைப் புரிந்துகொள்ளாத கருவிக்குச் செல்லாது. பிறகு ஒத்திசைவு இடைமுகத்தை மீண்டும் உருவாக்காமல் peerகளையும் விசைகளையும் உயிருள்ள சாதனத்தில் பயன்படுத்துகிறது, எனவே ஏற்கனவே உள்ள அமர்வுகளும் பாதைகளும் தாக்குப்பிடிக்கின்றன.
வரம்புகளைப் பற்றி துல்லியமாக இருங்கள். peerகளை ஒத்திசைப்பது இடைமுக முகவரியையோ, wg-quick சேர்த்த பாதைகளையோ அல்லது தீர்வியின் உள்ளமைவையோ மாற்றாது, ஏனெனில் அவை எதுவும் WireGuard சாதனத்துக்கு உரியவை அல்ல. AllowedIPs இல் ஒரு துணைவலையம் சேர்த்து கர்னல் அதை வழிப்பாதையாக்கும் என எதிர்பார்ப்பது வழக்கமான தவறான வாசிப்பு; பாதை மேலேற்றும்போது wg-quick ஆல் அல்லது நீங்களே சேர்க்கப்பட வேண்டும்.
எதையும் திருத்தும் முன் இடைமுகம் யாருக்குச் சொந்தம் என்பதைச் சரிபாருங்கள்
உள்ளமைவு அமைப்பால் நிர்வகிக்கப்படும் கணினி அல்லது சேவையகத்தில், கோப்பு உள்ளீடாக அல்லாமல் வெளியீடாக இருக்கலாம். NetworkManager இணைப்பு, ரவுட்டர் உருவாக்கிய சுயவிவரம் அல்லது கொள்கலன் தொடக்க ஸ்கிரிப்ட் அனைத்தும் ஒரே இடைமுகப் பெயரைக் கொண்டிருக்கலாம், அந்த நிலையில் குறையற்ற wg-quick வரிசையும் தவறான பொருளையே திருத்துகிறது.
systemctl status wg-quick@wg0 --no-pager
nmcli connection show | grep -i wireguard
sudo wg showconf wg0 | head -n 5
மூன்றாவது கட்டளை உயிருள்ள உள்ளமைவைக் கோப்பின் அதே வடிவத்தில், தனிப்பட்ட விசையுடன் அச்சிடுகிறது, இது ஒப்பிடுவதற்குப் பயனுள்ளது மற்றும் டிக்கெட்டில் ஆபத்தானது. ஒட்டுவதற்கு முன் அதை மறைக்கவும்; ஆதரவு இழையில் தனிப்பட்ட விசை நிரந்தர சமரசம், எழுத்துப்பிழை அல்ல.
சேவை அலகு செயலற்றதாக இருந்தாலும் இடைமுகம் இருந்தால், வேறு ஏதோ அதை உருவாக்கியுள்ளது, கோப்பு அதிகாரமுள்ளதல்ல. அந்த ஒரு கவனிப்பு எதுவும் படிக்காத கோப்பைத் திருத்தும் ஒரு மணிநேரத்தைச் சேமிக்கிறது.
அடுத்த மறுதொடக்கத்தைச் சரிபார்த்து, பிறகு திரும்பப்பெறுதலை வைத்திருங்கள்
சரிசெய்தலை உண்மையில் நிரூபிக்கும் சோதனை இரண்டாவது மறுதொடக்கம், ஏனெனில் முதல் முறை தோல்வியடைந்தது அந்த வரிசையே. peer அதிலிருந்து தப்பிப்பிழைப்பதையும், உயிருள்ள உள்ளமைவு இன்னும் வட்டில் உள்ளதுடன் பொருந்துவதையும் உறுதிசெய்யுங்கள்:
sudo systemctl restart wg-quick@wg0
sudo wg show wg0 latest-handshakes
sudo grep -c '^\[Peer\]' /etc/wireguard/wg0.conf
மறுதொடக்கத்தை இரண்டு முறை இயக்குங்கள். ஒரு முறை தூய்மையாகக் கடப்பது அதிர்ஷ்டமாக இருக்கலாம்: முதல் மறுதொடக்கம் இன்னும் சேமிக்கப்படாத இயக்க மாற்றத்தை உட்கொள்ளலாம், எனவே இரண்டாவது முதல் முடிவில் கோப்பும் இயக்கமும் உடன்பட்டதை உங்களுக்குச் சொல்வது.
செயல்முறையின் தொடக்கத்திலிருந்து இரட்டை மறுதொடக்கம் முடியும் வரை காப்பை வைத்திருந்து, பிறகு அதை நீக்குங்கள் அல்லது உள்ளமைவு கோப்பகத்திற்கு வெளியே நகர்த்துங்கள். உண்மையான கோப்பின் அருகில் எஞ்சிய wg0.conf.bak wg-quick க்கு தீங்கற்றது மற்றும் அடுத்த நபரைக் குழப்புகிறது, அவர் இறுதியில் தவறானதைத் திருத்துவார்.