Openconnect සහ vpn-slice භාවිතයෙන් Linux හි ආයතනික VPN වෙත සම්බන්ධ වන්නේ කෙසේද

ඔබට වැඩ කිරීමේදී Linux භාවිත කිරීමට අවශ්‍යද, නමුත් ඔබේ ආයතනික VPN ඔබට ඉඩ නොදෙන්නේද? එසේ නම්, මෙය නිශ්චිත නැතත්, මෙම ලිපිය උපකාර විය හැක. ජාල පරිපාලන ගැටළු මට හොඳින් නොතේරෙන බව කල්තියාම ඔබට අනතුරු ඇඟවීමට කැමැත්තෙමි, එබැවින් මම සෑම දෙයක්ම වැරදි ලෙස කළ හැකිය. අනෙක් අතට, මට සාමාන්‍ය මිනිසුන්ට තේරුම් ගත හැකි පරිදි මාර්ගෝපදේශයක් ලිවිය හැකි බැවින් එය උත්සාහ කරන ලෙස මම ඔබට උපදෙස් දෙමි.

ලිපියේ අනවශ්‍ය තොරතුරු රාශියක් අඩංගු වේ, නමුත් මෙම දැනුමෙන් තොරව VPN එකක් සැකසීමේදී මට අනපේක්ෂිත ලෙස මතු වූ ගැටළු විසඳීමට මට නොහැකි වනු ඇත. මෙම මාර්ගෝපදේශය භාවිතා කිරීමට උත්සාහ කරන ඕනෑම කෙනෙකුට මා සතුව නොතිබූ ගැටළු ඇති බව මම සිතමි, තවද මෙම අමතර තොරතුරු මෙම ගැටළු තනිවම විසඳා ගැනීමට උපකාරී වනු ඇතැයි මම බලාපොරොත්තු වෙමි.

මෙම මාර්ගෝපදේශයෙහි භාවිතා වන බොහෝ විධාන කෙටිකතාව සඳහා ඉවත් කර ඇති sudo හරහා ධාවනය කළ යුතුය. මතක තබා ගන්න.

බොහෝ IP ලිපින දැඩි ලෙස අපැහැදිලි වී ඇත, එබැවින් ඔබ 435.435.435.435 වැනි ලිපිනයක් දුටුවහොත්, ඔබේ නඩුවට විශේෂිත වූ සාමාන්‍ය IP කිහිපයක් එහි තිබිය යුතුය.

මා සතුව Ubuntu 18.04 ඇත, නමුත් මම සිතන්නේ සුළු වෙනස්කම් සමඟ මාර්ගෝපදේශය වෙනත් බෙදාහැරීම් සඳහා යෙදිය හැකි බවයි. කෙසේ වෙතත්, මෙම පාඨයේ Linux == Ubuntu.

Cisco Connect

Windows හෝ MacOS හි සිටින අයට Cisco Connect හරහා අපගේ ආයතනික VPN වෙත සම්බන්ධ විය හැක, එයට ද්වාර ලිපිනය සඳහන් කිරීමට අවශ්‍ය වන අතර, ඔබ සම්බන්ධ වන සෑම අවස්ථාවකම, Google Authenticator මගින් ජනනය කරන ලද ස්ථාවර කොටසකින් සහ කේතයකින් සමන්විත මුරපදයක් ඇතුළත් කරන්න.

ලිනක්ස් සම්බන්ධයෙන් ගත් කල, මට සිස්කෝ කනෙක්ට් ක්‍රියාත්මක කිරීමට නොහැකි විය, නමුත් සිස්කෝ කනෙක්ට් ප්‍රතිස්ථාපනය කිරීමට විශේෂයෙන් සාදන ලද ඕපන් කනෙක්ට් භාවිතා කිරීමට නිර්දේශයක් ගූගල් කිරීමට මට හැකි විය.

Openconnect

න්‍යායාත්මකව, Ubuntu හට openconnect සඳහා විශේෂ චිත්‍රක අතුරු මුහුණතක් ඇත, නමුත් එය මට වැඩ කළේ නැත. සමහර විට එය වඩා හොඳ සඳහා විය හැකිය.

උබුන්ටු මත, openconnect ස්ථාපනය කර ඇත්තේ පැකේජ කළමනාකරු වෙතින් ය.

apt install openconnect

ස්ථාපනය කිරීමෙන් පසු, ඔබට VPN වෙත සම්බන්ධ වීමට උත්සාහ කළ හැකිය

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com යනු ව්‍යාජ VPN එකක ලිපිනයයි
poxvuibr - කල්පිත පරිශීලක නාමය

openconnect ඔබෙන් මුරපදයක් ඇතුළත් කිරීමට අසනු ඇත, එය ඔබට මතක් කිරීමට ඉඩ දෙන්න, ස්ථාවර කොටසකින් සහ Google Authenticator වෙතින් කේතයකින් සමන්විත වේ, පසුව එය vpn වෙත සම්බන්ධ වීමට උත්සාහ කරයි. එය ක්‍රියාත්මක වන්නේ නම්, සුබ පැතුම්, ඔබට ආරක්ෂිතව මැද මඟ හැරිය හැක, එය බොහෝ වේදනාවක් වන අතර, පසුබිමේ ක්‍රියාත්මක වන openconnect පිළිබඳ කාරණය වෙත යන්න. එය ක්‍රියාත්මක නොවන්නේ නම්, ඔබට දිගටම කරගෙන යා හැක. සම්බන්ධ වන විට එය ක්‍රියාත්මක වුවද, උදාහරණයක් ලෙස, වැඩ කරන ආගන්තුක Wi-Fi වෙතින්, ප්‍රීති වීමට ඉක්මන් විය හැකිය; ඔබ නිවසේ සිට ක්‍රියා පටිපාටිය නැවත කිරීමට උත්සාහ කළ යුතුය.

සහතිකය

කිසිවක් ආරම්භ නොවන බවට ඉහළ සම්භාවිතාවක් ඇති අතර, openconnect ප්‍රතිදානය මේ වගේ දෙයක් පෙනෙනු ඇත:

POST https://vpn.evilcorp.com/
Connected to 777.777.777.777:443
SSL negotiation with vpn.evilcorp.com
Server certificate verify failed: signer not found

Certificate from VPN server "vpn.evilcorp.com" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
    --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444
Enter 'yes' to accept, 'no' to abort; anything else to view: fgets (stdin): Operation now in progress

එක් අතකින්, මෙය අප්රසන්නය, මන්ද VPN වෙත කිසිදු සම්බන්ධයක් නොතිබුණි, නමුත් අනෙක් අතට, මෙම ගැටළුව විසඳන්නේ කෙසේද යන්න, ප්රතිපත්තිමය වශයෙන්, පැහැදිලිය.

මෙහිදී සේවාදායකයා අපට සහතිකයක් එවා ඇති අතර, එමඟින් සම්බන්ධතාවය සිදු වන්නේ අපගේ දේශීය සංස්ථාවේ සේවාදායකයට මිස නපුරු වංචාකරුවෙකුට නොවන බව තීරණය කළ හැකි අතර මෙම සහතිකය පද්ධතිය නොදනී. එබැවින් සේවාදායකය සැබෑද නැද්ද යන්න ඇයට පරීක්ෂා කළ නොහැක. ඉතින්, යම් අවස්ථාවක දී, එය වැඩ කිරීම නතර කරයි.

Openconnect සේවාදායකයට සම්බන්ධ වීමට නම්, —servercert යතුර භාවිතයෙන් VPN සේවාදායකයෙන් කුමන සහතිකය පැමිණිය යුතුද යන්න ඔබ පැහැදිලිව පැවසිය යුතුය.

තවද ඔබට සේවාදායකය විසින් අපට එවන ලද සහතිකය කුමන openconnect මුද්‍රණය කරද යන්නෙන් කෙලින්ම සොයාගත හැකිය. මෙන්න මේ කෑල්ලෙන්:

To trust this server in future, perhaps add this to your command line:
    --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444
Enter 'yes' to accept, 'no' to abort; anything else to view: fgets (stdin): Operation now in progress

මෙම විධානය සමඟ ඔබට නැවත සම්බන්ධ වීමට උත්සාහ කළ හැකිය

openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr vpn.evilcorp.com

සමහර විට දැන් එය ක්‍රියාත්මක වේ, එවිට ඔබට අවසානය දක්වා යා හැකිය. නමුත් පුද්ගලිකව, Ubunta මට මේ ආකාරයෙන් අත්තික්කා පෙන්නුවා

POST https://vpn.evilcorp.com/
Connected to 777.777.777.777:443
SSL negotiation with vpn.evilcorp.com
Server certificate verify failed: signer not found
Connected to HTTPS on vpn.evilcorp.com
XML POST enabled
Please enter your username and password.
POST https://vpn.evilcorp.com/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 300, Keepalive 30
Set up DTLS failed; using SSL instead
Connected as 192.168.333.222, using SSL
NOSSSSSHHHHHHHDDDDD
3
NOSSSSSHHHHHHHDDDDD
3
RTNETLINK answers: File exists
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf

/etc/resolv.conf

# Generated by NetworkManager
search gst.evilcorpguest.com
nameserver 127.0.0.53

/run/resolvconf/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 192.168.430.534
nameserver 127.0.0.53
search evilcorp.com gst.publicevilcorp.com

habr.com විසඳනු ඇත, නමුත් ඔබට එහි යාමට නොහැකි වනු ඇත. jira.evilcorp.com වැනි ලිපින කිසිසේත් විසඳා නැත.

මෙහි සිදුවූයේ කුමක්දැයි මට පැහැදිලි නැත. නමුත් අත්හදා බැලීමෙන් පෙන්නුම් කරන්නේ ඔබ /etc/resolv.conf වෙත රේඛාව එකතු කළහොත් බවයි

nameserver 192.168.430.534

එවිට VPN තුළ ඇති ලිපින ඉන්ද්‍රජාලික ලෙස නිරාකරණය වීමට පටන් ගන්නා අතර ඔබට ඒවා හරහා ගමන් කළ හැකිය, එනම්, DNS ලිපින විසඳීමට සොයන දේ විශේෂයෙන් පෙනෙන්නේ /etc/resolv.conf හි මිස වෙනත් ස්ථානයක නොවේ.

ඔබට VPN වෙත සම්බන්ධතාවයක් ඇති බව තහවුරු කර ගත හැකි අතර එය /etc/resolv.conf වෙත කිසිදු වෙනසක් නොකර ක්‍රියා කරයි; මෙය සිදු කිරීම සඳහා, VPN වෙතින් ලැබෙන සම්පතේ සංකේතාත්මක නම නොව එහි IP ලිපිනය බ්‍රවුසරයට ඇතුළත් කරන්න.

එහි ප්රතිඵලයක් වශයෙන් ගැටළු දෙකක් තිබේ

  • VPN වෙත සම්බන්ධ වන විට, එහි dns ලබා නොගනී
  • සියලුම ගමනාගමනය VPN හරහා ගමන් කරයි, එය අන්තර්ජාලයට ප්‍රවේශ වීමට ඉඩ නොදේ

දැන් කළ යුතු දේ මම ඔබට කියන්නම්, නමුත් පළමුව කුඩා ස්වයංක්රීයකරණය.

මුරපදයේ ස්ථාවර කොටස ස්වයංක්‍රීයව ඇතුළත් කිරීම

මේ වන විට, ඔබ බොහෝ විට ඔබගේ මුරපදය අවම වශයෙන් පස් වතාවක් ඇතුළත් කර ඇති අතර මෙම ක්රියා පටිපාටිය දැනටමත් ඔබව වෙහෙසට පත් කර ඇත. පළමුව, මුරපදය දිගු බැවින්, සහ දෙවනුව, ඇතුල් වන විට ඔබ ස්ථාවර කාල සීමාවක් තුළට ගැලපෙන බැවිනි

ගැටලුවට අවසාන විසඳුම ලිපියෙහි ඇතුළත් කර නැත, නමුත් මුරපදයේ ස්ථාවර කොටස බොහෝ වාරයක් ඇතුළත් කිරීමට අවශ්ය නොවන බවට ඔබට සහතික විය හැකිය.

අපි උපකල්පනය කරමු මුරපදයේ ස්ථාවර මුරපදය fixedPassword, සහ Google Authenticator වෙතින් කොටස 567. සම්පූර්ණ මුරපදය --passwd-on-stdin තර්කය භාවිතයෙන් සම්මත ආදානය හරහා openconnect වෙත යැවිය හැක.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr vpn.evilcorp.com --passwd-on-stdin

දැන් ඔබට අවසන් වරට ඇතුළත් කළ විධානයට නිරන්තරයෙන් ආපසු යා හැකි අතර එහි Google Authenticator හි කොටසක් පමණක් වෙනස් කළ හැකිය.

ආයතනික VPN ඔබට අන්තර්ජාලයේ සැරිසැරීමට ඉඩ නොදේ.

සාමාන්යයෙන්, ඔබ Habr වෙත යාමට වෙනම පරිගණකයක් භාවිතා කිරීමට සිදු වන විට එය ඉතා අපහසු නොවේ. Stackoverfow වෙතින් පිටපත් කිරීමට ඇති නොහැකියාව සාමාන්‍යයෙන් වැඩ අඩාල කළ හැකිය, එබැවින් යමක් කළ යුතුය.

අපි එය කෙසේ හෝ සංවිධානය කළ යුතු අතර එමඟින් ඔබට අභ්‍යන්තර ජාලයෙන් සම්පතක් වෙත ප්‍රවේශ වීමට අවශ්‍ය වූ විට, Linux VPN වෙත යන අතර ඔබට Habr වෙත යාමට අවශ්‍ය වූ විට එය අන්තර්ජාලයට යයි.

openconnect, vpn සමඟ සම්බන්ධතාවයක් දියත් කර ස්ථාපනය කිරීමෙන් පසුව, /usr/share/vpnc-scripts/vpnc-script හි පිහිටා ඇති විශේෂ ස්ක්‍රිප්ට් එකක් ක්‍රියාත්මක කරයි. සමහර විචල්‍යයන් ආදානය ලෙස ස්ක්‍රිප්ට් වෙත යවන අතර එය VPN වින්‍යාස කරයි. අවාසනාවන්ත ලෙස, ස්වදේශීය ස්ක්‍රිප්ට් එකක් භාවිතයෙන් ආයතනික VPN සහ අනෙකුත් අන්තර්ජාලය අතර ගමනාගමන ප්‍රවාහයන් බෙදන්නේ කෙසේදැයි මට සොයා ගැනීමට නොහැකි විය.

පෙනෙන විදිහට, vpn-slice උපයෝගීතාව විශේෂයෙන් මා වැනි පුද්ගලයින් සඳහා සංවර්ධනය කරන ලද අතර එමඟින් ඔබට රබන් සමඟ නටන්නේ නැතිව නාලිකා දෙකක් හරහා ගමනාගමනය යැවීමට ඉඩ සලසයි. හොඳයි, එනම්, ඔබට නටන්නට සිදු වනු ඇත, නමුත් ඔබ ෂාමන් විය යුතු නැත.

vpn-slice භාවිතයෙන් රථවාහන වෙන් කිරීම

පළමුව, ඔබට vpn-slice ස්ථාපනය කිරීමට සිදුවනු ඇත, ඔබට මෙය ඔබම තේරුම් ගත යුතුය. කමෙන්ට් වල ප්‍රශ්න තියෙනවනම් මේ ගැන වෙනම පෝස්ට් එකක් ලියන්නම්. නමුත් මෙය සාමාන්‍ය පයිතන් වැඩසටහනකි, එබැවින් කිසිදු දුෂ්කරතාවයක් ඇති නොවිය යුතුය. මම virtualenv භාවිතයෙන් ස්ථාපනය කළෙමි.

ඉන්පසු -ස්ක්‍රිප්ට් ස්විචය භාවිතයෙන් උපයෝගීතාව යෙදිය යුතු අතර, සම්මත ස්ක්‍රිප්ට් වෙනුවට ඔබ vpn-slice භාවිතා කළ යුතු බව openconnect කිරීමට අඟවයි.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin 
--script "./bin/vpn-slice 192.168.430.0/24  " vpn.evilcorp.com 

--script script එක වෙනුවට කැඳවිය යුතු විධානයක් සහිත තන්තුවක් යවනු ලැබේ. ./bin/vpn-slice - vpn-slice ක්‍රියාත්මක කළ හැකි ගොනුව වෙත මාර්ගය 192.168.430.0/24 - vpn වෙත යා යුතු ලිපින ආවරණය. මෙහිදී, අපි අදහස් කරන්නේ ලිපිනය 192.168.430 න් ආරම්භ වන්නේ නම්, මෙම ලිපිනය සහිත සම්පත VPN තුළ සෙවිය යුතු බවයි.

දැන් තත්ත්වය බොහෝ දුරට සාමාන්‍ය විය යුතුය. පාහේ. දැන් ඔබට Habr වෙත යා හැකි අතර ඔබට ip මගින් අභ්‍යන්තර ආයතනික සම්පත් වෙත යා හැකි නමුත් සංකේතාත්මක නාමයෙන් ඔබට අභ්‍යන්තර ආයතනික සම්පත් වෙත යා නොහැක. ඔබ සත්කාරකවල සංකේතාත්මක නම සහ ලිපිනය අතර ගැළපීමක් සඳහන් කරන්නේ නම්, සියල්ල ක්‍රියාත්මක විය යුතුය. ඒවගේම ip එක වෙනස් වෙනකම් වැඩ කරන්න. IP මත පදනම්ව Linux හට දැන් අන්තර්ජාලයට හෝ අන්තර්ජාලයට පිවිසිය හැක. නමුත් ලිපිනය තීරණය කිරීම සඳහා ආයතනික නොවන DNS තවමත් භාවිතා වේ.

ගැටළුව මෙම ස්වරූපයෙන් ද ප්‍රකාශ විය හැකිය - රැකියාවේදී සියල්ල හොඳින් ඇත, නමුත් නිවසේදී ඔබට ප්‍රවේශ විය හැක්කේ අභ්‍යන්තර ආයතනික සම්පත් IP හරහා පමණි. මෙයට හේතුව ඔබ ආයතනික Wi-Fi වෙත සම්බන්ධ වූ විට, ආයතනික DNS ද භාවිතා වන අතර, VPN භාවිතා නොකර එවැනි ලිපිනයකට යාමට තවමත් නොහැකි වුවද, VPN වෙතින් සංකේතාත්මක ලිපින එහි විසඳනු ලැබේ.

ධාරක ගොනුව ස්වයංක්‍රීයව වෙනස් කිරීම

vpn-slice කාරුණිකව විමසන්නේ නම්, VPN ඉහළ නැංවීමෙන් පසු, එයට එහි DNS වෙත ගොස්, අවශ්‍ය සම්පත් වල IP ලිපින ඒවායේ සංකේතාත්මක නම් වලින් සොයාගෙන ඒවා සත්කාරකවලට ඇතුළත් කළ හැකිය. VPN ක්‍රියා විරහිත කිරීමෙන් පසු, මෙම ලිපින සත්කාරක වෙතින් ඉවත් කරනු ලැබේ. මෙය සිදු කිරීම සඳහා, ඔබ සංකේතාත්මක නම් vpn-slice වෙත තර්ක ලෙස ලබා දිය යුතුය. මෙවැනි.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com 

දැන් සෑම දෙයක්ම කාර්යාලයේ සහ වෙරළ තීරයේ වැඩ කළ යුතුය.

VPN මගින් ලබා දී ඇති DNS හි සියලුම උප ඩොමේන් වල ලිපිනයන් සොයන්න

ජාලය තුළ ලිපින කිහිපයක් තිබේ නම්, ධාරක ගොනුව ස්වයංක්‍රීයව වෙනස් කිරීමේ ප්‍රවේශය හොඳින් ක්‍රියාත්මක වේ. නමුත් ජාලයේ සම්පත් විශාල ප්‍රමාණයක් තිබේ නම්, ඔබට නිරන්තරයෙන් zoidberg.test.evilcorp.com වැනි රේඛා ස්ක්‍රිප්ට් එකට එකතු කිරීමට අවශ්‍ය වනු ඇත zoidberg යනු ටෙස්ට් බංකු වලින් එකක නමයි.

නමුත් මෙම අවශ්‍යතාවය ඉවත් කළ හැක්කේ මන්දැයි දැන් අපට ටිකක් තේරෙනවා.

VPN ඉහළ නැංවීමෙන් පසු, ඔබ /etc/hosts තුළ බැලුවහොත්, ඔබට මෙම රේඛාව දැකිය හැක

192.168.430.534 dns0.tun0 # vpn-slice-tun0 AUTOCREATED

සහ resolv.conf වෙත නව රේඛාවක් එක් කරන ලදී. කෙටියෙන් කිවහොත්, vpn-slice කෙසේ හෝ vpn සඳහා dns සේවාදායකය පිහිටා ඇති ස්ථානය තීරණය කරයි.

දැන් අපි නරක Corp.com වලින් අවසන් වන ඩොමේන් නාමයක IP ලිපිනය සොයා ගැනීම සඳහා, Linux ආයතනික DNS වෙත යන අතර, වෙනත් යමක් අවශ්‍ය නම්, පෙරනිමියට යන බවට සහතික විය යුතුය.

මම සෑහෙන වේලාවක් ගූගල් කර බැලූ විට එවැනි ක්‍රියාකාරීත්වයක් Ubuntu හි ඇති බව සොයාගත්තා. මෙහි තේරුම නම් නිරාකරණය කිරීමට දේශීය DNS සේවාදායකය dnsmasq භාවිතා කිරීමේ හැකියාවයි.

එනම්, ලිනක්ස් සෑම විටම IP ලිපින සඳහා දේශීය DNS සේවාදායකය වෙත යන බවට ඔබට සහතික විය හැකි අතර, එය වසම් නාමය මත පදනම්ව, අනුරූප බාහිර DNS සේවාදායකයේ IP සඳහා සොයනු ඇත.

ජාල සහ ජාල සම්බන්ධතා වලට අදාළ සෑම දෙයක්ම කළමනාකරණය කිරීම සඳහා, උබුන්ටු NetworkManager භාවිතා කරයි, සහ තේරීම සඳහා චිත්‍රක අතුරු මුහුණත, උදාහරණයක් ලෙස, Wi-Fi සම්බන්ධතා එහි ඉදිරිපස කෙළවරක් පමණි.

අපි එහි වින්යාසය තුළට නැගීමට අවශ්ය වනු ඇත.

  1. /etc/NetworkManager/dnsmasq.d/evilcorp හි ගොනුවක් සාදන්න

ලිපිනය=/.evilcorp.com/192.168.430.534

Evilcorp ඉදිරිපිට ඇති කරුණ කෙරෙහි අවධානය යොමු කරන්න. එය evilcorp.com හි සියලුම උප වසම් ආයතනික dns තුළ සෙවිය යුතු බව dnsmasq වෙත සංඥා කරයි.

  1. නම විභේදනය සඳහා dnsmasq භාවිතා කිරීමට NetworkManager ට කියන්න

Network-manager වින්‍යාසය /etc/NetworkManager/NetworkManager.conf හි පිහිටා ඇත, ඔබ එහි එක් කිරීමට අවශ්‍ය වේ:

[ප්‍රධාන] dns=dnsmasq

  1. NetworkManager නැවත අරඹන්න

service network-manager restart

දැන්, openconnect සහ vpn-slice භාවිතයෙන් VPN වෙත සම්බන්ධ වූ පසු, ඔබ vpnslice වෙත තර්කවලට සංකේතාත්මක ලිපින එක් නොකළද, ip සාමාන්‍යයෙන් තීරණය වේ.

VPN හරහා තනි සේවාවන් වෙත ප්‍රවේශ වන්නේ කෙසේද

මම VPN වෙත සම්බන්ධ වීමට සමත් වූ පසු, මම දින දෙකක් ඉතා සතුටින් සිටියෙමි, පසුව මම කාර්යාල ජාලයෙන් පිටත සිට VPN වෙත සම්බන්ධ වුවහොත් තැපෑල ක්‍රියා නොකරන බව පෙනී ගියේය. රෝග ලක්ෂණය හුරුපුරුදුයි නේද?

අපගේ තැපෑල mail.publicevilcorp.com හි පිහිටා ඇත, එයින් අදහස් වන්නේ එය dnsmasq හි රීතියට යටත් නොවන අතර තැපැල් සේවාදායක ලිපිනය පොදු DNS හරහා සොයනු ලැබේ.

හොඳයි, කාර්යාලය තවමත් මෙම ලිපිනය අඩංගු DNS භාවිතා කරයි. ඒකයි මට හිතුනේ. ඇත්ත වශයෙන්ම, රේඛාව dnsmasq වෙත එකතු කිරීමෙන් පසුව

address=/mail.publicevilcorp.com/192.168.430.534

තත්ත්වය කිසිසේත්ම වෙනස් වී නැත. ip එලෙසම පැවතුනි. මට වැඩට යන්න වුණා.

පසුව, මම තත්වය ගැඹුරින් සොයා බලා ගැටලුව මඳක් තේරුම් ගත් විට, එක් බුද්ධිමත් පුද්ගලයෙක් එය විසඳන්නේ කෙසේදැයි මට කීවේය. තැපැල් සේවාදායකයට සම්බන්ධ වීමට අවශ්‍ය වූයේ එසේ නොවේ, නමුත් VPN හරහා

192.168.430 න් ආරම්භ වන ලිපින වෙත VPN හරහා යාමට මම vpn-slice භාවිතා කරමි. තවද තැපැල් සේවාදායකයට දුෂ්ටාත්මයේ උප ඩොමේනයක් නොවන සංකේතාත්මක ලිපිනයක් පමණක් නොව, 192.168.430 න් ආරම්භ වන IP ලිපිනයක් ද නොමැත. ඇත්ත වශයෙන්ම ඔහු සාමාන්ය ජාලයෙන් කිසිවෙකුට ඔහු වෙත පැමිණීමට ඉඩ නොදේ.

ලිනක්ස් VPN හරහා සහ තැපැල් සේවාදායකය වෙත යාමට, ඔබ එය vpn-slice වෙතද එක් කළ යුතුය. තැපැල්කරුගේ ලිපිනය 555.555.555.555 යැයි සිතමු.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin
--script "./bin/vpn-slice 555.555.555.555 192.168.430.0/24" vpn.evilcorp.com 

එක් තර්කයක් සමඟ VPN ඉහළ නැංවීම සඳහා ස්ක්‍රිප්ට්

මේ සියල්ල, ඇත්ත වශයෙන්ම, ඉතා පහසු නොවේ. ඔව්, ඔබට පෙළ ගොනුවකට සුරැකිය හැකි අතර එය අතින් ටයිප් කිරීම වෙනුවට කොන්සෝලයට පිටපත් කර ඇලවිය හැක, නමුත් එය තවමත් ඉතා ප්රසන්න නොවේ. ක්‍රියාවලිය පහසු කිරීම සඳහා, ඔබට විධානය PATH හි පිහිටා ඇති ස්ක්‍රිප්ට් එකකින් ඔතා ගත හැක. එවිට ඔබට Google Authenticator වෙතින් ලැබුණු කේතය පමණක් ඇතුළත් කිරීමට අවශ්‍ය වේ

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com 

ඔබ ස්ක්‍රිප්ට් එක connect~evilcorp~ එකට දැම්මොත් ඔබට සරලව කොන්සෝලයේ ලිවිය හැක

connect_evil_corp 567987

නමුත් දැන් ඔබට කිසියම් හේතුවක් නිසා openconnect ක්‍රියාත්මක වන කොන්සෝලය විවෘතව තබාගත යුතුය

පසුබිමේ openconnect ධාවනය වේ

වාසනාවකට මෙන්, openconnect හි කතුවරුන් අප ගැන සැලකිලිමත් වූ අතර වැඩසටහනට විශේෂ යතුරක් එක් කළේය - පසුබිම, දියත් කිරීමෙන් පසු වැඩසටහන පසුබිමේ ක්‍රියා කරයි. ඔබ එය මේ ආකාරයට ධාවනය කරන්නේ නම්, ඔබට දියත් කිරීමෙන් පසු කොන්සෝලය වසා දැමිය හැකිය

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  

දැන් ලොග් යන්නේ කොතැනටද යන්න පැහැදිලි නැත. පොදුවේ, අපට ඇත්ත වශයෙන්ම ලඝු-සටහන් අවශ්ය නොවේ, නමුත් ඔබ කවදාවත් දන්නේ නැත. openconnect හට ඒවා syslog වෙත හරවා යැවිය හැක, එහිදී ඒවා ආරක්ෂිතව සහ සුරක්ෂිතව තබා ඇත. ඔබ විධානයට –syslog ස්විචය එක් කළ යුතුය

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  

ඉතින්, openconnect පසුබිමේ කොතැනක හෝ ක්‍රියා කරන බවත් කිසිවෙකුට කරදර නොකරන බවත් පෙනේ, නමුත් එය නතර කරන්නේ කෙසේද යන්න පැහැදිලි නැත. එනම්, ඔබට ඇත්ත වශයෙන්ම, grep භාවිතයෙන් ps ප්‍රතිදානය පෙරීමට සහ එහි නම openconnect අඩංගු ක්‍රියාවලියක් සෙවිය හැකිය, නමුත් මෙය කෙසේ හෝ වෙහෙසකරය. මේ ගැන හිතපු කතුවරුන්ටත් ස්තුතියි. Openconnect සතුව key -pid-file එකක් ඇත, එය සමඟින් openconnect හට එහි ක්‍රියාවලි හඳුනාගැනීම ගොනුවකට ලිවීමට උපදෙස් දිය හැක.

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background  
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  
--pid-file ~/vpn-pid

දැන් ඔබට සෑම විටම විධානය සමඟ ක්‍රියාවලියක් මරා දැමිය හැකිය

kill $(cat ~/vpn-pid)

ක්‍රියාවලියක් නොමැති නම්, මරන්න ශාප කරයි, නමුත් දෝෂයක් විසි නොකරයි. ගොනුව නොමැති නම්, නරක කිසිවක් සිදු නොවනු ඇත, එබැවින් ඔබට ස්ක්‍රිප්ටයේ පළමු පේළියේ ක්‍රියාවලිය ආරක්ෂිතව මරා දැමිය හැකිය.

kill $(cat ~/vpn-pid)
#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  
--pid-file ~/vpn-pid

දැන් ඔබට ඔබේ පරිගණකය සක්‍රිය කර, කොන්සෝලය විවෘත කර, Google Authenticator වෙතින් කේතය ලබා දීමෙන් විධානය ක්‍රියාත්මක කළ හැකිය. එවිට කොන්සෝලය ඇණ ගැසිය හැක.

VPN-පෙත්තක් නොමැතිව. පසු වචනයක් වෙනුවට

VPN පෙත්තක් නොමැතිව ජීවත් වන්නේ කෙසේද යන්න තේරුම් ගැනීම ඉතා අපහසු විය. මට ගොඩක් කියවන්න, ගූගල් කරන්න සිද්ධ වුණා. වාසනාවකට මෙන්, ගැටලුවක් සමඟ බොහෝ කාලයක් ගත කිරීමෙන් පසු, තාක්ෂණික අත්පොත් සහ මිනිසා විවෘත සම්බන්ධතා පවා සිත් ඇදගන්නාසුළු නවකතා ලෙස කියවනු ලැබේ.

එහි ප්‍රතිඵලයක් වශයෙන්, vpn-slice, ස්වදේශීය ස්ක්‍රිප්ට් මෙන්, මාර්ගගත වගුව වෙනම ජාලවලට වෙනස් කරන බව මම සොයා ගතිමි.

මාර්ගගත කිරීමේ වගුව

එය සරලව කිවහොත්, මෙය Linux වෙත යාමට අවශ්‍ය ලිපිනය ආරම්භ විය යුතු පළමු තීරුවේ සහ දෙවන තීරුවේ මෙම ලිපිනයට යා යුතු ජාල ඇඩැප්ටරය අඩංගු වගුවකි. ඇත්ත වශයෙන්ම, තවත් කථිකයන් ඇත, නමුත් මෙය සාරය වෙනස් නොකරයි.

රවුටින් වගුව බැලීම සඳහා, ඔබ ip මාර්ග විධානය ක්‍රියාත්මක කළ යුතුය

default via 192.168.1.1 dev wlp3s0 proto dhcp metric 600 
192.168.430.0/24 dev tun0 scope link 
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.534 metric 600 
192.168.430.534 dev tun0 scope link 

මෙහිදී, එක් එක් පේළිය යම් ලිපිනයකට පණිවිඩයක් යැවීම සඳහා ඔබ යා යුතු ස්ථානයට වගකිව යුතුය. පළමුවැන්න ලිපිනය ආරම්භ කළ යුතු ස්ථානය පිළිබඳ විස්තරයකි. 192.168.0.0/16 යන්නෙන් අදහස් වන්නේ ලිපිනය 192.168 න් ආරම්භ විය යුතු බව තීරණය කරන්නේ කෙසේද යන්න තේරුම් ගැනීමට, ඔබ IP ලිපින ආවරණයක් යනු කුමක්දැයි ගූගල් කළ යුතුය. devට පසුව පණිවිඩය යැවිය යුතු ඇඩප්ටරයේ නම ඇත.

VPN සඳහා, Linux විසින් අතථ්‍ය ඇඩැප්ටරයක් ​​සාදන ලදී - tun0. 192.168 න් ආරම්භ වන සියලුම ලිපින සඳහා ගමනාගමනය එය හරහා යන බව රේඛාව සහතික කරයි

192.168.0.0/16 dev tun0 scope link 

ඔබට විධානය භාවිතා කර රවුටින් ටේබල් එකේ වත්මන් තත්වයද බැලිය හැක මාර්ගය -n (IP ලිපින දක්ෂ ලෙස නිර්නාමික කර ඇත) මෙම විධානය වෙනත් ආකාරයකින් ප්‍රතිඵල නිපදවන අතර සාමාන්‍යයෙන් අවලංගු වේ, නමුත් එහි ප්‍රතිදානය බොහෝ විට අන්තර්ජාලයේ අත්පොත් වල දක්නට ලැබෙන අතර ඔබට එය කියවීමට හැකි විය යුතුය.

ගමනාන්තය සහ Genmask තීරු සංයෝජනයෙන් මාර්ගයක් සඳහා IP ලිපිනය ආරම්භ විය යුත්තේ කොතැනින්ද යන්න තේරුම් ගත හැකිය. Genmask හි අංක 255 ට අනුරූප වන IP ලිපිනයේ එම කොටස් සැලකිල්ලට ගනී, නමුත් 0 ඇති ඒවා නොවේ. එනම්, ගමනාන්තය 192.168.0.0 සහ Genmask 255.255.255.0 සංයෝජනයෙන් අදහස් වන්නේ ලිපිනය 192.168.0 න් ආරම්භ වන්නේ නම්, එයට ඉල්ලීම මෙම මාර්ගය ඔස්සේ ගමන් කරන බවයි. ගමනාන්තය 192.168.0.0 නමුත් Genmask 255.255.0.0 නම්, 192.168 න් ආරම්භ වන ලිපින සඳහා ඉල්ලීම් මෙම මාර්ගය ඔස්සේ ගමන් කරයි.

Vpn-slice ඇත්ත වශයෙන්ම කරන්නේ කුමක්දැයි සොයා බැලීම සඳහා, මම පෙර සහ පසු වගු වල තත්වයන් බැලීමට තීරණය කළෙමි.

VPN ඔන් කරන්න කලින් මෙහෙම තිබ්බා

route -n 

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0

vpn-slice නැතුව openconnect call කලාට පස්සේ මේ වගේ උනා

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0
192.168.430.0   0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.430.534 0.0.0.0         255.255.255.255 UH    0      0        0 tun0

සහ මේ වගේ vpn-slice සමඟ සංයෝජනයෙන් openconnect ඇමතීමෙන් පසුව

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0
192.168.430.0   0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.430.534 0.0.0.0         255.255.255.255 UH    0      0        0 tun0

ඔබ vpn-slice භාවිතා නොකරන්නේ නම්, විශේෂයෙන් දක්වා ඇති ලිපින හැර අනෙකුත් සියලුම ලිපින vpn හරහා ප්‍රවේශ විය යුතු බව openconnect පැහැදිලිව ලියා ඇති බව පෙනේ.

මෙන්න මෙතනින්:

0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0

එහිදී, ඊට යාබදව, වෙනත් මාර්ගයක් වහාම දක්වනු ලැබේ, ලිනක්ස් හරහා යාමට උත්සාහ කරන ලිපිනය මේසයෙන් කිසිදු වෙස් මුහුණක් නොගැලපේ නම් එය භාවිතා කළ යුතුය.

0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0

මෙම අවස්ථාවේදී ඔබ සම්මත Wi-Fi ඇඩැප්ටරය භාවිතා කළ යුතු බව දැනටමත් මෙහි ලියා ඇත.

රවුටින් ටේබල් එකේ පළවෙනි එක නිසා VPN පාත් එක පාවිච්චි කරනවා කියලා මම විශ්වාස කරනවා.

සහ න්‍යායාත්මකව, ඔබ මෙම පෙරනිමි මාර්ගය මාර්ගගත වගුවෙන් ඉවත් කරන්නේ නම්, dnsmasq openconnect සමඟ එක්ව සාමාන්‍ය ක්‍රියාකාරිත්වය සහතික කළ යුතුය.

මම උත්සාහ කළා

route del default

ඒ වගේම හැම දෙයක්ම වැඩ කළා.

vpn-slice නොමැතිව තැපැල් සේවාදායකයක් වෙත ඉල්ලීම් යොමු කිරීම

නමුත් මා සතුව 555.555.555.555 ලිපිනය සහිත තැපැල් සේවාදායකයක් ද ඇත, එය VPN හරහා ද ප්‍රවේශ විය යුතුය. ඒ සඳහා මාර්ගය ද අතින් එකතු කළ යුතුය.

ip route add 555.555.555.555 via dev tun0

අනික දැන් ඔක්කොම හරි. එබැවින් ඔබට vpn-slice නොමැතිව කළ හැකිය, නමුත් ඔබ කරන්නේ කුමක්දැයි ඔබ හොඳින් දැන සිටිය යුතුය. මම දැන් කල්පනා කරන්නේ ස්වදේශීය openconnect ස්ක්‍රිප්ට් එකේ අවසාන පේළියට පෙරනිමි මාර්ගය ඉවත් කිරීම සහ vpn වෙත සම්බන්ධ වූ පසු තැපෑල සඳහා මාර්ගයක් එක් කිරීම ගැනයි, එවිට මගේ බයිසිකලයේ චලනය වන කොටස් අඩු වේ.

සමහර විට, VPN එකක් සකසන්නේ කෙසේදැයි යමෙකුට තේරුම් ගැනීමට මෙම පසු වචනය ප්‍රමාණවත් වනු ඇත. නමුත් මම කරන්නේ කුමක්ද සහ කෙසේද යන්න තේරුම් ගැනීමට උත්සාහ කරන අතරතුර, මම කතුවරයා සඳහා වැඩ කරන එවැනි මාර්ගෝපදේශ බොහෝමයක් කියෙව්වා, නමුත් කිසියම් හේතුවක් නිසා මට වැඩ නොකරන අතර, මා සොයාගත් සියලුම කොටස් මෙහි එක් කිරීමට මම තීරණය කළෙමි. ඒ වගේ දෙයක් ගැන මම ගොඩක් සතුටු වෙනවා.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න