WireGuard கைக்குலுக்கல் வேலை செய்கிறது, ஆனால் அலுவலக துணைப்பிணையம் பதிலளிக்கவில்லை
WireGuard இயங்குகிறது மற்றும் சேவையகத்திற்கு பிங் செல்கிறது, ஆனால் அதன் LAN இல் எதுவும் பதிலளிக்கவில்லை. கிளையண்ட் முன்னொட்டு, சேவையக அனுப்புதல் மற்றும் பதிலின் பாதையைச் சரிபார்க்கவும்.
கைக்குலுக்கல் நிறைவடைகிறது, wg show சமீபத்திய பரிமாற்றத்தைத் தெரிவிக்கிறது, மேலும் சேவையகத்தின் சுரங்கப்பாதை முகவரி பிங்கிற்கு பதிலளிக்கிறது. ஆனால் சேவையகத்தின் LAN இல் உள்ள ஒரு புரவலன் பதிலளிக்கவில்லை. மூன்று நிபந்தனைகள் ஒரே நேரத்தில் நிறைவேற வேண்டும்: கிளையண்ட் LAN முன்னொட்டை சுரங்கப்பாதைக்கு வழிமாற்ற வேண்டும், சேவையகம் பாக்கெட்டுகளை அனுப்ப வேண்டும், மேலும் பதிலுக்கு திரும்பும் பாதை தேவை. மூன்றில் ஒன்று இல்லாவிட்டால் அறிகுறி அதுவே.
AllowedIPs ஒரே நேரத்தில் அணுகல் பட்டியலும் வழிமாற்றல் அட்டவணையும் ஆகும்
கிளையண்டில், AllowedIPs பட்டியல் அந்த இணைக்கு என்ன அனுப்பலாம் மற்றும் WireGuard எந்த வழிகளை நிறுவுகிறது என்பதைத் தீர்மானிக்கிறது. சேவையகத்தின் சுரங்கப்பாதை முகவரியை மட்டும் பட்டியலிடும் இணை உள்ளீடு ஒரு புரவலன் வழியை மட்டும் நிறுவுகிறது, எனவே LAN இன் இலக்குகள் ஒருபோதும் சுரங்கப்பாதைக்குள் செல்லாது. LAN முன்னொட்டைச் சேர்ப்பது முதலில் சரிபார்க்க வேண்டிய விஷயம், மேலும் நகலெடுக்கப்பட்ட உள்ளமைவுக்குப் பிறகு அதிகம் விடுபடும் மாற்றமும் அதுவே. இயல்புநிலை வழிக்கு விரிவாக்கப்பட்ட இணை வேறு வடிவமைப்பு, அது கிளையண்டின் இணைய போக்குவரத்தையும் நகர்த்தும்.
புரவலன் வழியையும் LAN முன்னொட்டையும் தனித்தனி உள்ளீடுகளாக வைத்திருங்கள். அலுவலகத்தில் இரண்டு துணைப்பிணையங்கள் இருந்தால் இரண்டும் பட்டியலில் இடம்பெறும், விடுபட்ட இரண்டாவது முன்னொட்டு முழுமையானதல்ல, தேர்ந்தெடுத்ததாகத் தோன்றும் தோல்வியை உருவாக்குகிறது.
[Peer] PublicKey = <server public key> Endpoint = vpn.example.net:51820 AllowedIPs = 10.66.0.1/32, 192.168.50.0/24
அனுப்புதல் மற்றும் மொழிபெயர்ப்பு சேவையகத்திலேயே இருக்க வேண்டும்
சேவையகத்திற்கு IP அனுப்புதல் இயக்கப்பட்டிருக்க வேண்டும், சுரங்கப்பாதையிலிருந்து வரும் போக்குவரத்தை ஏற்கும் அனுப்புதல் விதி, மற்றும் அதன் LAN இடைமுகத்தை நோக்கிய மொழிபெயர்ப்பு விதி தேவை. இந்த மொழிபெயர்ப்பே அலுவலக வலையமைப்பின் ஒவ்வொரு புரவலனையும் தொடாமல் வடிவமைப்பை இயங்கச் செய்கிறது. பின்னர் பதில்கள் LAN கேட்டிராத ஒரு முகவரிக்கு அல்ல, சேவையகத்திற்குத் திரும்பும். அது இல்லாவிட்டால் ஒவ்வொரு புரவலனுக்கும் சுரங்கப்பாதை துணைப்பிணையத்திற்கான வழியும் அதை அனுமதிக்கும் ஃபயர்வால் விதியும் தேவை, இது மற்றொருவர் நிர்வகிக்கும் வலையமைப்பில் அரிதாகவே ஏற்கத்தக்கது.
sysctl -w net.ipv4.ip_forward=1 iptables -A FORWARD -i wg0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
கையால் சேர்க்கப்பட்ட விதிகள் மறுதொடக்கத்தில் மறையும், எனவே சேவையக உள்ளமைவில் உள்ள hook கட்டளைகளால் அவற்றை இடைமுகத்துடன் பிணைக்கவும். தன் இடைமுகத்தை விட நீண்ட காலம் வாழும் விதித் தொகுப்பே இனி இல்லாத சுரங்கப்பாதைக்காக இயந்திரம் போக்குவரத்தை மொழிபெயர்க்கும் வழி.
LAN நகர்ந்தது ஆனால் விதி நகரவில்லை
அலுவலக துணைப்பிணையத்தை மறுஎண்ணிடும் ரவுட்டர் மாற்றீடு இந்தத் தோல்வியின் செந்நெறி வடிவம். சுரங்கப்பாதை இயக்கத்திலேயே இருக்கிறது, கைக்குலுக்கல் புதுமையாகவே இருக்கிறது, சேவையகத்திற்குப் பின்னால் எதுவும் பதிலளிக்கவில்லை, ஏனெனில் மொழிபெயர்ப்பு விதி இன்னும் பழைய முகவரியையே குறிப்பிடுகிறது. நிறுவல் ஸ்கிரிப்ட்கள் பெரும்பாலும் சேவையகத்தின் LAN முகவரியை POSTROUTING விதியில் பதிக்கின்றன, மறுஎண்ணிடலுக்குப் பிறகு அந்த முகவரி எந்த இடைமுகத்திலும் இல்லை. பின்னர் பாக்கெட்டுகள் பதிலளிக்க முடியாத இலக்கிற்கு மீண்டும் எழுதப்படுகின்றன.
iptables -t nat -n -L POSTROUTING ip -br addr show
இரண்டு வெளியீடுகளையும் ஒப்பிடுங்கள். இடைமுகப் பட்டியலில் தெரியாத மொழிபெயர்ப்பு இலக்கே பிழை, ஒருமுறை பார்த்த பிறகு அதைச் சரிசெய்வது ஒரு வரி மாற்றம். விதி WireGuard உள்ளமைவில் அல்லாமல் உருவாக்கப்பட்ட unit இல் இருக்கலாம், எனவே திருத்திய பிறகு அந்த unit ஐ மீண்டும் ஏற்றி அடுத்த துவக்கம் உங்கள் மாற்றத்தை மீண்டும் எழுதாது என்பதை உறுதிசெய்யுங்கள்.
NAT பின்னால் உள்ள இரண்டு தளங்களுக்கு சந்திக்கும் இடம் தேவை
எந்தப் பக்கமும் உள்வரும் இணைப்புகளை ஏற்காதபோது, நடைமுறை பதில் பொது முகவரி மற்றும் இரண்டு WireGuard இடைமுகங்களைக் கொண்ட சிறிய புரவலன். ஒவ்வொரு தளமும் வெளிநோக்கி இணைகிறது, நடுப் புரவலன் ஒவ்வொரு இணையின் LAN ஐ தன் AllowedIPs, அதாவது தன் பட்டியலில், பட்டியலிடுகிறது, அனுப்புதல் இரண்டு சுரங்கப்பாதைகளுக்கு இடையே பாக்கெட்டுகளை எடுத்துச் செல்கிறது. எந்தத் தளத்தின் ஃபயர்வாலிலும் எதையும் மாற்ற வேண்டியதில்லை, அதனால்தான் இந்த வடிவமைப்பு எளிதில் பரவுகிறது.
தளங்களுக்கு இடையிலான வழிமாற்றல் அசல் மூல முகவரிகளைத் தக்கவைத்து, அதனால் ஒவ்வொரு புரவலனுக்கான பதிவு அர்த்தமுள்ளதாக இருக்கும். இரண்டு LAN களும் ஒன்றுடன் ஒன்று மேற்பொருந்தும்போது நடுப் புரவலனில் மொழிபெயர்ப்பது எளிது, ஆனால் பதிவுகளில் மூல அடையாளத்தை இழக்கும் விலையில். தேர்ந்தெடுப்பதற்கு முன் எந்தப் பண்பு முக்கியம் என்பதைத் தீர்மானியுங்கள்.
நான்கு சோதனைகளால் அடுக்குகளைப் பிரிக்கவும்
மூன்று விஷயங்களை மாற்றி எதிர்பார்ப்பதற்குப் பதிலாக ஒவ்வொரு அடுக்குக்கும் ஒரு சோதனை செய்யுங்கள். முதலாவது ஒவ்வொரு இணைக்கும் கைக்குலுக்கலின் வயதையும் எண்ணிகளையும் காட்டுகிறது. இரண்டாவது கிளையண்ட் அந்த இலக்கை உண்மையில் சுரங்கப்பாதைக்கு வழிமாற்றுகிறதா என்பதைக் காட்டுகிறது. மூன்றாவதும் நான்காவதும் கோரிக்கை வந்ததா, வந்த பிறகு ஏதேனும் கொள்கை அதைக் கைவிட்டதா என்பதைச் சொல்கின்றன.
wg show ip route get 192.168.50.20 tcpdump -ni wg0 icmp iptables -vnL FORWARD --line-numbers
வந்தும் பதிலைத் தராத கோரிக்கை பதிலின் பாதையையோ LAN புரவலனையோ சுட்டுகிறது. ஒருபோதும் வராத கோரிக்கை AllowedIPs அல்லது கிளையண்டின் வழியைச் சுட்டுகிறது. இந்த இரண்டு முடிவுகளுக்கும் வெவ்வேறு திருத்தங்கள் தேவை, மேலும் பிடிப்பே அவற்றை வேறுபடுத்துகிறது.