இரண்டு VPN வாடிக்கையாளர்கள், இரண்டு பொது முகவரிகள்: SNAT ஐப் பொருத்துங்கள்
மூல அடிப்படையிலான SNAT ஒரு பொது முகவரியைத் தேர்ந்தெடுக்கலாம், ஆனால் நுழைவாயில் இன்னும் வாடிக்கையாளர்களை வேறுபடுத்தும் வரை மட்டுமே. விதியை எழுதும் முன் மீதமுள்ள மூலத்தைச் சரிபார்க்கவும்.
இரண்டு VPN வாடிக்கையாளர்கள் இரண்டு வெவ்வேறு பொது IPv4 முகவரிகள் வழியாக வெளியேறலாம், அதைச் செய்யும் விதி பெரும்பாலானோர் எதிர்பார்ப்பதை விடச் சிறியது. அது வேலை செய்வது iptables இலக்கணம் அல்ல, பாக்கெட் வெளியேற்றச் சங்கிலியை அடையும் போது அதன் நிலைதான்: அங்குள்ள மூல முகவரி இன்னும் வாடிக்கையாளர்களை வேறுபடுத்த வேண்டும். முந்தைய masquerade இருவரையும் ஏற்கனவே ஒரு முகவரியில் இணைத்திருந்தால், எந்த வாடிக்கையாளர்-வாரி விதியும் அந்த வேறுபாட்டை மீட்டெடுக்க முடியாது. முதலில் அந்தக் கேள்வியைத் தீர்த்து, பிறகு மொழிபெயர்ப்பை எழுதுங்கள்.
நுழைவாயில் வரை எந்த அடையாளம் தப்பிப்பிழைக்கிறது
விதி பாக்கெட்டின் மூல முகவரியுடன் பொருந்துகிறது, VPN பயனர்பெயருடனோ வாடிக்கையாளர் பயன்பாடு காட்டும் பெயருடனோ அல்ல. பாதையில் முன்பு பாக்கெட்டை மொழிபெயர்க்கும் அனைத்தும் உங்கள் விதி இன்னும் எதைப் பார்க்க முடியும் என்பதைத் தீர்மானிக்கிறது. nat அட்டவணையை வரிசையாக இயக்கி மூலம் இன்னும் ஒவ்வொரு வாடிக்கையாளருக்கும் தனித்தனியாக இருக்கும் புள்ளியைக் கண்டறியுங்கள்.
iptables -t nat -S POSTROUTING
அந்தப் பட்டியலை மேலிருந்து படியுங்கள். மேல்பகுதிக்கு அருகிலுள்ள masquerade விதி பொருந்தும் ஒவ்வொரு ஓட்டத்திற்கும் மூலத்தை மீண்டும் எழுதுகிறது, அதற்குப் பிறகு வைக்கப்படும் வாடிக்கையாளர்-வாரி உள்ளீடுகள் இனி இல்லாத முகவரியுடன் பொருந்துகின்றன. இரண்டு LAN சாதனங்கள் ஒரு சுரங்கப்பாதையைப் பகிர்ந்து ஒரே உள் முகவரியாக வரும்போது, ஃபயர்வாலுக்கு முன் வடிவமைப்பு மாற வேண்டும்: அவற்றின் மூல வரம்புகளைத் தனித்தனியாக வைத்திருங்கள் அல்லது ஒவ்வொன்றுக்கும் அதன் சொந்த உள் முகவரியைக் கொடுங்கள்.
உள் முகவரி ஒதுக்கீட்டை அங்கீகரிக்கப்பட்ட வாடிக்கையாளருடன் இணைக்கவும். அந்த முகவரியை வேறு சாதனத்திற்குக் கொடுப்பது வெளியேற்றக் கொள்கையையும் சேர்த்தே கொடுக்கும், மேலும் மூல மொழிபெயர்ப்பு தானே அடையாளச் சான்று அல்ல.
மொழிபெயர்ப்பு முகவரியைக் கற்பனை செய்ய முடியாது
ஒவ்வொரு பொது முகவரியும் இந்த வெளியேற்றப் புள்ளிக்கு ஒதுக்கப்பட வேண்டும் அல்லது இங்கே வழிமாற்றப்பட வேண்டும், பதில்கள் மீண்டும் இங்கு வரும் வழியைக் கண்டறிய வேண்டும். யாரும் திரும்ப வழிமாற்றாத முகவரியிலிருந்து டிராஃபிக்கை அனுப்பும் விதி தொலை முனையில் நிராகரிக்கப்படும் அல்லது ஒருபோதும் கேட்காத ஹோஸ்டுக்குப் பதில் அளிக்கும். கிளவுட் வழங்குநரின் நிகழ்வு பொதுவாகப் பாக்கெட் வெளியேறும் முன் அதன் பொது முகவரியைத் தனியார் இடைமுக முகவரியாக மொழிபெயர்த்திருக்கும், எனவே SNAT மூலம் வழங்குநர் ஏற்கும் முகவரியாக இருக்க வேண்டும், கன்சோல் காட்டும் மதிப்பு அல்ல. வழங்குநரின் முகவரி மாதிரியைப் படித்து, ஒவ்வொரு பாக்கெட்டிற்கும் பொது மதிப்பை நகலெடுப்பதற்குப் பதிலாக அதைப் பின்பற்றுங்கள்.
நடைமுறையில் இதன் பொருள் ஃபயர்வாலைத் தொடுவதற்கு முன் வழங்குநரின் கன்சோலில் வழிமாற்றப்பட்ட முன்னொட்டைச் சரிபார்ப்பது, மற்றும் வரைபடம் ஒன்றுக்கு ஒன்றாக இருக்கும்போது தனியார் இடைமுக முகவரியை மொழிபெயர்ப்பு மூலமாகப் பயன்படுத்துவது. கீழேயுள்ள எடுத்துக்காட்டுகளில் பயன்படுத்தப்பட்ட முகவரிகள் ஆவண வரம்புகளிலிருந்து வந்தவை, எனவே முதலில் மாற்ற வேண்டியது முகவரியின் உரைதான்.
பொது masquerade க்கு முன் செருகவும்
எதையும் சேர்ப்பதற்கு முன் வெளியேற்ற இடைமுகத்தையும் தற்போதைய சங்கிலியையும் உறுதிப்படுத்துங்கள். முதலாவது விதி எந்தப் பாக்கெட்டுகளுடன் பொருந்தலாம் என்பதைத் தீர்மானிக்கிறது, இரண்டாவது அதன் முன் ஏற்கனவே என்ன நிற்கிறது என்பதைக் காட்டுகிறது.
ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers
முதல் கட்டளை இணையத்திற்குச் செல்லும் பாக்கெட் உண்மையில் எந்த இடைமுகத்தின் வழியாக வெளியேறுகிறது என்பதைக் குறிப்பிடுகிறது. இரண்டாவது வரி எண்களுடன் சங்கிலியை அச்சிடுகிறது. பொது masquerade உள்ளீடு அதற்கு மேலே இருக்க வேண்டிய வரி.
iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78
மேலேயுள்ள இரண்டு விதிகளும் தலா ஒரு உள் முகவரியுடன் பொருந்துகின்றன, பொருத்தத்தை வெளியேற்ற இடைமுகத்திற்கு மட்டுப்படுத்துகின்றன, மூலத்தை வெளிப்படையாக அமைக்கின்றன. சேர்ப்பதற்குப் பதிலாகச் செருகுங்கள்: நிலை 1 இல் அவை masquerade வரிக்கு முன் மதிப்பிடப்படுகின்றன. இரண்டிற்கும் இடையிலான வரிசை முக்கியமல்ல, ஏனெனில் அவற்றின் மூலங்கள் வேறுபடுகின்றன. route கட்டளை தெரிவித்ததைக் கொண்டு ens3 ஐ மாற்றுங்கள், மற்ற ஃபயர்வால் மேலாளர்களை அதே கொக்கிகளிலிருந்து விலக்கி வையுங்கள், ஏனெனில் இரண்டு கருவிகள் ஒரே அட்டவணையை எழுதுவதே சரியான விதிக்கு விளைவு இல்லாததற்கான வழக்கமான காரணம்.
புதிய ஓட்டத்தின் மூலம் மூலத்தை நிரூபியுங்கள்
Stateful NAT ஒரு ஓட்டம் தொடங்கும்போது மொழிபெயர்ப்பைப் பிணைத்து, பிந்தைய பாக்கெட்டுகளுக்கு அதை மீண்டும் பயன்படுத்துகிறது, எனவே மாற்றத்திற்கு முன் திறந்த அமர்வு மாற்றத்திற்குப் பிறகும் அதன் பழைய மூலத்தைத் தக்க வைத்துக்கொள்ளும். புதிதாகத் தொடங்கிய இணைப்பு மட்டுமே விதியை நிரூபிக்கிறது.
conntrack -L -s 10.88.4.20 -p tcp --dport 443
அந்த உள்ளீட்டின் பதில் திசையைப் படியுங்கள்: அதன் இலக்கு தொலை முனை மூலமாகப் பார்க்கும் முகவரி. நீங்கள் நோக்கிய பொது முகவரியுடன் அதை ஒப்பிடுங்கள், பழைய முகவரியைக் கொண்டுள்ள உள்ளீட்டை உடைந்த விதியாக அல்ல, மிக விரைவாகத் தொடங்கிய ஓட்டத்தின் சான்றாகக் கருதுங்கள். வாடிக்கையாளரைப் புதிய இணைப்பைத் திறக்கச் சொல்லுங்கள், பிறகு வினவலை மீண்டும் செய்யுங்கள். சோதனையை வலுக்கட்டாயப்படுத்த முழு கண்காணிப்பு அட்டவணையையும் காலி செய்வது நுழைவாயிலில் உள்ள மற்ற ஒவ்வொரு அமர்வையும் தடைசெய்கிறது.
மொழிபெயர்ப்பு இன்னும் பாதையைத் தேர்ந்தெடுக்கவில்லை, வடிப்பானின் வழியாக ஓட்டத்தை அனுமதிக்கவில்லை, உள்வரும் சேவையை வெளியிடவில்லை. தவறான பாதையும் இல்லாத அனுமதி விதியும் சரியான SNAT விதிக்குப் பிறகும் தோல்வியடைகின்றன. IPv6 மற்றும் ஏதேனும் இரண்டாம் நிலை வெளியேற்றப் பாதையையும் சரிபார்க்கவும், பிறகு அடுத்த மாற்றம் விதி உரையிலிருந்து அல்ல, வரைபடத்திலிருந்து தொடங்குவதற்காக உள்-முதல்-பொது ஜோடிகளை ஃபயர்வால் ஆவணங்களில் குறிப்பிடுங்கள்.