தொடர்பற்றதாகத் தோன்றும் இரண்டு ஆதரவு டிக்கெட்டுகள் இறுதியில் ஒரே காரணத்தைப் பகிர்கின்றன. முதலில், நிர்வாகி சேவையகம் சுரங்கப்பாதையிலிருந்து மட்டுமே இணைப்புகளை ஏற்க வேண்டும் என்று விரும்புகிறார்; இரண்டாவதில், VPN பயனர்கள் ஒரு உள் ஹோஸ்ட்டை அடைய வேண்டும், அதற்கு மேல் எதுவும் இல்லை. இரண்டு கொள்கைகளும் FORWARD இல் உள்ளன, இரண்டும் பொதுவாக INPUT இல் முயற்சிக்கப்படுகின்றன. முடிவு ஃபயர்வால் போலத் தோன்றி, ஒரு இடைநிலைக் குறியீடு போல நடந்துகொள்கிறது.

எந்தச் சங்கிலி உங்கள் கேள்விக்குப் பதிலளிக்கிறது

VPN வாடிக்கையாளர் LAN ஹோஸ்ட்டுக்கு அல்லது இணையத்திற்கு அனுப்பும் பாக்கெட்டுகளை கர்னல் முன்னனுப்புகிறது, அவை FORWARD இல் மதிப்பிடப்படுகின்றன. INPUT மற்றும் OUTPUT சேவையகத்திலேயே முடியும் அல்லது அங்கிருந்து தொடங்கும் போக்குவரத்தை மட்டுமே பார்க்கின்றன. எனவே tun0 வழியாக வராத அனைத்தையும் நிராகரிப்பது சேவையகத்தின் சொந்தக் கேட்பவர்களைப் பாதுகாக்கிறது, மேலும் நிறுவப்பட்ட ஓட்டங்கள் முதலில் அனுமதிக்கப்படாவிட்டால் உங்கள் SSH அமர்வையும் முடித்துவிடும். வாடிக்கையாளர்கள் எங்கு செல்லலாம் என்பதில் இது எதையும் மாற்றாது.

முதலில் கேள்விக்குப் பெயரிடுங்கள்: யார் சேவையகத்தை அடையலாம், அல்லது வாடிக்கையாளர்கள் எங்கு செல்லலாம். பெரும்பாலான வலைப்பின்னல்களுக்கு இரண்டு பதில்களும் தேவை, வெவ்வேறு சங்கிலிகளில்.

முதலில் நிலை, பின்னர் அனுமதி, பின்னர் நிராகரிப்பு

அனுமதிப் பட்டியல் குறிப்பிட்ட அனுமதி பொதுவான நிராகரிப்புக்கு மேலே இருக்கும்போதும், திரும்பும் போக்குவரத்து இரண்டுக்கும் மேலே அனுமதிக்கப்படும்போதும் மட்டுமே வேலை செய்கிறது. விதிகளை வெளிப்படையான இடங்களில் செருகி, பின்னர் iptables -S FORWARD மூலம் சங்கிலியைக் கொட்டவும், இதனால் வரிசை ஊகிக்கப்படாமல் தெரியும்.

POOL=10.99.0.0/24
iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s "$POOL" -d 172.31.20.15 -p tcp -m multiport --dports 443,3389 -j ACCEPT
iptables -I FORWARD 3 -s "$POOL" -j REJECT

உண்மையான போக்குவரத்துடன் மோதும்போது இது நிலைத்திருக்குமா என்பதை இரண்டு விவரங்கள் தீர்மானிக்கின்றன. நிலை விதி இல்லாவிட்டால், நீங்கள் இப்போது அனுமதித்த இணைப்புகளுக்கான பதில்கள் நிராகரிப்புக்கு எதிராக மதிப்பிடப்பட்டு நீக்கப்படுகின்றன. வரம்பற்ற LOG விதி முதல் ஸ்கேன் வரும்போதே ஒரு சிறிய பகிர்வை நிரப்பக்கூடும், எனவே பதிவைத் தொடர்வதற்கு முன் -m limit --limit 10/min சேர்க்கவும். REJECT உடனடியாக பிழையைத் திருப்பித் தருகிறது, இது பட்டியலைச் சரிசெய்யும்போது மிகவும் நட்பானது; DROP அமைதியாக நீக்குகிறது, எனவே ஒவ்வொரு தவறும் நேரம் முடிந்ததாகத் தோன்றும். ஒன்றை வேண்டுமென்றே தேர்ந்தெடுத்து, தேர்வை மாற்றப் பதிவில் எழுதுங்கள்.

முன்னனுப்புதல் மற்றும் NAT ஏற்கனவே செயல்பட வேண்டும்

வடிகட்டுதல் ஒரு பாதை இருப்பதை நிரூபிக்க முடியாது. முதலில் கர்னல் எதையாவது முன்னனுப்புகிறதா என்பதை உறுதிசெய்து, அந்த அமைப்பை ஷெல்லின் ஒரு முறை கட்டளையாக அல்லாமல் நிரந்தரமாக்குங்கள். வடிகட்டி கடைசி அடுக்கு, முதல் அல்ல.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADE

முகமூடி எங்கே இருக்க வேண்டும் என்பது வாடிக்கையாளர்கள் எங்கிருந்து வெளியேறுகிறார்கள் என்பதைப் பொறுத்தது. அவர்கள் சுரங்கப்பாதை வழியாக தொலை வலைப்பின்னலுக்குச் சென்றால், NAT விதி WAN இடைமுகத்தில் அல்ல, அந்த இடைமுகத்தில் வைக்கப்படுகிறது. பின்னர் கவுண்டர்களைப் பாருங்கள்: FORWARD அனுமதிகளின் எண்ணிக்கை உயரும்போது POSTROUTING கவுண்டர் ஒருபோதும் நகரவில்லை என்றால், திரும்பும் பாதை உடைந்துள்ளது, வடிகட்டி சரியாக உள்ளது. அந்த வாசிப்பு ஒருபோதும் பிரச்சினையாக இல்லாத விதிகளை மீண்டும் எழுதும் ஒரு பிற்பகலைச் சேமிக்கிறது.

மின்னஞ்சல் தடுப்பு ஒரு சங்கிலி அப்பால் உள்ளது

INPUT இல் போர்ட் 25 ஐத் தடுப்பது VPN சேவையகத்துக்கு அனுப்பப்பட்ட மின்னஞ்சலை மட்டுமே நிறுத்தும். சுரங்கப்பாதை வழியாக மின்னஞ்சல் அனுப்பும் சமரசம் செய்யப்பட்ட வாடிக்கையாளர் முன்னனுப்பப்படுகிறார், எனவே தடுப்பு 465 மற்றும் 587 க்கு அருகில் FORWARD இல் இருக்க வேண்டும். ஒரு பயன்பாடு சட்டப்பூர்வமாக மின்னஞ்சலை மீண்டும் அனுப்பினால், அதன் இலக்கையும் போர்ட்டையும் அந்த விதிக்கு மேலே வையுங்கள்.

iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECT

வேறு எதையும் இறுக்குவதற்கு முன் நிராகரிப்பு கவுண்டரை ஒரு வாரம் இயங்க விடுங்கள். ஏறுவதை நிறுத்தும் எண்ணே நீங்கள் இப்போது உடைத்த சட்டப்பூர்வ ஓட்டம்.

அதை மீண்டும் படித்து, பின்னர் வாடிக்கையாளரிடமிருந்து நிரூபிக்கவும்

விதித் தொகுப்பை கர்னல் தெரிவிப்பதைப் போலப் படியுங்கள், உங்கள் ஸ்கிரிப்ட் எழுதியதைப் போல அல்ல. iptables -S FORWARD உடன் தொடங்கி, பின்னர் iptables -t nat -L POSTROUTING -n -v உடன் NAT அட்டவணை, பின்னர் நீங்கள் சோதிக்கும் ஓட்டத்தின் conntrack பதிவு. வேலை நடக்கும் வரை ரோல்பேக் கட்டளை அல்லது திட்டமிட்ட அழிப்பை வைத்திருங்கள். ஒவ்வொரு அழைப்புக்கும் -w தேவை, இல்லையெனில் இரு நிர்வாகிகள் xtables பூட்டில் மோதுவார்கள். மாற்றச் சாளரத்தில் இவற்றில் எதுவும் விருப்பமானது அல்ல.

குழுவின் உள்ளே உள்ள ஒரு வாடிக்கையாளரிடமிருந்தும் வெளியே உள்ள ஒருவரிடமிருந்தும் சோதித்து முடிக்கவும். நீங்கள் தட்டச்சு செய்த இயந்திரத்திலிருந்து மட்டுமே வேலை செய்யும் விதி கொள்கை அல்ல.

தொடர்புடைய கட்டுரைகள்