உங்கள் Docker VPN போர்ட் மேப்பிங் OpenVPN-ஐ எட்டாதது ஏன்
ஹோஸ்ட் போர்ட், கண்டெய்னர் போர்ட் மற்றும் போக்குவரத்து ஆகியவை மூன்று தனித்தனி முடிவுகள். சான்றிதழ்களைத் தொடும் முன் ஒரு UDP முயற்சியை ஒவ்வொரு எல்லை வழியாகவும் பின்தொடரவும்.
உங்கள் கண்டெய்னர் UDP 1195 இல் கேட்கலாம், ஹோஸ்ட் 1194 ஐ வெளியிடுகிறது, மேப்பிங் அப்படிச் சொல்லும் வரை இது சரியானது. எண்கள் ஒரு மொழிபெயர்ப்பு அட்டவணையை உருவாக்குகின்றன: கிளையண்ட் ஹோஸ்ட் போர்ட்டை அழைக்கிறது, Docker இலக்கை கண்டெய்னர் போர்ட்டுக்கு மீண்டும் எழுதுகிறது, OpenVPN அதன் சொந்த கட்டமைப்பு குறிப்பிடும் போர்ட்டில் பதிலளிக்கிறது. இந்த இணைப்புகளில் ஏதேனும் ஒன்றில் பொருந்தாமை ஃபயர்வால் போலத் தோன்றும் அமைதியான தோல்வியை உருவாக்குகிறது. சான்றிதழ்களும் சைஃபர்களும் இதற்குக் கீழே உள்ளன, அவற்றால் இதைச் சரிசெய்ய முடியாது.
அங்கீகாரம் குறித்து எதையும் மாற்றுவதற்கு முன் ஒரு பாக்கெட்டை கிளையண்டிலிருந்து செயல்முறை வரை பின்தொடரவும்.
மூன்று எண்கள், ஒரு இணைப்பு
அந்த மூன்று எண்கள் கிளையண்ட் பயன்படுத்தும் தொலை இலக்கு, ஹோஸ்ட்டில் வெளியிடப்பட்ட மேப்பிங், கண்டெய்னருக்குள் உள்ள கேட்பான். அவை சமமாக இருக்க வேண்டியதில்லை, ஆனால் சங்கிலியாக அமைய வேண்டும். சம எண்கள் தற்செயலாக மிகவும் பொதுவான சிறப்பு நிலை, அதனால் பொருந்தாமையை ஒரு முறை எழுதுவது எளிது, பின்னர் காண்பது கடினம்.
பிழைத்திருத்தத்திற்கு முன் சங்கிலியை ஒரு வரியில் எழுதுங்கள்: கிளையண்ட் முகவரி மற்றும் போர்ட், ஹோஸ்ட் மேப்பிங், கண்டெய்னர் கேட்பான், போக்குவரத்து. சங்கிலியில் உள்ள குறைபாடு வெவ்வேறு மதிப்புகளுடன் இரண்டு முறை வரும் எண்ணாகத் தோன்றும்.
| Location | Example |
|---|---|
| Remote client destination | Host address, UDP 1194 |
| Published mapping | Host UDP 1194 to container UDP 1195 |
| Container listener | OpenVPN on UDP 1195 |
குறுகிய தொடரியல் உண்மையில் என்ன சொல்கிறது
குறுகிய வடிவத்தில் இடது பக்கம் ஹோஸ்ட் போர்ட், வலது பக்கம் கண்டெய்னர் போர்ட், ஸ்லாஷ் பின்னொட்டு போக்குவரத்தைத் தேர்ந்தெடுக்கிறது. பின்னொட்டை விட்டுவிட்டால் Docker மேப்பிங்கை TCP ஆகக் கருதும், எனவே நெறிமுறை இல்லாத மேப்பிங்கின் பின்னால் உள்ள UDP கேட்பானை யாரும் அடைய முடியாது. அந்த இயல்புநிலை ஆவணப்படுத்தப்பட்டுள்ளது, எண்களைப் பொருத்தி வேலையை முடிந்ததாகக் கருதியவர்களை இன்னும் ஆச்சரியப்படுத்துகிறது.
நீண்ட வடிவம் பைண்ட் முகவரி மற்றும் நெறிமுறையை வெளிப்படையாக நிர்ணயிக்கிறது, இது வலையமைப்பை நோக்கிய எதற்கும் கூடுதல் வரிகளுக்கு மதிப்புள்ளது. மேப்பிங்கை உருவாக்கிய கோப்பை நம்புவதற்குப் பதிலாக வெளியிடப்பட்ட மேப்பிங்கை மீண்டும் படியுங்கள்.
ports:
- 1194:1195/udpபாக்கெட் எங்கு நிற்கலாம்
ஒரு கோரிக்கை Docker-க்கு முன், Docker-இல் அல்லது கேட்பானிடம் நிராகரிக்கப்படலாம். Docker-க்கு முன் கிளவுட் ஃபயர்வால் அல்லது தானே அனுப்பும் ரவுட்டர் இருக்கலாம், அந்த சாதனத்திற்கு ஹோஸ்ட்டை நோக்கிய போர்ட் மற்றும் சரியான போக்குவரத்து தேவை. Docker-க்குள் தவறான கண்டெய்னர் போர்ட்டுக்கான மேப்பிங் மூடிய சாக்கெட்டுக்கு அனுப்புகிறது.
பின்னர் கேட்பான்: OpenVPN கட்டமைப்பு ஒரு போர்ட்டையும் நெறிமுறையையும் குறிப்பிடுகிறது, கண்டெய்னருக்குள் வேறொன்றுக்கு வரும் கிளையண்ட் எதையும் அடையாது. UDP சேவையை TCP மூலம் சோதிப்பது இந்த எந்த நிலையிலும் எதையும் நிரூபிக்காது, எனவே கிளையண்ட் பயன்படுத்தப் போகும் போக்குவரத்தையே பயன்படுத்துங்கள்.
பைண்ட் முகவரிகள் அணுகலைத் தீர்மானிக்கின்றன
loopback-உடன் பிணைக்கப்பட்ட வெளியிடப்பட்ட மேப்பிங் ஹோஸ்ட்டிலிருந்து மட்டுமே அணுகக்கூடியது, அனைத்து இடைமுகங்களுடன் பிணைக்கப்பட்டது ஃபயர்வால் அனுமதிக்கும் எல்லா இடங்களிலும் அணுகக்கூடியது. முகவரியை விட்டுவிடும் Compose கோப்பில் இரண்டும் ஒரே மாதிரி தெரிகின்றன, Docker இயல்புநிலை அகலமானது.
வரிசைப்படுத்தல் எந்த வெளிப்பாட்டை நோக்குகிறது என்பதைத் தீர்மானித்து, பின்னர் அதை வெளிப்படையாக எழுதுங்கள். loopback வழியாக இணைக்கும் உள் சோதனையும் இணைக்க முடியாத தொலை கிளையண்டும் ஒரே கண்டெய்னரின் துல்லியமான விவரணைகளாக இருக்கலாம்.
இயங்கும் நிலையைப் படியுங்கள்
இயங்கும் கண்டெய்னரின் உண்மையான மேப்பிங்கையும் அதன் வலையமைப்பு பெயர்வெளியில் உள்ள கேட்பானையும் பரிசோதிக்கவும். கண்டெய்னர் தொடங்கிய பிறகு Compose கோப்பு திருத்தப்பட்டிருக்கலாம், இமேஜ் மெட்டாடேட்டா போர்ட்டை வெளியிடாமல் அறிவிக்கலாம், இரண்டாவது கண்டெய்னர் ஏற்கனவே ஹோஸ்ட் போர்ட்டை வைத்திருக்கலாம். இமேஜில் போர்ட்டை அறிவிப்பது அதை வெளியிடுவது அல்ல, இரண்டும் கேட்பதற்குச் சமமானவை அல்ல.
மூன்று வேறுபட்ட நிலைகள், மூன்று வேறுபட்ட கட்டளைகள், கடைசி மட்டுமே OpenVPN-ஐ உள்ளடக்கியது.
மேப்பிங் சரியான பிறகு
பாக்கெட் OpenVPN-ஐ அடைந்ததும், அதன் பதிவேடு TLS மற்றும் அங்கீகாரம் பற்றிப் படிக்கும் இடம். ஒருபோதும் வராத பாக்கெட்டைச் சரிசெய்ய சான்றிதழ்களை மீண்டும் உருவாக்குவது இரண்டாவது மாறியைச் சேர்க்கும் வீண் வேலை. மேப்பிங் குறிப்பை கிளையண்ட் சுயவிவரத்தின் அருகில் வைத்திருங்கள், அடுத்த நபர் மூன்று எண்களையும் மீண்டும் கண்டுபிடிக்காமல் ஒரு வரியைப் படிப்பார். ஹோஸ்ட் பக்கத்தில் ஒரு முறை பாக்கெட்டைப் பிடிப்பது மூன்று இணைப்புகளில் எது தவறு என்பதைத் தீர்மானிக்கிறது, அதன் செலவு சான்றிதழை மீண்டும் உருவாக்குவதை விடக் குறைவு.
இங்கு விவரிக்கப்பட்ட நிகழ்வு பாலம் வழியாக வெளியிடுதல். ஹோஸ்ட் வலையமைப்பும் ரூட் செய்யப்பட்ட கண்டெய்னர் முகவரிகளும் மொழிபெயர்ப்பைத் தவிர்க்கின்றன, எனவே அந்த வடிவமைப்புகளில் அதே எண்கள் வேறு பொருளைக் குறிக்கின்றன.