രണ്ട് ഗേറ്റ്വേ, ഒരു VPN: OpenVPN എന്തുകൊണ്ട് തെറ്റായ അപ്ലിങ്ക് തിരഞ്ഞെടുക്കുന്നു
ടണൽ കുഴപ്പമില്ല; സോക്കറ്റ് തെറ്റായ WAN വഴി പുറത്തുപോകുന്നു. സജീവ പിയർ വിലാസം വായിക്കുക, ഹോസ്റ്റ് റൂട്ട് പിൻ ചെയ്യുക, ആദ്യം നയ നിയമങ്ങൾ പരിശോധിക്കുക.
രണ്ട് അപ്ലിങ്കുകൾ, ഒരു ടണൽ, ഒപ്പം ട്രാഫിക് നിങ്ങൾ തിരഞ്ഞെടുക്കാത്ത വഴിയിലൂടെ പുറത്തുപോകുന്നു. സ്വകാര്യ സബ്നെറ്റുകൾ ലഭ്യമാണ്, ലോഗ് വിജയകരമായ കണക്ഷൻ റിപ്പോർട്ട് ചെയ്യുന്നു, അളന്ന ലിങ്കാണ് അത് വഹിക്കുന്നത്. OpenVPN-ന്റെ ഔട്ട്പുട്ടിൽ ഗേറ്റ്വേയെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല, കാരണം ക്ലയന്റ് ഒരിക്കലും ഒന്നും തിരഞ്ഞെടുത്തിട്ടില്ല. അത് ഒരു വിദൂര വിലാസത്തിലേക്ക് സോക്കറ്റ് തുറന്നു, ആ വിലാസത്തിൽ എത്തുന്നത് എങ്ങനെയെന്ന് കേർണലിന് തീരുമാനിക്കാൻ വിട്ടു.
ടണൽ വിലാസം അന്തിമ പോയിന്റ് അല്ല
ഓരോ സെഷനിലും രണ്ട് വ്യത്യസ്ത പാതകളുണ്ട്. പുറം പാത എൻക്രിപ്റ്റ് ചെയ്ത ഗതാഗതം സെർവറിന്റെ പൊതു വിലാസത്തിലേക്ക് കൊണ്ടുപോകുന്നു. ഉള്ളിലെ പാത സെർവർ ടണലിലേക്ക് തള്ളുന്നതെല്ലാം കൊണ്ടുപോകുന്നു, ഒന്നിന്റെ റൂട്ടിംഗ് നിയമങ്ങൾ മറ്റൊന്നിനെ ബാധിക്കുന്നില്ല.
പ്രൊഫൈലിലെ remote എൻട്രി പുറം ലക്ഷ്യം പേരിടുന്നു, അതിനാൽ അതാണ് പിൻ ചെയ്യേണ്ട വിലാസം. ഹോസ്റ്റ്നെയിം വ്യത്യസ്തമായി പരിഹരിക്കപ്പെടുമ്പോഴോ പ്രൊഫൈൽ നിരവധി remote പട്ടികപ്പെടുത്തുമ്പോഴോ മാറുന്ന മൂല്യവുമാണത്.
ക്ലയന്റ് യഥാർത്ഥത്തിൽ ഡയൽ ചെയ്ത വിലാസം കണ്ടെത്തുക
കോൺഫിഗറേഷൻ ഫയലിനുപകരം ജീവനുള്ള സോക്കറ്റ് വായിക്കുക. സോക്കറ്റ് പട്ടിക പ്രക്രിയ യഥാർത്ഥത്തിൽ ബന്ധിപ്പിച്ച പിയറിനെ കാണിക്കുന്നു, അപവാദം ആ മൂല്യവുമായി പൊരുത്തപ്പെടണം. സെഷൻ തുടങ്ങിയതിന് ശേഷവും പ്രൊഫൈൽ തിരുത്താം, എന്തിലേക്ക് ഡയൽ ചെയ്തു എന്നതിന്റെ ഏക തെളിവ് സോക്കറ്റാണ്:
ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"
ലോഗ് വരി കണക്ഷൻ സമയത്തെ പിയർ വിലാസവും പോർട്ടും പേരിടുന്നു. അത് പ്രൊഫൈലുമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, ക്ലയന്റിന് മുന്നിൽ എന്തോ കണക്ഷൻ തുടങ്ങുന്നതിന് മുമ്പ് ലക്ഷ്യം മാറ്റിയെഴുതുന്നു.
വിലാസ കുടുംബവും പരിശോധിക്കുക. ഇരട്ട-സ്റ്റാക്ക് പ്രൊഫൈൽ IPv6 വഴി ബന്ധിപ്പിക്കാം, പക്ഷേ നിങ്ങളുടെ അപവാദം IPv4 മാത്രം ഉൾക്കൊള്ളുന്നു, അപ്പോൾ ട്രാഫിക് നിങ്ങൾ എഴുതിയ നിയമത്തിൽനിന്ന് വ്യത്യസ്തമായ നിയമം പിന്തുടരുന്നു. അന്തിമ പോയിന്റിന്റെ പേരിൽ ഉത്തരം നൽകുന്ന പ്രോക്സിക്കും ഇതുതന്നെ ബാധകം. രണ്ട് സന്ദർഭങ്ങളിലും റൂട്ട് ഒന്നും ചെയ്യാതിരിക്കുമ്പോൾ ടണൽ പ്രവർത്തിക്കുന്നു.
അന്തിമ പോയിന്റ് പിൻ ചെയ്ത് നയക്രമം വായിക്കുക
ഹോസ്റ്റ് റൂട്ട് ഏത് സ്ഥിരസ്ഥിതി റൂട്ടിനേക്കാളും കൃത്യമാണ്. അതിനാൽ പിയർ വിലാസത്തിനുള്ള /32 അത് അടങ്ങിയ പട്ടികയിൽ വിജയിക്കുന്നു. സാധാരണ രൂപം ഗേറ്റ്വേയും ഉപകരണവും വ്യക്തമായി പേരിടുന്നു:
ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0
ആ റൂട്ട് തിരയൽ ആ പട്ടികയിൽ എത്തിയാൽ മാത്രം സഹായിക്കുന്നു. നയ നിയമങ്ങൾ ക്രമത്തിൽ വിലയിരുത്തപ്പെടുന്നു, ആദ്യ പൊരുത്തം തീരുമാനിക്കുന്നു, അതിനാൽ എല്ലാം രണ്ടാം പട്ടികയിലേക്ക് അയക്കുന്ന നിയമം main-ലെ നിങ്ങളുടെ ഹോസ്റ്റ് റൂട്ടിനെ മറികടക്കുന്നു. റൂട്ട് അധികാരമുള്ളതാണെന്ന് കരുതുന്നതിന് മുമ്പ് നിയമങ്ങൾ വായിക്കുക:
ip rule show
ip route get 203.0.113.40
നയം അവയെ ആശ്രയിക്കുമ്പോൾ ക്ലയന്റ് ഉപയോഗിക്കുന്ന അതേ സ്രോതസ്സ് വിലാസമോ അടയാളമോ ഉപയോഗിച്ച് രണ്ടാം കമാൻഡിനോട് ചോദിക്കുക. അത് കേർണൽ തിരഞ്ഞെടുക്കുന്ന റൂട്ട് റിപ്പോർട്ട് ചെയ്യുന്നു, അത് തിരയലിനെക്കുറിച്ചുള്ള തെളിവാണ്, ജീവനുള്ള സോക്കറ്റ് ആ പാത ഉപയോഗിക്കുന്നു എന്നതിന്റെ തെളിവല്ല.
അന്തിമ പോയിന്റ് നീങ്ങുമ്പോൾ
നിരവധി വിലാസങ്ങളിലേക്ക് പരിഹരിക്കപ്പെടുന്ന ഹോസ്റ്റ്നെയിം ഉത്തരം മാറുമ്പോൾ തന്നെ സ്ഥിരമായ /32 അസാധുവാക്കുന്നു. നിരവധി remote വരികളുള്ള പ്രൊഫൈലിനും അതേ പ്രശ്നമുണ്ട്, കാരണം ക്ലയന്റ് അവയിലേതിലും ഇറങ്ങാം. റൂട്ട് കൈകൊണ്ട് ചേർക്കുന്നതിനുപകരം ക്ലയന്റിന്റെ സ്വന്തം ലൈഫ്സൈക്കിൾ ഹൂക്കുകളിൽനിന്ന് പുതുക്കുക. up സ്ക്രിപ്റ്റ് സംഭാഷണം ചെയ്ത പിയർ വായിച്ച് ഹോസ്റ്റ് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നു, അപവാദത്തെ യാഥാർത്ഥ്യവുമായി യോജിപ്പിച്ചു നിർത്തുന്നു, അനുബന്ധ down സ്ക്രിപ്റ്റ് അത് നീക്കം ചെയ്യുന്നു.
പുതുക്കൽ ഹോസ്റ്റിന്റെ ബാക്കി റൂട്ടിംഗ് കോൺഫിഗറേഷന്റെ അതേ സ്ഥലത്ത് രേഖപ്പെടുത്തുക. അടുത്ത റീബൂട്ട് വരെ മാത്രം നിലനിൽക്കുന്ന റൂട്ട് ഒരു പരീക്ഷണമാണ്, പരിഹാരമല്ല.
ഉള്ളിലെ നയം വേർതിരിച്ച് നിർത്തുക
പുറം പാത മാറ്റുന്നത് പുതിയ സ്വകാര്യ സബ്നെറ്റിലേക്ക് പ്രവേശനം നൽകുന്നില്ല, സെർവർ ടണലിലേക്ക് ഏത് ലക്ഷ്യങ്ങൾ തള്ളുന്നു എന്നതും മാറ്റുന്നില്ല. താഴത്തെ പാത റൂട്ട് കമ്പിയെ തിരഞ്ഞെടുക്കുന്നു; തള്ളിയ റൂട്ടുകൾ ടണലിലേക്ക് എന്ത് പ്രവേശിക്കുന്നു എന്ന് തിരഞ്ഞെടുക്കുന്നു. ആ രണ്ട് തീരുമാനങ്ങൾ വേർതിരിച്ച് നിർത്തുന്നതാണ് വിഭജനത്തെ പ്രവചനീയമാക്കുന്നത്.
ലക്ഷ്യം എൻക്രിപ്റ്റ് ചെയ്ത ഗതാഗതം അളന്ന ലിങ്കിൽനിന്ന് അകറ്റിനിർത്തൽ മാത്രമാണെങ്കിൽ, സ്ഥിരസ്ഥിതി റൂട്ട് അതേപടി വിട്ട് ഒറ്റ ഹോസ്റ്റ് അപവാദം ചേർക്കുക. ഒരു VPN കണക്ഷൻ നീക്കാൻ മെഷീൻ മുഴുവൻ സ്ഥിരസ്ഥിതി മാറ്റുന്നത് ഹോസ്റ്റിലെ മറ്റെല്ലാ ആപ്ലിക്കേഷനുകളും തകർക്കുന്നു.
ഫലം രണ്ട് സ്വതന്ത്ര നിരീക്ഷണങ്ങളിലൂടെ സ്ഥിരീകരിക്കുക: സോക്കറ്റിന്റെ പ്രാദേശിക വിലാസവും ഉപകരണവും, സ്വകാര്യ ലക്ഷ്യം പരിഹരിക്കുന്ന റൂട്ടും. രണ്ടും നിങ്ങളുടെ ഉദ്ദേശവുമായി യോജിക്കുമ്പോൾ വിഭജനം യഥാർത്ഥമാണ്. OpenVPN 2.6 മാനുവൽ ക്ലയന്റ് ഏത് വിലാസത്തിലേക്ക് ഡയൽ ചെയ്യുന്നു എന്ന് തീരുമാനിക്കുന്ന remote, പ്രാദേശിക ബൈൻഡിംഗ് ഓപ്ഷനുകൾ ഉൾക്കൊള്ളുന്നു.