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

இணைப்பும் அனுப்புதலும் வெவ்வேறு இடங்களில் தோல்வியடைகின்றன

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

முகவரி மாற்றம் இரண்டாவது முடிவை மட்டுமே உடைக்கிறது, அதனால்தான் அறிகுறி "இணைந்துள்ளது ஆனால் இணையம் இல்லை" எனப் படிக்கப்படுகிறது. வாடிக்கையாளர் பக்கத்தின் வழக்கமான சோதனைகள் ஆரோக்கியமாகத் தெரிவதற்கும் இதுவே காரணம்: கைக்குலுக்கல் நிறைவடைகிறது, வாடிக்கையாளருக்கு முகவரி கிடைக்கிறது, சேவையகத்தின் டனல் முகவரிக்கு ping கூட பதிலளிக்கலாம். குறைபாடு மறுபக்கத்தில் இருந்தாலும் வாடிக்கையாளரில் மணிநேரங்கள் வீணாகின்றன, எனவே விதிகளின் அட்டவணையே முதலில் பார்க்க வேண்டிய இடம்.

திருத்துவதற்கு முன் விதியையும் அதன் கணக்கிகளையும் படியுங்கள்

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

sudo iptables -t nat -L POSTROUTING -n -v --line-numbers
ip -4 addr show

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

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

மூலத்தை மாற்றுங்கள், அல்லது அதைக் குறிப்பிடுவதை நிறுத்துங்கள்

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

sudo iptables -t nat -R POSTROUTING 1 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to-source 10.151.0.40

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

sudo iptables -t nat -R POSTROUTING 1 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -o eth0 -j MASQUERADE

IPv4 அனுப்புதல் நிர்வகிக்கப்பட்ட அமைப்பின் வழியாக இன்னும் இயக்கத்தில் உள்ளதா என உறுதிசெய்து, பின்னர் விநியோகத்தின் சொந்த முறையால் விதியை நிரந்தரமாக்குங்கள். இயங்கும் கருநிரலில் மட்டும் செய்யப்பட்ட மாற்றம் அடுத்த மறுதொடக்கத்தில் திரும்பி வரும், பொதுவாக யாரும் மாற்றத்துடன் இணைக்காத பராமரிப்பு சாளரத்தில்.

மாற்றீட்டைத் தவறாகச் செய்வதற்கு இரண்டு வழிகள்

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

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

டனல் IPv6 ஐயும் சுமந்தால், முழு மறுஆய்வையும் மற்ற அடுக்கில் மீண்டும் செய்யுங்கள். மொழிபெயர்ப்பும் வழிமாற்றப்பட்ட முன்னொட்டும் இல்லாத IPv6 இயல்புநிலை வழி அதே அளவு அமைதியாகத் தோல்வியடைகிறது, அதற்கு மேலே உள்ள அனைத்தும் ஒரே மாதிரி தெரிவதால் அதை மறப்பது எளிது.

உள்வரும் சேவைகளுக்கு எதிர் மொழிபெயர்ப்பு தேவை

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

sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.9.8.2:8080

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

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