WireGuard கட்டமைப்பை Interface முதல் Peer வரை வரி வரியாகப் படியுங்கள்
Interface விசைகள் இந்த முனையின், peer விசைகள் மறுபக்கத்தின். ஒவ்வொரு வரியையும் ஒரு திசையாகப் படித்து, wg-quick நெறிமுறையைச் சுற்றி என்ன சேர்த்தது என்பதைச் சரிபார்க்கவும்.
பழுதடைந்த WireGuard கட்டமைப்புகள் பெரும்பாலும் மதிப்பில் தவறுவதில்லை; சரியான மதிப்பைத் தவறான பக்கத்தில் வைக்கின்றன. தனிப்பட்ட விசை இந்த இயந்திரத்தின், peer மற்ற இயந்திரத்தின் பொது விசையைச் சுமக்கிறது, மேலும் சுரங்கம் எங்கு வாழ்கிறது என்பதை விவரித்தாலும் முகவரி interface தொகுதியில் அமர்கிறது. கோப்பை சந்திக்கும் இரண்டு திசைகளாகப் படித்து, பின்னர் உதவி ஸ்கிரிப்ட் மேலே என்ன சேர்த்தது என்பதைச் சரிபார்க்கவும். நெறிமுறையில் கோப்பை விட குறைவான புலங்கள் உள்ளன, கூடுதல் புலங்களைத் தனியாக அறிவது மதிப்புள்ளது.
interface விசைகள் இந்த இயந்திரத்தை விவரிக்கின்றன
interface தொகுதி இந்த முனையின் சொந்த அடையாளத்தை வைத்திருக்கிறது. PrivateKey அந்த அடையாளம், ஒருபோதும் ஹோஸ்ட்டை விட்டு வெளியேறாது; அதிலிருந்து பொருந்தும் பொது விசை பெறப்படுகிறது, மற்ற peers அதையே பட்டியலிடுகின்றன. ListenPort இந்தப் பக்கம் கைக்குலுக்கல்களைப் பெறும் இடம், எனவே ஒரு முகவரிக்குப் பின்னால் உள்ள இரண்டு வாடிக்கையாளர்களுக்கு வெவ்வேறு துறைகள் தேவை.
Address இந்த ஹோஸ்ட் பதிலளிக்கும் சுரங்க முகவரி, முன்னொட்டு நீளத்துடன் எழுதப்பட்டுள்ளது ஏனெனில் அதுவே பயன்படுத்தும் மூலமும் ஆகும். இங்கு முன்னொட்டு தவறினால் ஹோஸ்ட் எந்த இலக்குகளை நேரடியாக இணைந்ததாகக் கருதுகிறது என்பது மாறும், அது கட்டமைப்பாக அல்ல, வழிமாற்றம் போலத் தோன்றும் பழுதுகளை உருவாக்கும்.
உண்மையான வாடிக்கையாளருடன் [Interface] தொகுதியில் மீதமுள்ள அனைத்தையும் பொதுவாக wg-quick சேர்க்கிறது: DNS, MTU, Table, மற்றும் கொக்கி வரிகள். இவை நெறிமுறை புலங்கள் அல்ல, வெறும் wg அமைப்பு இவற்றை முற்றிலும் புறக்கணிக்கிறது.
ஒவ்வொரு peer உள்ளீடும் மற்றொரு பக்கத்தை விவரிக்கிறது
[Peer] தொகுதி தொலைப் பக்கம். PublicKey அந்தப் பக்கத்தின் பெறப்பட்ட விசை, ஒருபோதும் அவர்களின் தனிப்பட்ட விசை அல்ல, மேலும் PresharedKey இரு பக்கமும் ஒரே மாதிரி வைத்திருக்க வேண்டிய விருப்பத் தேர்வு கூடுதல் இரகசியம். Endpoint எங்கு அனுப்ப வேண்டும் என்பது, மேலும் PersistentKeepalive வேறு எதுவும் வெளியே செல்லாதபோது இடைவெளிக்குப் பிறகு இந்த ஹோஸ்ட் பொதியை அனுப்பக் கோருகிறது.
இங்குள்ள குழப்பத்தின் பெரும்பகுதியை இரண்டு தவறுகள் விளக்குகின்றன. உங்கள் சொந்த தனிப்பட்ட விசையை peer தொகுதியில் நகலெடுத்தால் இரு முனைகளும் ஒரே அடையாளத்தைப் பகிர்ந்து கொள்ளும், கைக்குலுக்கல் மோசமாகப் பதிவாகும் விதத்தில் தோல்வியடையும். Endpoint ஒரு வாடிக்கையாளரில் விட்டுவிடுவது பொதுவாக வேண்டுமென்றே, ஏனெனில் சேவையகம் வரும் கைக்குலுக்கலிலிருந்து முகவரியைக் கற்கிறது; தொடங்க வேண்டிய சேவையகத்தில் அதை விட்டுவிடுவது அப்படியல்ல. keepalive ஒரு NAT வரைபடத்தைத் திறந்து வைத்திருக்கிறது என்பதையும், அது செயல்திறனை மேம்படுத்தாது அல்லது தாமதத்தைக் குறைக்காது என்பதையும் நினைவில் கொள்ளுங்கள், எனவே போக்குவரத்து ஏற்கனவே பாயும்போது முப்பது வினாடிகளின் கூடுதல் பொதிகள் எதையும் வாங்குவதில்லை.
AllowedIPs வழிமாற்றம், அனுமதிப் பட்டியல் அல்ல
AllowedIPs WireGuard இன் மறையீட்டு விசை வழிமாற்றம். வெளியே, இலக்கின் அடிப்படையில் எந்த peer பொதியைப் பெறும் என்பதைத் தீர்மானிக்கிறது. உள்ளே, அந்த peer இலிருந்து வரும் பொதி மூலத்தின் அடிப்படையில் ஏற்கப்படுமா என்பதைத் தீர்மானிக்கிறது. அதே புலம் இரண்டு வேலைகளையும் செய்கிறது, அதனால் இது அணுகல் கட்டுப்பாட்டுப் பட்டியலும் அல்ல, அனுமதிக்கப்பட்ட இணையதளங்களின் பட்டியலும் அல்ல.
குறுகிய AllowedIPs சேவையகத்தில் வாடிக்கையாளருக்கு என்பது சேவையகம் அந்த மூலங்களைக் கூறும் பொதிகளை மட்டுமே ஏற்கும், அந்த இலக்குகளை மட்டுமே அந்த வாடிக்கையாளருக்கு அனுப்பும். ஒரு பக்கத்தை மற்றதை விரிவுபடுத்தாமல் விரிவுபடுத்தினால், ஏறும் ஆனால் எதையும் கடக்காத சுரங்கம் கிடைக்கும்.
wg-quick நெறிமுறையைச் சுற்றி என்ன சேர்க்கிறது
wg-quick அதே கோப்பைப் படித்து நெறிமுறை இயக்க முறைமைக்கு விட்டுச் செல்லும் வலையமைப்பு படிகளைச் செய்கிறது. இது interface முகவரியை ஒதுக்குகிறது, AllowedIPs இலிருந்து பெறப்பட்ட வழிகளைச் சேர்க்கிறது, தீர்வியின் அமைப்புகளை எழுதி கொக்கி கட்டளைகளை வரிசையாக இயக்குகிறது.
அந்த அடுக்கு செந்நெறி சமச்சீரற்ற தன்மையை விளக்குகிறது. 0.0.0.0/0 மற்றும் DNS வரி கொண்ட கோப்பு வாடிக்கையாளருக்கு இயல்புநிலை வழியையும் தீர்வியையும் தருகிறது, சேவையகத்தின் அனுப்புதல் அல்லது NAT விதிகளுக்கு எதுவும் செய்யாது. அவை சேவையகத்தின் சொந்த கட்டமைப்புக்கு உரியவை, எந்த வாடிக்கையாளர் கோப்பும் அவற்றை வழங்க முடியாது.
கோப்புக்கு ஒரே உரிமையாளரை வைத்திருங்கள். SaveConfig இயக்கப்பட்டிருக்கும்போது அதைக் கையால் திருத்துவது என்பது அடுத்த முறை interface கீழிறங்கும்போது உங்கள் திருத்தம் மறைந்துவிடும், interface அது நடந்தது என்று உங்களுக்குச் சொல்லாது.
கோப்பை அல்ல, பயன்படுத்தப்பட்ட நிலையைச் சரிபார்க்கவும்
கோப்பு ஒரு நோக்கம். பயன்படுத்தப்பட்ட நிலை கர்னல் வைத்திருப்பது, செயல்படுத்தலுக்குப் பிறகு உதவி, drop-in அல்லது கொக்கி ஏதாவது திருத்திய ஒவ்வொரு முறையும் இரண்டும் பிரிகின்றன.
உயிருள்ள நிலையையும் முகவரியிடலையும் சேர்த்துப் படித்து, பின்னர் இரண்டையும் நீங்கள் எழுதியதுடன் ஒப்பிடுங்கள்:
sudo wg show
ip -4 addr show dev wg0
ip -4 route show dev wg0
grep -v "^#" /etc/wireguard/wg0.confpeer பட்டியல் காலியாக இருந்தால், interface அதன் கட்டமைப்பு பயன்படுத்தப்படாமல் உருவாக்கப்பட்டது. முகவரிகளும் வழிகளும் இருந்தும் கணக்குகள் பூஜ்ஜியத்திலேயே இருந்தால், கோப்பு ஏற்றப்பட்டது கைக்குலுக்கல் தோல்வியடைகிறது, இது பிரிவு வரிசையின் அல்ல, விசை அல்லது முனையின் பிரச்சினை. திருத்துவதற்கு முன் இரு காட்சிகளையும் ஒப்பிடுங்கள், ஏனெனில் அவற்றுக்கிடையேயான இடைவெளியே பொதுவாக உண்மையான குறை.