Linux VPN ക്ലയന്റ് പഴയ ഉപകരണത്തിന്റെ പ്രോട്ടോക്കോളുമായി യോജിപ്പിക്കുക
ഉപകരണത്തിന്റെ പ്രസിദ്ധീകരിച്ച പോർട്ടുകൾ വായിക്കുക, തുടർന്ന് അനുയോജ്യമായ ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്യുക: GRE-യിൽ pppd, IKEv1 XAuth-ന് strongSwan, അല്ലെങ്കിൽ പോർട്ടലിന് openconnect.
നാല് പ്രോട്ടോക്കോൾ കുടുംബങ്ങൾ റാക്കിൽ ഇപ്പോഴും ഉള്ള ഏതാണ്ട് എല്ലാ ഉപകരണവും ഉൾക്കൊള്ളുന്നു, ഓരോന്നും Linux-ൽ വ്യത്യസ്തമായി പരാജയപ്പെടുന്നു. ഏത് പാക്കേജ് വേണമെന്ന് തീരുമാനിക്കുന്നത് ദൂരെയുള്ള ഭാഗം പ്രസിദ്ധീകരിച്ച പോർട്ടുകളും ക്രമീകരിച്ച നിർദ്ദേശങ്ങളുമാണ്, നിങ്ങൾ യാദൃച്ഛികമായി പ്രവർത്തിപ്പിക്കുന്ന വിതരണമല്ല. ഫോറം പോസ്റ്റിൽ പറയുന്നത് ഇൻസ്റ്റാൾ ചെയ്ത് എന്തെങ്കിലും കണക്ട് ആകുന്നതുവരെ എഡിറ്റ് ചെയ്യുന്നതാണ് ഒരു ഉച്ചയ്ക്ക് നഷ്ടപ്പെടുന്ന വഴി. ഉപകരണം വായിക്കുക, രണ്ടാമത് ഇൻസ്റ്റാൾ ചെയ്യുക, മൂന്നാമത് പരിശോധിക്കുക.
ദൂരെയുള്ള ഭാഗം എന്ത് പ്രസിദ്ധീകരിക്കുന്നു എന്ന് രേഖപ്പെടുത്തുക
പാക്കേജ് മാനേജർ തുറക്കുന്നതിന് മുമ്പ് ഉപകരണം പ്രതീക്ഷിക്കുന്ന പ്രോട്ടോക്കോൾ, പോർട്ടുകൾ, ഒപ്പം പ്രാമാണീകരണം എന്നിവ എഴുതുക. നാല് കുടുംബങ്ങൾ പഴയ ഉപകരണങ്ങളിൽ ഭൂരിഭാഗവും ഉൾക്കൊള്ളുന്നു, താഴെയുള്ള പട്ടിക ഒരു സ്ക്രീനിലെ മുഴുവൻ തീരുമാനമാണ്.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect with a TUN device |
ഉപകരണത്തിന്റെ മാനുവലും അതിന്റെ സ്വന്തം ഫയർവാൾ നിയമങ്ങളും അതിന്റെ ലോഗിൻ പേജിലെ പ്രോട്ടോക്കോൾ നാമത്തേക്കാൾ വിശ്വസനീയമാണ്. IPsec പരസ്യപ്പെടുത്തുന്ന ഉപകരണം IKEv1 മാത്രം സംസാരിച്ചേക്കാം, ആരും പ്രയോഗിക്കാത്ത ഫേംവെയർ റിലീസ് ആയിരിക്കാം ഒടുവിൽ IKEv2 ചേർക്കുന്നത്. ഡാറ്റാ പാതയും സെറ്റപ്പ് പോർട്ടും രണ്ടും സ്ഥിരീകരിക്കുക, കാരണം ഇവിടെയാണ് പഴയ ഉപകരണവും ആധുനിക നെറ്റ്വർക്കുകളും വേർതിരിയുന്നത്. ഈ ഘട്ടത്തിൽ തെറ്റ് പറ്റിയാൽ, എതിർവശത്ത് ഒരിക്കലും ഉണ്ടായിരുന്നില്ലാത്ത ഒരു സവിശേഷതയ്ക്കെതിരെ നിങ്ങളുടെ ക്ലയന്റ് ഡീബഗ് ചെയ്യുകയാണ്.
PPTP: pppd എഡിറ്റ് ചെയ്യുന്നതിന് മുമ്പ് GRE തെളിയിക്കുക
Linux-ൽ PPTP നിങ്ങൾ ആരംഭിക്കുന്ന ഡീമൺ അല്ല, pppd വിളിയാണ്, കണക്ഷൻ പാരാമീറ്ററുകൾ pppd വിളിക്കുമ്പോൾ വായിക്കുന്ന പേരുള്ള peer ഫയലിലാണ്. വിതരണങ്ങൾ ഇപ്പോഴും ഇത് പാക്കേജ് ചെയ്യുന്നു, എന്നിരുന്നാലും പ്രോട്ടോക്കോളിന്റെ അറിയപ്പെടുന്ന ബലഹീനതകൾ ഇതിനെ സങ്കീർണ്ണമായ എന്തിനും അനുയോജ്യമല്ലാതാക്കുന്നു, അതിനാൽ മറ്റൊന്നും വാഗ്ദാനം ചെയ്യാത്ത ഉപകരണത്തിന് മാത്രം ഇത് കർശനമായി സൂക്ഷിക്കുക. ക്ലയന്റ് ചർച്ച ചെയ്യുമ്പോൾ GRE ശ്രദ്ധിക്കുക, ഊഹത്തിന് പകരം ചെറിയ ക്യാപ്ചർ ഉപയോഗിച്ച്. ഏറ്റവും സമയം നഷ്ടപ്പെടുത്തുന്ന പരാജയം പ്രാമാണീകരണമല്ല, മറിച്ച് കാണാത്ത ഡാറ്റാ പാതയാണ്.
pppd call branch-office
tcpdump -ni any proto gre -c 5
സെറ്റപ്പ് പൂർത്തിയായി ലിങ്ക് ഒരിക്കലും ട്രാഫിക് വഹിക്കുന്നില്ലെങ്കിൽ, ക്രെഡൻഷ്യലുകൾ തൊടുന്നതിന് മുമ്പ് GRE പാത സംശയിക്കുക. ക്ലൗഡ് സെക്യൂരിറ്റി ഗ്രൂപ്പുകൾക്ക് പ്രോട്ടോക്കോൾ 47-ന് വ്യക്തമായ നിയമം വേണം, ചില നെറ്റ്വർക്കുകൾ കാണാവുന്ന പിശകില്ലാതെ ഇത് പൂർണ്ണമായി തടയുന്നു. നിങ്ങൾ യഥാർത്ഥത്തിൽ ഉപയോഗിക്കുന്ന നെറ്റ്വർക്കിൽ നിന്ന് പരിശോധിക്കുക, എല്ലാം അനുവദിക്കുന്ന ലാബിൽ നിന്നല്ല.
L2TP/IPsec: ഒരു യോജിച്ച നിർദ്ദേശം പത്ത് ശ്രമങ്ങളെ തോൽപ്പിക്കുന്നു
ഡെസ്ക്ടോപ്പ് ഡയലോഗിന് പകരം ഡീമൺ ലോഗ് വായിക്കുക, കാരണം ഡയലോഗ് പല വ്യത്യസ്ത പരാജയങ്ങളെ ഒരു സന്ദേശത്തിൽ ചേർക്കുന്നു. NO_PROPOSAL_CHOSEN പിശക് ആദ്യ ഘട്ടത്തിലേതാണ്: സർവർ സ്വീകരിക്കാത്ത എൻക്രിപ്ഷൻ, ഹാഷ് അല്ലെങ്കിൽ Diffie-Hellman ഗ്രൂപ്പ് ക്ലയന്റ് നിർദ്ദേശിച്ചു. ഉപകരണം എന്ത് പിന്തുണയ്ക്കുന്നു എന്ന് പട്ടികപ്പെടുത്തി അതിന് യോജിക്കുന്ന ഒരു നിർദ്ദേശം എഴുതുക, കാരണം ക്രമരഹിതമായ കോമ്പിനേഷനുകൾ സാധാരണയായി അതേ പിശക് സാവധാനം നൽകുന്നു. ഡെസ്ക്ടോപ്പിൽ പ്രായോഗിക ക്ലയന്റ് താഴെ strongSwan അല്ലെങ്കിൽ Libreswan ഉള്ള NetworkManager L2TP പ്ലഗിൻ ആണ്.
ഡെസ്ക്ടോപ്പ് പ്ലഗിന് ഒരു അർത്ഥമുള്ള നിർദ്ദേശ ശ്രേണി ജോലി കൈമാറുന്ന ഡീമണിന് മറ്റൊരു അർത്ഥമാകാം, അതിനാൽ നിങ്ങൾ എഡിറ്റ് ചെയ്യുന്ന പാളിക്ക് അനുയോജ്യമായ വാക്യഘടന നിലനിർത്തുക. ഉപകരണം ടണൽ രഹസ്യവും ആവശ്യപ്പെടുന്നുവെങ്കിൽ അത് IPsec കീയിൽ നിന്ന് വേറിട്ട ഘട്ടമാണ്. എന്തെങ്കിലും ടൈപ്പ് ചെയ്യുന്നതിന് മുമ്പ് ഇന്റർഫേസ് ഏതാണ് ചോദിക്കുന്നതെന്ന് സ്ഥിരീകരിക്കുക.
XAuth-നൊപ്പം ആക്രമണാത്മക IKEv1, പോർട്ടൽ കേസ്
FortiGate ശൈലിയിലുള്ള എൻഡ്പോയിന്റ് സാധാരണയായി ആഗ്രഹിക്കുന്നത് XAuth-നൊപ്പം ആക്രമണാത്മക മോഡും കോൺഫിഗർ ചെയ്ത മോഡ് വിലാസവും, അത് ഗ്രാഫിക്കൽ പ്ലഗിൻ ഒട്ടും കാണിച്ചേക്കില്ല. നേറ്റീവ് ഡീമൺ ഇത് കൈകാര്യം ചെയ്യുന്നു, താഴെയുള്ള ബ്ലോക്ക് പൂർണ്ണ ഫയലല്ല, ആ കോൺഫിഗറേഷന്റെ രൂപമാണ്. നിർദ്ദേശ മൂല്യങ്ങൾക്ക് വെണ്ടറുടെ ഏറ്റവും പുതിയ ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
പഴയ strongSwan റിലീസുകൾ പതിപ്പ് 5 leftauth2=xauth ഉപയോഗിക്കുന്നിടത്ത് xauth=client ഉപയോഗിച്ചിരുന്നു, അതിനാൽ പകർത്തിയ സ്നിപ്പെറ്റ് വാക്യഘടന കൊണ്ട് മാത്രം പരാജയപ്പെടാം. TLS പോർട്ടലിന്, AnyConnect പ്രോട്ടോക്കോൾ സംസാരിക്കുന്ന openconnect Cisco-യും മിക്ക റീബ്രാൻഡുകളും കൈകാര്യം ചെയ്യുന്നു, അതിന് TUN ഉപകരണവും അത് കോൺഫിഗർ ചെയ്യാനുള്ള അനുമതികളും വേണം. പോർട്ടൽ വിലാസം ബ്രൗസർ കാണിക്കുന്നത് പോലെ തന്നെ നൽകുക, ഉപകരണം പ്രതീക്ഷിക്കുന്ന ഏത് പാതയും ഉൾപ്പെടെ, തുടർന്ന് അതിന് പിന്നിൽ എന്തും പരിശോധിക്കുന്നതിന് മുമ്പ് അനുവദിച്ച വിലാസം പരിശോധിക്കുക. ഇന്റർഫേസ് മുൻകൂട്ടി സൃഷ്ടിക്കുന്നത് സെറ്റപ്പ് സമയത്ത് ഒരു തരം അത്ഭുതം ഒഴിവാക്കുന്നു.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
കണക്ട് ചെയ്യുക, തുടർന്ന് നിശ്ചിത ക്രമത്തിൽ പരിശോധിക്കുക
ഒരു സമയം കൃത്യമായി ഒരു VPN മാനേജർ മാത്രം പ്രവർത്തിപ്പിക്കുക, കാരണം NetworkManager പ്രൊഫൈലും കൈകൊണ്ട് ആരംഭിച്ച ഡീമണും റൂട്ടുകൾക്കും DNS-നും വേണ്ടി തർക്കിക്കും. കൈകൊണ്ടുള്ള കണക്ഷൻ പരിശോധിക്കുന്നതിന് മുമ്പ് പ്രൊഫൈൽ താഴെയിറക്കുക, പഴയ ടണൽ ഇന്റർഫേസ് അവശേഷിക്കുന്നില്ലെന്ന് സ്ഥിരീകരിക്കുക. തുടർന്ന് ഈ ക്രമത്തിൽ പരിശോധിക്കുക: ടണൽ വിലാസം, നിങ്ങൾക്ക് ആവശ്യമായ ഏക ആന്തരിക ഹോസ്റ്റിലേക്കുള്ള റൂട്ട്, നാമ വിശകലനം, ഒടുവിൽ യഥാർത്ഥ അഭ്യർത്ഥന. പച്ച ഐക്കൺ പ്രാമാണീകരണം തെളിയിക്കുന്നു, അത്രമാത്രം.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
ഏതെങ്കിലും ഘട്ടം പരാജയപ്പെട്ടാൽ അടുത്തത് പരിശോധിക്കുന്നതിന് പകരം അവിടെ നിർത്തുക, കാരണം തകർന്ന റൂട്ടിന് താഴെയുള്ള DNS പരാജയം നിങ്ങൾക്ക് ഒന്നും പഠിപ്പിക്കുന്നില്ല. പരീക്ഷിക്കുന്നതിന് മുമ്പ് പ്രവർത്തിക്കുന്ന പ്രൊഫൈലിന്റെ പകർപ്പ് സൂക്ഷിക്കുക, കാരണം മായ്ച്ച കണക്ഷൻ ഫയൽ നഷ്ടപ്പെടാൻ എളുപ്പവും വീണ്ടും നിർമ്മിക്കാൻ ക്ഷീണവുമാണ്. നിർദ്ദേശ മൂല്യങ്ങൾ ഉപകരണ മോഡലും ഫേംവെയർ പതിപ്പും ഉള്ള അതേ കുറിപ്പിൽ സൂക്ഷിക്കുക, കാരണം ബോക്സ് മാറ്റുമ്പോൾ ആ കുറിപ്പാണ് മാറ്റിസ്ഥാപനവും പുരാവസ്തു പദ്ധതിയും തമ്മിലുള്ള വ്യത്യാസം.