ஹப்பில் WireGuard சக குழுக்கள்: மூல உரிமையும் கொள்கையும்
ஒவ்வொரு சகவுக்கும் குறுகிய மூல முகவரிகள் மற்றும் ஃபார்வர்டு கொள்கையுடன் சக குழுக்களைத் தனியே வைத்திருங்கள், ஒவ்வொரு குழுவுக்கும் தனி சுரங்கப்பாதை இடைமுகம் இல்லாமல்.
WireGuard இயக்கும் ஹப் ஒவ்வொரு குழுவுக்கும் தனி இடைமுகம் அல்லது வழிமாற்றல் அட்டவணை இல்லாமல் சக குழுக்களைத் தனியே வைத்திருக்க முடியும். இரண்டு வழிமுறைகள் இந்த வேலையைச் செய்கின்றன, அவற்றைக் கலப்பதே ஒரு கொள்கை சரியாகத் தெரிந்தும் எதுவும் செய்யாததற்கான வழக்கமான காரணம். ஒரு அடுக்கு யார் மூல முகவரியைக் கோரலாம் என்பதைத் தீர்மானிக்கிறது. மற்றொன்று அந்தப் பொதி எங்கு செல்லலாம் என்பதைத் தீர்மானிக்கிறது.
இரண்டு வேலைகள், தனியே வைக்கப்பட்டவை
சுரங்கப்பாதை அடுக்கு ஒரு குறுகிய கேள்விக்குப் பதிலளிக்கிறது: இந்தச் சகவின் சாவி இந்த உள் மூல முகவரிக்கு அனுமதி அளித்ததா. ஃபார்வர்டு அடுக்கு மிகவும் பரந்த ஒன்றுக்குப் பதிலளிக்கிறது: இந்தப் பொதி அந்த இலக்கை நோக்கி வெளியேறலாமா. எதுவும் மற்றொன்றின் கேள்விக்குப் பதிலளிக்கவில்லை, எதுவும் தனியாக முழுமையான அணுகல் கொள்கை அல்ல.
இந்தப் பிரிவினையே ஒரு சக உறுதிப்படுத்தப்பட்டு சரியான முகவரியுடன் இருந்தும் செல்லக்கூடாத புரவனை அடைய முடியாததற்குக் காரணம். இது எதிர்மறையையும் விளக்குகிறது: எல்லாவற்றையும் அனுமதிக்கும் ஃபயர்வால் விதி யார் எந்த முகவரியைக் கோரலாம் என்பதைப் பற்றி எதையும் நிரூபிக்கவில்லை.
இரண்டு அடுக்குகளையும் ஒன்றாக வடிவமைத்து, பின்னர் இரண்டையும் சோதிக்கவும். ஒரு அடுக்கில் சரியானதும் மற்றொன்றில் சோதிக்கப்படாததுமான அமைப்பு இயல்புநிலையைப் பொறுத்து திறந்த அல்லது மூடிய நிலையில் தோல்வியடைகிறது.
ஒவ்வொரு சகவுக்கும் அதன் சொந்த முகவரியை மட்டும் கொடுங்கள்
பல புரவன்கள் கொண்ட சகக்கள் சேவையகப் பக்கத்தில் முழுக் குழு வரம்பையும் வழங்க உங்களைத் தூண்டுகின்றன. அந்த அனுமதி மூல முகவரி கோரிக்கையாகும், எனவே சமரசம் செய்யப்பட்ட அல்லது தவறாக அமைக்கப்பட்ட வாடிக்கையாளர் வரம்பில் உள்ள எந்த முகவரியையும் முன்வைக்கலாம், சுரங்கப்பாதை அதை ஏற்கும். ஒவ்வொரு சகவுக்கும் அதன் சொந்த உள் முகவரிக்கு /32 ஒதுக்குங்கள். குழு வரம்புகளை வாடிக்கையாளர்களில் மட்டுமே அமைக்கவும், அங்கு அவை அந்த வாடிக்கையாளர் அடையக்கூடிய இலக்குகளை விவரிக்கின்றன, பயன்படுத்தக்கூடிய மூலங்களை அல்ல.
பின்னர் ஃபயர்வால் நம்பக்கூடிய மூலத்துடன் பொருத்துகிறது. குழுவின் வரம்புக்கு எழுதப்பட்ட விதி இன்னும் பயனுள்ள குழுவாக்கமாக இருக்கிறது, எந்த ஒரு சகவும் மற்றொரு உறுப்பினருக்குச் சொந்தமான முகவரியைக் கோர முடியாதபோது மட்டுமே அது அர்த்தமுள்ளதாகிறது.
குழுக்களைப் பிரிக்கும் ஃபார்வர்டு கொள்கையை எழுதுங்கள்
இங்குள்ள சுவாரஸ்யமான போக்குவரத்து அதே சுரங்கப்பாதை இடைமுகத்தின் வழியாக நுழைந்து வெளியேறுகிறது, எனவே அது புரவனின் உள்ளீட்டுப் பாதையை அல்ல, ஃபார்வர்டு பாதையைக் கடக்கிறது. விதிகள் புரவனைக் கொண்டுள்ள எந்த ஃபயர்வால் மேலாளரின் தற்போதைய ஃபார்வர்டு சங்கிலியில் சேர்கின்றன, அவை முழுமையான விதித் தொகுப்பு அல்ல, துண்டுகள்.
iifname "wg0" oifname "wg0" ip saddr 10.66.10.0/24 ip daddr 10.66.10.0/24 accept iifname "wg0" oifname "wg0" ip saddr 10.66.20.0/24 ip daddr 10.66.20.0/24 accept iifname "wg0" oifname "wg0" drop
முதல் இரண்டு விதிகள் ஒவ்வொரு குழுவுக்குள்ளும் போக்குவரத்தை அனுமதிக்கின்றன. கடைசியானது அந்த இடைமுகத்தைக் கடக்கும் மற்ற அனைத்தையும் தடுக்கிறது, அதுவே குழுக்களுக்கிடையே தனிமைப்படுத்தலை உருவாக்குகிறது. தேவைப்பட்டால் மற்ற முகவரி குடும்பத்திற்கு வெளிப்படையான விதிகளைச் சேர்க்கவும், ஏனெனில் IPv4 க்காக எழுதப்பட்ட drop IPv6 இன் நடத்தையை அனுமதிக்கவோ விவரிக்கவோ இல்லை.
வரிசையே கொள்கை பயன்படுத்தப்படுகிறதா என்பதைத் தீர்மானிக்கிறது
விதிகளின் வரிசை துண்டை விட முக்கியம். நிறுவப்பட்ட இணைப்புகளை ஏற்கும் பொதுவான விதி இந்தப் பதிவுகளுக்கு முன் இருந்தால் பழைய குழுக்களுக்கிடையேயான ஓட்டம் தொடரும், எனவே தனிமைப்படுத்தல் புதிய இணைப்புகளுக்கு மட்டுமே பொருந்தும். மீண்டும் ஏற்றுவதற்கு முன் இந்த இரண்டு முடிவுகளில் எது வேண்டும் என்பதைத் தீர்மானிக்கவும்.
ஏற்பு தீர்ப்பும் ஒரே கொக்கியில் சங்கிலிகளுக்கிடையே எப்போதும் இறுதியானதல்ல. வேறு அடிப்படைச் சங்கிலி பின்னர் இயங்கினால், பயனுள்ள கொள்கை கூட்டாகும், எனவே நீங்கள் திருத்திய கோப்பை அல்ல, கவுண்டர்களைப் பாருங்கள். கவுண்டர்கள் கிடைக்கும் மலிவான சான்று. பொதி எண்ணிக்கை இல்லாத விதி பொருந்தாது, பொருந்தும் விதி பின்னர் வரும் சங்கிலி ஏற்கும்போது drop தவறான இடத்தில் உள்ளது என்று உங்களுக்குச் சொல்கிறது.
கோப்பு எண்ணிக்கையை அல்ல, மேட்ரிக்ஸைச் சோதிக்கவும்
எதிர்பார்க்கப்படும் முடிவுகளின் சிறிய மேட்ரிக்ஸை உருவாக்கி ஒவ்வொரு கலத்தையும் சரிபார்க்கவும். குழு A இலிருந்து குழு A க்கு வேலை செய்ய வேண்டும், குழு B இலிருந்து குழு B க்கு வேலை செய்ய வேண்டும், A இலிருந்து B க்கு வேலை செய்யக்கூடாது, இரு திசைகளிலும் நீங்கள் ஆதரித்தால் இரு முகவரி குடும்பங்களுக்கும்.
nft list ruleset wg show wg0 allowed-ips ping -c 2 10.66.10.5 conntrack -L -s 10.66.20.7 2>/dev/null | head
முதல் இரண்டு எது அமைக்கப்பட்டுள்ளது என்பதைக் காட்டுகின்றன. தவறான குழுவின் உறுப்பினரிடமிருந்து ping உண்மையில் என்ன நடக்கிறது என்பதைக் காட்டுகிறது. conntrack பட்டியல் பழைய ஓட்டம் இன்னும் ஏற்கப்படுகிறதா என்பதைக் காட்டுகிறது, தனிமைப்படுத்தல் மாற்றம் அமைதியாக நடைமுறைக்கு வரத் தவறுவது இப்படித்தான்.
ஹப்பில் உள்ள புரவன் சேவைகளும் அதன் பின்னால் உள்ள LAN க்கான அணுகலும் தனித்தனிக் கொள்கை கொண்ட தனிப் பாதைகள். மேட்ரிக்ஸ் அவற்றில் எதை உள்ளடக்குகிறது என்பதைப் பதிவு செய்யுங்கள், ஏனெனில் சக-க்கு-சக போக்குவரத்தை மட்டும் சரிபார்க்கும் சோதனை அவற்றில் எதைப் பற்றியும் எதுவும் சொல்லவில்லை.