په لینکس کې د کارپوریټ VPN سره د Openconnect او vpn-slice په کارولو سره څنګه وصل شئ

ایا تاسو غواړئ په کار کې لینکس وکاروئ ، مګر ستاسو کارپوریټ VPN به تاسو ته اجازه ورنکړي؟ بیا دا مقاله ممکن مرسته وکړي، که څه هم دا ډاډه نه ده. زه غواړم تاسو ته دمخه خبرداری ورکړم چې زه د شبکې ادارې مسلو په ښه توګه نه پوهیږم، نو دا ممکنه ده چې ما هر څه غلط کړي. له بلې خوا ، دا ممکنه ده چې زه یو لارښود په داسې ډول ولیکم چې دا به د عامو خلکو لپاره د پوهیدو وړ وي ، نو زه تاسو ته مشوره درکوم چې دا هڅه وکړئ.

مقاله ډیری غیر ضروري معلومات لري ، مګر د دې پوهې پرته به زه نشم کولی هغه ستونزې حل کړم چې په ناڅاپي ډول ما ته د VPN تنظیم کولو سره څرګند شوي. زه فکر کوم څوک چې د دې لارښود کارولو هڅه کوي هغه ستونزې به ولري چې ما نه درلودې، او زه امید لرم چې دا اضافي معلومات به د دې ستونزو په حل کې مرسته وکړي.

په دې لارښود کې کارول شوي ډیری کمانډونه باید د sudo له لارې پرمخ بوځي، کوم چې د لنډیز لپاره لیرې شوي. په یاد ولره.

ډیری IP پتې په جدي ډول پټې شوي، نو که تاسو د 435.435.435.435 په څیر یو پته وګورئ، هلته باید یو څه نورمال IP وي، ستاسو د قضیې لپاره ځانګړی وي.

زه اوبنټو 18.04 لرم، مګر زه فکر کوم چې د کوچنیو بدلونونو سره لارښود په نورو توزیعونو کې پلي کیدی شي. په هرصورت، پدې متن کې لینکس == اوبنټو.

د سیسکو نښلول

هغه څوک چې په وینډوز یا MacOS کې دي کولی شي زموږ د کارپوریټ VPN سره د Cisco Connect له لارې وصل شي ، کوم چې اړتیا لري د دروازې پته مشخص کړي او هرکله چې تاسو وصل شئ ، یو پټنوم دننه کړئ چې د ثابت برخې او د ګوګل تصدیق کونکي لخوا رامینځته شوی کوډ لري.

د لینکس په قضیه کې ، زه نشم کولی د سیسکو کنیکټ چل کړم ، مګر ما د Openconnect کارولو لپاره وړاندیز ګوګل وکړ ، په ځانګړي توګه د سیسکو کنیکټ ځای په ځای کولو لپاره جوړ شوی.

پرانیستې نښلول

په تیوري کې، اوبنټو د پرانیستې ارتباط لپاره ځانګړی ګرافیکي انٹرفیس لري، مګر دا زما لپاره کار نه کوي. شاید دا د ښه لپاره وي.

په اوبنټو کې ، Openconnect د بسته بندۍ مدیر څخه نصب شوی.

apt install openconnect

د نصبولو سمدستي وروسته، تاسو کولی شئ د VPN سره وصل کولو هڅه وکړئ

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com د جعلي VPN پته ده
poxvuibr - جعلي کارن نوم

openconnect به له تاسو څخه وغواړي چې یو پټنوم دننه کړئ، کوم چې، اجازه راکړئ چې تاسو ته یادونه وکړم، د ثابت برخې او د ګوګل تصدیق کونکي څخه کوډ لري، او بیا به دا هڅه وکړي چې د vpn سره وصل شي. که دا کار وکړي، مبارکۍ، تاسو کولی شئ په خوندي توګه مینځ ته لاړ شئ، کوم چې ډیر درد لري، او په شالید کې د پرانیستې اړیکو په اړه ټکي ته لاړ شئ. که دا کار ونکړي، نو تاسو کولی شئ دوام ورکړئ. که څه هم که دا د نښلولو په وخت کې کار کاوه، د بیلګې په توګه، په کار کې د میلمه وائی فای څخه، نو دا به ډیر وخت وي چې خوشحاله وي؛ تاسو باید هڅه وکړئ چې د کور څخه کړنلاره تکرار کړئ.

سند

ډیر احتمال شتون لري چې هیڅ شی به پیل نشي، او د پرانیستې نښلول محصول به داسې ښکاري:

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 سره هیڅ اړیکه نه وه، مګر له بلې خوا، د دې ستونزې حل کولو څرنګوالی، په اصل کې، روښانه دی.

دلته سرور موږ ته یو سند رالیږلی چې له مخې یې موږ کولی شو دا معلومه کړو چې اړیکه زموږ د اصلي شرکت سرور سره رامینځته شوې ، نه د بد سکیمر سره ، او دا سند سیسټم ته نامعلوم دی. او له همدې امله هغه نشي کولی وګوري چې ایا سرور ریښتینی دی که نه. او په دې توګه، یوازې په هغه صورت کې چې دا کار ودروي.

د سرور سره د وصل کیدو لپاره د خلاص ارتباط لپاره ، تاسو اړتیا لرئ په واضح ډول ووایاست چې کوم سند باید د VPN سرور څخه د —servercert کیلي په کارولو سره راشي

او تاسو کولی شئ ومومئ چې کوم سند سرور موږ ته مستقیم له کوم 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

شاید اوس دا کار کوي، بیا تاسو کولی شئ پای ته لاړ شئ. مګر په شخصي توګه، اوبنټا ما په دې بڼه کې انځر وښود

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 په کارولو سره د معیاري ان پټ له لارې پرانیستې اړیکې ته لیږدول کیدی شي.

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

اوس تاسو کولی شئ په دوامداره توګه وروستي داخل شوي کمانډ ته راستون شئ او هلته د ګوګل تصدیق کونکي یوازې برخه بدل کړئ.

یو کارپوریټ VPN تاسو ته اجازه نه ورکوي چې انټرنیټ سرف کړئ.

په عموم کې، دا خورا ستونزمن نه دی کله چې تاسو حبر ته د تګ لپاره جلا کمپیوټر وکاروئ. د Stackoverfow څخه د کاپي پیسټ کولو نشتوالی کولی شي عموما کار فلج کړي، نو یو څه باید ترسره شي.

موږ اړتیا لرو چې دا یو څه تنظیم کړو نو کله چې تاسو د داخلي شبکې څخه سرچینې ته لاسرسي ته اړتیا لرئ ، لینکس VPN ته ځي ، او کله چې تاسو اړتیا لرئ حبر ته لاړشئ ، دا انټرنیټ ته ځي.

openconnect ، د vpn سره د پیوستون پیل او رامینځته کولو وروسته ، یو ځانګړی سکریپټ اجرا کوي ، کوم چې په /usr/share/vpnc-scripts/vpnc-script کې موقعیت لري. ځینې ​​متغیرونه د ان پټ په توګه سکریپټ ته لیږدول کیږي، او دا VPN تنظیموي. له بده مرغه، زه نشم کولی معلومه کړم چې څنګه د اصلي سکریپټ په کارولو سره د کارپوریټ VPN او پاتې انټرنیټ ترمنځ د ټرافیک جریان تقسیم کړم.

په ښکاره ډول ، د vpn-slice افادیت په ځانګړي توګه زما په څیر خلکو لپاره رامینځته شوی ، کوم چې تاسو ته اجازه درکوي د دوه چینلونو له لارې ترافیک واستوئ پرته لدې چې د تیمبورین سره نڅا وکړئ. ښه ، دا دی ، تاسو باید نڅا وکړئ ، مګر تاسو اړتیا نلرئ شمن اوسئ.

د vpn سلائس په کارولو سره د ترافیک جلا کول

لومړی، تاسو باید د vpn سلائس نصب کړئ، تاسو باید دا پخپله معلومه کړئ. که په نظرونو کې پوښتنې شتون ولري، زه به په دې اړه جلا پوسټ ولیکم. مګر دا د Python منظم برنامه ده ، نو باید هیڅ ډول ستونزې شتون ونلري. ما د virtualenv په کارولو سره نصب کړ.

او بیا افادیت باید پلي شي ، د -script سویچ په کارولو سره ، د Openconnect ته په ګوته کوي چې د معیاري سکریپټ پرځای ، تاسو اړتیا لرئ vpn-slice وکاروئ

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

--script د کمانډ سره یو تار تیریږي چې د سکریپټ پرځای ویل کیږي. ./bin/vpn-slice - د vpn-slice اجرا وړ فایل ته لاره 192.168.430.0/24 - د پتې ماسک چې په vpn کې لاړ شي. دلته، زموږ مطلب دا دی چې که پته د 192.168.430 سره پیل شي، نو بیا د دې پتې سرچینې باید د VPN دننه وپلټل شي.

اوس وضعیت باید تقریبا عادي وي. تقریبا. اوس تاسو کولی شئ حبر ته لاړ شئ او تاسو کولی شئ د ip په واسطه د انټرا کارپوریټ سرچینې ته لاړ شئ، مګر تاسو نشئ کولی د سمبولیک نوم په واسطه د انټرا کارپوریټ سرچینې ته لاړ شئ. که تاسو په کوربه کې د سمبولیک نوم او پتې تر مینځ لوبه مشخص کړئ، هرڅه باید کار وکړي. او تر هغه وخته پورې کار وکړئ چې ip بدل شي. لینکس اوس کولی شي انټرنیټ یا انټرانیټ ته لاسرسی ومومي، د IP پورې اړه لري. مګر غیر کارپوریټ DNS لاهم د پته ټاکلو لپاره کارول کیږي.

ستونزه پخپله پدې بڼه کې هم ښکاره کیدی شي - په کار کې هرڅه سم دي، مګر په کور کې تاسو کولی شئ یوازې د IP له لارې داخلي کارپوریټ سرچینو ته لاسرسی ومومئ. دا ځکه چې کله تاسو د کارپوریټ وائی فای سره وصل یاست ، د کارپوریټ DNS هم کارول کیږي ، او د VPN څخه سمبولیک پتې پدې کې حل کیږي ، سره له دې چې د VPN کارولو پرته ورته پتې ته تلل لاهم ناممکن دي.

د کوربه فایل اتوماتیک ترمیم

که چیرې د vpn سلائس په شایسته توګه وپوښتل شي ، نو د 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 اتومات جوړ شوی

او په resolv.conf کې نوې کرښه اضافه شوه. په لنډه توګه، vpn-slice په یو ډول مشخص شوی چې د vpn لپاره د dns سرور چیرته موقعیت لري.

اوس موږ اړتیا لرو ډاډ ترلاسه کړو چې د ډومین نوم IP پته موندلو لپاره چې په evilcorp.com کې پای ته رسیږي، لینکس کارپوریټ DNS ته ځي، او که بل څه ته اړتیا وي، بیا ډیفالټ ته.

ما د یو څه وخت لپاره ګوګل وکړ او وموندله چې دا ډول فعالیت په اوبنټو کې د بکس څخه بهر شتون لري. دا پدې مانا ده چې د نومونو حل کولو لپاره د محلي DNS سرور dnsmasq کارولو وړتیا.

دا دی، تاسو کولی شئ ډاډ ترلاسه کړئ چې لینکس تل د IP پتې لپاره محلي DNS سرور ته ځي، کوم چې په پایله کې، د ډومین نوم پورې اړه لري، په ورته بهرني DNS سرور کې IP ته ګوري.

د شبکې او شبکې اتصالاتو پورې اړوند هرڅه اداره کولو لپاره ، اوبنټو د شبکې مدیر کاروي ، او د غوره کولو لپاره ګرافیکي انٹرفیس ، د مثال په توګه ، د وائی فای اتصال یوازې د هغې مخکی پای دی.

موږ به د هغې په ترتیب کې پورته کولو ته اړتیا ولرو.

  1. په /etc/NetworkManager/dnsmasq.d/evilcorp کې یو فایل جوړ کړئ

پته=/.evilcorp.com/192.168.430.534

د evilcorp مخې ته ټکي ته پام وکړئ. دا dnsmasq ته اشاره کوي چې د evilcorp.com ټول فرعي ډومینونه باید په کارپوریټ dns کې وپلټل شي.

  1. د شبکې مدیر ته ووایاست چې د نوم حل لپاره dnsmasq وکاروئ

د شبکې مدیر ترتیب په /etc/NetworkManager/NetworkManager.conf کې موقعیت لري تاسو اړتیا لرئ هلته اضافه کړئ:

[main] dns=dnsmasq

  1. د شبکې مدیر بیا پیل کړئ

service network-manager restart

اوس ، د Openconnect او vpn-slice په کارولو سره د VPN سره وصل کیدو وروسته ، ip به په نورمال ډول وټاکل شي ، حتی که تاسو vpnslice ته دلیلونو کې سمبولیک پته ونه اضافه کړئ.

د VPN له لارې انفرادي خدماتو ته د لاسرسي څرنګوالی

وروسته له دې چې ما د VPN سره وصل شوم، زه د دوو ورځو لپاره ډیر خوشحاله وم، او بیا وروسته معلومه شوه چې که زه د دفتر شبکې څخه بهر VPN سره وصل کړم، نو بریښنالیک کار نه کوي. علامه پیژني، نه دا؟

زموږ بریښنالیک په mail.publicevilcorp.com کې موقعیت لري، پدې معنی چې دا په dnsmasq کې د قانون لاندې نه راځي او د بریښنالیک سرور پته د عامه DNS له لارې لټون کیږي.

ښه، دفتر لاهم د DNS کاروي، کوم چې دا پته لري. دا هغه څه دي چې ما فکر کاوه. په حقیقت کې، dnsmasq ته لاین اضافه کولو وروسته

address=/mail.publicevilcorp.com/192.168.430.534

وضعیت په بشپړ ډول نه دی بدل شوی. ip هماغه شان پاتې شو. زه باید کار ته لاړ شم.

او یوازې وروسته، کله چې ما وضعیت ته ژوره وکتل او په ستونزه لږ پوه شوم، یو هوښیار کس ما ته وویل چې څنګه یې حل کړم. دا اړینه وه چې د میل سرور سره وصل شئ نه یوازې د ورته ، مګر د VPN له لارې

زه د VPN له لارې پتې ته د تلو لپاره vpn-slice کاروم چې د 192.168.430 سره پیل کیږي. او د میل سرور نه یوازې یو سمبولیک پته لري چې د evilcorp فرعي ډومین نه دی، دا د IP پته هم نلري چې د 192.168.430 سره پیل کیږي. او البته هغه د عمومي شبکې څخه هیچا ته اجازه نه ورکوي چې هغه ته راشي.

د دې لپاره چې لینکس د 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 کې موقعیت لري. او بیا تاسو به یوازې د ګوګل تصدیق کونکي څخه ترلاسه شوي کوډ دننه کولو ته اړتیا ولرئ

#!/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 لیکوالانو زموږ پاملرنه وکړه او د پروګرام شالید ته یې یو ځانګړی کیلي اضافه کړه، کوم چې برنامه د لانچ وروسته په شالید کې کار کوي. که تاسو دا د دې په څیر پرمخ وړئ، تاسو کولی شئ د لانچ وروسته کنسول بند کړئ

#!/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 یو کلیدي -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

اوس تاسو کولی شئ خپل کمپیوټر چالان کړئ ، کنسول خلاص کړئ او کمانډ پرمخ وړئ ، د ګوګل تصدیق کونکي څخه کوډ انتقال کړئ. کنسول بیا کیل کیدی شي.

د VPN - ټوټې پرته. د وروسته کلمې پر ځای

دا خورا ستونزمن و چې پوه شو چې څنګه د VPN - ټوټې پرته ژوند وکړو. ما باید ډیر لوستل او ګوګل کول. خوشبختانه ، د ستونزې سره د دومره وخت تیرولو وروسته ، تخنیکي لارښودونه او حتی د انسان خلاص ارتباط د زړه راښکونکي ناولونو په څیر لوستل.

د پایلې په توګه، ما وموندله چې vpn-slice، د اصلي سکریپټ په څیر، د روټینګ جدول د جلا شبکو لپاره بدلوي.

د روټینګ میز

د ساده کولو لپاره ، دا په لومړي کالم کې یو جدول دی چې پکې هغه پته شامله ده چې لینکس یې غواړي له لارې لاړ شي باید پیل شي ، او په دوهم کالم کې د کوم شبکې اډاپټر له دې پتې څخه تیریږي. په حقیقت کې، ډیر ویناوال شتون لري، مګر دا جوهر نه بدلوي.

د روټینګ جدول لیدو لپاره ، تاسو اړتیا لرئ د 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 لپاره، لینکس یو مجازی اډاپټر جوړ کړی - tun0. کرښه ډاډ ورکوي چې د 192.168 سره پیل شوي د ټولو پتو لپاره ترافیک د هغې له لارې تیریږي

192.168.0.0/16 dev tun0 scope link 

تاسو کولی شئ د کمانډ په کارولو سره د روټینګ میز اوسنی حالت هم وګورئ لاره - (IP ادرسونه په هوښیارۍ سره ناپیژندل شوي) دا کمانډ په مختلف شکل کې پایلې تولیدوي او عموما له مینځه وړل کیږي، مګر د دې محصول ډیری وختونه په انټرنیټ کې لارښودونو کې موندل کیږي او تاسو اړتیا لرئ د لوستلو وړتیا ولرئ.

چیرې چې د لارې لپاره IP پته باید پیل شي د منزل او جینماسک کالمونو له ترکیب څخه پوهیدلی شي. د IP پتې هغه برخې چې په جینماسک کې د 255 شمیرو سره مطابقت لري په پام کې نیول شوي ، مګر هغه چیرې چې 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 سلائس پرته د Openconnect زنګ وهلو وروسته دا داسې شو

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 نه کاروئ، نو Openconnect په ښکاره ډول لیکي چې ټولې پتې، پرته له دې چې په ځانګړې توګه اشاره شوي، باید د vpn له لارې لاسرسی ومومي.

همدلته:

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

دا لا دمخه دلته لیکل شوي چې پدې حالت کې تاسو اړتیا لرئ د معیاري وای فای اډاپټر وکاروئ.

زه باور لرم چې د VPN لاره کارول کیږي ځکه چې دا د روټینګ جدول کې لومړی دی.

او په تیوریکي توګه ، که تاسو دا ډیفالټ لاره د روټینګ میز څخه لرې کړئ ، نو د dnsmasq openconnect سره په ګډه باید نورمال عملیات یقیني کړي.

ما کوښښ وکړ

route del default

او هر څه کار وکړ.

د وی پی این سلائس پرته د میل سرور ته د غوښتنې روټینګ

مګر زه د 555.555.555.555 پته سره د بریښنالیک سرور هم لرم ، کوم چې د VPN له لارې لاسرسي ته هم اړتیا لري. دې ته لاره هم باید په لاسي ډول اضافه شي.

ip route add 555.555.555.555 via dev tun0

او اوس هر څه سم دي. نو تاسو کولی شئ پرته له vpn-slice څخه کار واخلئ، مګر تاسو اړتیا لرئ ښه پوه شئ چې تاسو څه کوئ. زه اوس د اصلي اوپن کنیکټ سکریپټ وروستۍ کرښې کې د ډیفالټ لارې لرې کولو او د vpn سره وصل کیدو وروسته د میلر لپاره لاره اضافه کولو په اړه فکر کوم ، یوازې دا چې زما په بایسکل کې لږ حرکت کونکي برخې شتون لري.

شاید ، دا وروسته لفظ به د یو چا لپاره کافي وي چې پوه شي چې څنګه د VPN تنظیم کول. مګر پداسې حال کې چې زه هڅه کوم چې پوه شم چې څه او څنګه وکړم، ما ډیری داسې لارښودونه ولوستل چې د لیکوال لپاره کار کوي، مګر د ځینو دلیلونو لپاره زما لپاره کار نه کوي، او ما پریکړه وکړه چې دلته ټول هغه ټوټې اضافه کړم چې ما وموندل. زه به د داسې یو څه په اړه ډیر خوشحاله شم.

سرچینه: www.habr.com

Add a comment