ഈ റൺബുക്ക് പ്രോക്സി-ബോധ്യമുള്ള ആപ്ലിക്കേഷന് VPN സെർവറിലോ ഇന്റർനെറ്റിലോ പ്രോക്സി പോർട്ട് പ്രസിദ്ധീകരിക്കാതെ തന്നെ നിലവിലുള്ള WireGuard പാതയിലേക്ക് പ്രവേശനം നൽകുന്നു. SOCKS ഡീമൺ ആപ്ലിക്കേഷൻ ഇന്റർഫേസ് നൽകുന്നു, WireGuard ഇതിനകം അംഗീകരിച്ച IP പാത നൽകുന്നു, ഇവ രണ്ടും നിങ്ങൾക്കുവേണ്ടി ഉപയോക്താവിനെ സാക്ഷ്യപ്പെടുത്തുന്നില്ല. താഴെയുള്ള ഓരോ ഘട്ടവും നിങ്ങൾക്ക് പരിശോധിക്കാവുന്ന എന്തെങ്കിലും സൃഷ്ടിക്കുന്നു, ഓരോന്നിനും തിരിച്ചുപോക്കുണ്ട്: ഇൻസ്റ്റൻസ് നിർത്തുക, നിയമം നീക്കുക, അല്ലെങ്കിൽ ആപ്ലിക്കേഷന്റെ പ്രോക്സി ക്രമീകരണം ഒഴിവാക്കുക. ഇവിടെ ഒന്നും ഹോസ്റ്റിന്റെ ഡിഫോൾട്ട് റൂട്ട് മാറ്റുന്നില്ല.

ഉദാഹരണം അനുമാനിക്കുന്നത് Dante 1.4.x വിശ്വസനീയമായ Linux വർക്ക്സ്റ്റേഷനിൽ സമർപ്പിത, നിർവ്വഹിത ഇൻസ്റ്റൻസായി ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്നും പാക്കേജ് നൽകിയ സേവന അക്കൗണ്ടും ലോഗ് കോൺഫിഗറേഷനും അവയുടെ സ്ഥാനത്ത് അവശേഷിപ്പിച്ചിട്ടുണ്ടെന്നുമാണ്. വർക്ക്സ്റ്റേഷന്റെ ഉടമസ്ഥതയിൽ 10.77.0.2 അതിന്റെ WireGuard ഇന്റർഫേസിൽ ഉണ്ട്, ആ ടണൽ വഴി 10.60.0.20:443 ലേക്ക് എത്തുന്നു, സേവനത്തിന്റെ യഥാർത്ഥ നാമം app.corp.example ആണ്.

ഘട്ടം 1: ശ്രോതാവിനെ loopback-ൽ മാത്രം ബന്ധിപ്പിക്കുക

നെറ്റ്വർക്ക്, രീതി, നിയമ വിഭാഗങ്ങൾ ഇൻസ്റ്റൻസിന്റെ സജീവ കോൺഫിഗറേഷനിൽ ഇടുക, ഉദാഹരണ വിലാസങ്ങൾ മാറ്റി. എല്ലാ സെർവർ ക്രമീകരണങ്ങളും നിയമ ബ്ലോക്കുകൾക്ക് മുമ്പ് വരുന്നു:

internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none

client pass {
    from: 127.0.0.1/32 to: 127.0.0.1/32
}

socks pass {
    from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
    command: connect
    protocol: tcp
}

ഇത് ഒരു ശകലമാണ്, പാക്കേജിന്റെ ഉപയോക്തൃ, ലോഗ് ക്രമീകരണങ്ങൾക്ക് പകരമല്ല. ഉപയോഗിക്കാത്ത ലോക്കൽ പോർട്ട് തിരഞ്ഞെടുക്കുക, ഈ സമർപ്പിത ഇൻസ്റ്റൻസിന് മറ്റ് ശ്രോതാക്കളോ കൂടുതൽ വിശാലമായ പാസ് നിയമങ്ങളോ കരാർ മാറ്റുന്ന അപ്സ്ട്രീം ചെയിനിംഗ് എൻട്രികളോ ഇല്ലെന്ന് ഉറപ്പാക്കുക. മുൻ കോൺഫിഗറേഷൻ socks pass ലക്ഷ്യ-നിയന്ത്രണമില്ലാതെ വിട്ടിട്ടുണ്ടെങ്കിൽ, എന്തെങ്കിലും പരിശോധിക്കുന്നതിന് മുമ്പ് അത് നീക്കുക.

ഈ ഘട്ടത്തിന്റെ തിരിച്ചുപോക്ക് ഇൻസ്റ്റൻസ് നിർത്തലാക്കലാണ്; നിങ്ങൾ അത് തിരികെ കൊണ്ടുവരുമ്പോൾ കോൺഫിഗറേഷൻ ഫയൽ ഡിസ്കിൽ തുടരാം.

ഘട്ടം 2: ഒരല്ല, രണ്ട് നിയമങ്ങൾ എഴുതുക

Dante-യുടെ കോൺഫിഗറേഷൻ റഫറൻസ് രണ്ട് നിയമ തരങ്ങൾക്ക് വ്യത്യസ്ത ജോലികൾ നൽകുന്നു. ക്ലയന്റ് നിയമം loopback ശ്രോതാവിലേക്കുള്ള ബന്ധം അനുവദിക്കുന്നു, അതിന്റെ ലക്ഷ്യസ്ഥാനം ശ്രോതാവിന്റെ സ്വന്തം വിലാസമാണ്. SOCKS നിയമം ആവശ്യപ്പെട്ട തുടർബന്ധം അംഗീകരിച്ച ഹോസ്റ്റിലേക്കും പോർട്ടിലേക്കും അനുവദിക്കുന്നു. പൊരുത്തപ്പെടാത്ത അഭ്യർത്ഥനകൾ സ്വതവേ തടയപ്പെടുന്നു, അതുകൊണ്ടാണ് കാണാത്ത നിയമം തകർന്ന റൂട്ട് പോലെ തന്നെ തോന്നുന്നത്.

ഈ കോൺഫിഗറേഷൻ ബോധപൂർവം എന്ത് ചെയ്യുന്നില്ലെന്ന് ശ്രദ്ധിക്കുക: അത് ഒരു SOCKS പാസ്വേഡും ആവശ്യപ്പെടുന്നില്ല. അത് വിശ്വസനീയമായ ലോക്കൽ ഹോസ്റ്റിന് അനുയോജ്യമാണ്, അത് ഉപയോക്തൃ സാക്ഷ്യപ്പെടുത്തലല്ല. ആ മെഷീനിലെ മറ്റേതെങ്കിലും പ്രോസസ്സിനും loopback ഉപയോഗിക്കാം. ദൂരെയുള്ള ആപ്ലിക്കേഷന്റെ സ്വന്തം സാക്ഷ്യപ്പെടുത്തൽ അതിന്റെ സ്ഥാനത്ത് നിലനിർത്തുക, ഈ സാക്ഷ്യപ്പെടുത്താത്ത രൂപം വിശ്വസനീയമല്ലാത്ത ലോക്കൽ ഉപയോക്താക്കൾക്കോ LAN-ലേക്ക് നോക്കുന്ന ശ്രോതാവിനോ വീണ്ടും ഉപയോഗിക്കരുത്.

ഘട്ടം 3: ശരിയായ ഉറവിടത്തിൽ നിന്ന് റൂട്ട് പരിശോധിക്കുക

external പുറത്തേക്കുള്ള ഉറവിട വിലാസം തിരഞ്ഞെടുക്കുന്നു; അത് WireGuard റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നില്ല. ഉദാഹരണ ഉറവിടത്തിനും ലക്ഷ്യസ്ഥാനത്തിനുമുള്ള വായന-മാത്ര തിരച്ചിൽ:

ip -4 route get 10.60.0.20 from 10.77.0.2

അത് Dante-യുടെ യഥാർത്ഥ നെറ്റ്വർക്ക് നാമസ്ഥലത്ത് പ്രവർത്തിപ്പിക്കുക, നിങ്ങൾ തുറന്നിട്ടുള്ള ഏതെങ്കിലും ഷെല്ലിൽ അല്ല. റൂട്ട്, WireGuard പിയർ തിരഞ്ഞെടുപ്പ്, ദൂരെയുള്ള വശത്തെ അനുമതി, തിരിച്ചുവരവ് പാത എന്നിവയെല്ലാം ആ ഉറവിട വിലാസവുമായി പൊരുത്തപ്പെടണം. വിജയകരമായ തിരച്ചിൽ ആവശ്യമാണ്, പര്യാപ്തമല്ല, കാരണം ദൂരെയുള്ള അറ്റം അഭ്യർത്ഥന സ്വീകരിക്കുന്നുണ്ടോ എന്നതിനെക്കുറിച്ച് അത് ഒന്നും പറയുന്നില്ല.

തിരച്ചിൽ വിജയിക്കാൻ ഡിഫോൾട്ട് റൂട്ട് ചേർക്കാനുള്ള പ്രലോഭനത്തെ എതിർക്കുക. പ്രോക്സി പോർട്ട് ഈ വർക്ക്സ്റ്റേഷനിൽ മാത്രമേയുള്ളൂ; അത് സൃഷ്ടിക്കാൻ ഹോസ്റ്റിന്റെ ഡിഫോൾട്ട് റൂട്ട് മാറ്റുന്നത് മുഴുവൻ രൂപകല്പനയും തലകീഴായി മാറ്റുന്നു.

ഘട്ടം 4: ഉദ്ദേശിച്ച ഐഡന്റിറ്റിയോടെ പരിശോധിക്കുക

ഉടമ ഇൻസ്റ്റാൾ ചെയ്ത കോൺഫിഗറേഷൻ സാധൂകരിച്ച് സേവന മാനേജർ വഴി ഇൻസ്റ്റൻസ് ആരംഭിച്ച ശേഷം, ഒരു ഉദാഹരണ അഭ്യർത്ഥന ഇതാണ്:

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/

ഇതോടൊപ്പം socks5h, Dante ലക്ഷ്യസ്ഥാന വിവേചനം ചെയ്യുന്നു, പക്ഷേ Dante ഈ വർക്ക്സ്റ്റേഷനിൽ പ്രവർത്തിക്കുന്നു, അതിനാൽ ക്രമീകരണം സ്വയം DNS ടണലിന്റെ ദൂരെയുള്ള അറ്റത്തേക്ക് അയയ്ക്കുന്നില്ല. Dante ഉപയോഗിക്കുന്ന അംഗീകൃത റിസോൾവർ ആ നാമത്തിന് അനുവദിച്ച വിലാസം തിരികെ നൽകണം. ശൂന്യമായ no-proxy പട്ടിക പാരമ്പര്യമായി ലഭിച്ച ഒഴിവാക്കലിനെ SOCKS-നെ നിശ്ശബ്ദമായി ഒഴിവാക്കാൻ അനുവദിക്കുന്നില്ല.

പരിശോധനയിൽ HTTPS ഹോസ്റ്റ്നാമും സർട്ടിഫിക്കറ്റ് സാധൂകരണവും നിലനിർത്തുക, തുടർന്ന് യഥാർത്ഥ ശ്രോതാവ് പരിശോധിച്ച് കരാറിന്റെ രണ്ട് പകുതികളും സ്ഥിരീകരിക്കുക: അനുവദിച്ച അഭ്യർത്ഥന വിജയിക്കുന്നു, ഒഴിവാക്കിയ ലക്ഷ്യസ്ഥാനം പരാജയപ്പെടുന്നു. പിന്തുണയില്ലാത്ത ഫോർവേഡിംഗ് കമാൻഡുകൾ നിരസിക്കപ്പെട്ടു തുടരുന്നുവെന്നും പരിശോധിക്കുക, കാരണം ഈ ശകലം TCP-യിൽ SOCKS CONNECT കമാൻഡ് അനുവദിക്കുന്നു, പൊതുവായ UDP അല്ലെങ്കിൽ മുഴുവൻ ഉപകരണ ടണൽ പോലെയുള്ള ഒന്നും അല്ല.

ഘട്ടം 5: ടണൽ വീഴുമ്പോൾ എന്ത് സംഭവിക്കുമെന്ന് തീരുമാനിക്കുക

ഇതിനെ ഉത്പാദനം എന്ന് വിളിക്കുന്നതിന് മുമ്പ് ടണൽ-നഷ്ടവും ഇൻസ്റ്റൻസ് പുനരാരംഭവും പരിശോധിക്കുക. WireGuard-ന് ശേഷം Dante ആരംഭിക്കുന്ന സൂപ്പർവൈസർ fail-closed റൂട്ടിംഗും fail-closed DNS-ഉം സൃഷ്ടിക്കുന്നില്ല; രണ്ടും നെറ്റ്വർക്ക് ഉടമയിലൂടെ നിർബന്ധമാക്കണം. ടണൽ താഴെയായിരിക്കുമ്പോൾ ആപ്ലിക്കേഷൻ എന്ത് ചെയ്യുന്നുവെന്ന് നിരീക്ഷിക്കുക: വ്യക്തമായ പിശക് നല്ല ഫലമാണ്, പൊതു റിസോൾവറിലേക്ക് നിശ്ശബ്ദമായി വീഴുന്നത് അല്ല.

ബന്ധിച്ച ടണൽ വിലാസം മാറിയാൽ അപ്ഡേറ്റുകൾ ഏകോപിപ്പിക്കുക, കാരണം external അതിൽ പിൻ ചെയ്തിരിക്കുന്നു. ഈ ക്രമീകരണം ഇനി ആവശ്യമില്ലാത്തപ്പോൾ, ഈ ഇൻസ്റ്റൻസും ആപ്ലിക്കേഷന്റെ പ്രോക്സി ക്രമീകരണവും ഒരുമിച്ച് വിരമിക്കുക, WireGuard പാത അതിന്റെ ഉടമയ്ക്ക് വിടുക.

അനുബന്ധ ലേഖനങ്ങൾ