کتاب "لینکس په عمل کې"

کتاب "لینکس په عمل کې" سلامونه دخبرو اوسیدونکو! په کتاب کې، ډیویډ کلینټن د ریښتیني ژوند 12 پروژې تشریح کوي، پشمول ستاسو د بیک اپ او ریکوری سیسټم اتومات کول، د ډراپ باکس سټایل شخصي فایل کلاوډ ترتیب کول، او د خپل میډیا ویکي سرور جوړول. تاسو به د زړه پورې قضیې مطالعاتو له لارې مجازی کول ، د ناورین رغونه ، امنیت ، بیک اپ ، DevOps ، او د سیسټم ستونزې حل کول وپلټئ. هر څپرکی د غوره تمرینونو بیاکتنې، د نویو اصطلاحاتو لغت، او تمرینونو سره پای ته رسیږي.

اقتباس "10.1. د OpenVPN تونل جوړول"

ما دمخه په دې کتاب کې د کوډ کولو په اړه ډیرې خبرې کړې دي. SSH او SCP کولی شي د لرې پرتو اړیکو (څپرکي 3) له لارې لیږدول شوي ډاټا خوندي کړي (څپرکی 8)، د فایل کوډ کول کولی شي ډاټا خوندي کړي پداسې حال کې چې دا په سرور کې زیرمه شوي (9 فصل)، او د TLS/SSL سندونه کولی شي د سایټونو او مراجعینو براوزرونو ترمنځ لیږدول شوي ډاټا خوندي کړي (XNUMX فصل) . مګر ځینې وختونه ستاسو ډاټا اړتیا لري چې د اړیکو پراخه لړۍ کې خوندي شي. د مثال په توګه، ممکن ستاسو د ټیم ځینې غړي په سړک کې کار کوي پداسې حال کې چې د عامه هټ سپاټونو له لارې Wi-Fi سره وصل کیږي. تاسو باید حتما دا فکر ونه کړئ چې د لاسرسي ټولې نقطې خوندي دي، مګر ستاسو خلک د شرکت سرچینو سره د نښلولو لپاره یوې لارې ته اړتیا لري — او دا هغه ځای دی چې VPN مرسته کولی شي.

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

د دې پراخې شبکې په کارولو سره، مدیران کولی شي خپل کار له هر ځای څخه په خپلو سرورونو کې ترسره کړي. مګر تر ټولو مهم، یو شرکت چې سرچینې یې په ډیری ځایونو کې خپریږي کولی شي دا ټول د لیدلو وړ او ټولو ډلو ته د لاسرسي وړ کړي چې ورته اړتیا لري، هرچیرې چې دوی وي (شکل 10.1).

تونل پخپله د امنیت تضمین نه کوي. مګر د کوډ کولو معیارونو څخه یو د شبکې جوړښت کې شامل کیدی شي ، کوم چې د پام وړ امنیت کچه ​​لوړوي. تونلونه چې د خلاصې سرچینې OpenVPN کڅوړې په کارولو سره رامینځته شوي د ورته TLS/SSL کوډ کولو کاروي چې تاسو دمخه یې لوستلی وي. OpenVPN د تونل کولو یوازینی اختیار شتون نلري، مګر دا یو له غوره پیژندل شوی څخه دی. دا د بدیل پرت 2 تونل پروتوکول په پرتله یو څه ګړندی او ډیر خوندي ګڼل کیږي چې د IPsec کوډ کول کاروي.

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

کتاب "لینکس په عمل کې"

10.1.1. د OpenVPN سرور ترتیب

مخکې له دې چې تاسو پیل کړئ، زه به تاسو ته یو څه ګټور مشوره درکړم. که تاسو دا پخپله ترسره کوئ (او زه په کلکه تاسو ته وړاندیز کوم) ، تاسو به شاید ځان ومومئ چې ستاسو په ډیسټاپ کې د ډیری ټرمینل وینډوز خلاصیدو سره کار کوي ، هر یو د مختلف ماشین سره وصل وي. یو خطر شتون لري چې په یو وخت کې به تاسو کړکۍ ته غلط کمانډ داخل کړئ. د دې څخه مخنیوي لپاره ، تاسو کولی شئ د کوربه نوم کمانډ وکاروئ ترڅو د کمانډ لاین کې ښودل شوي ماشین نوم په هغه څه بدل کړئ چې تاسو ته په روښانه ډول ووایی چې تاسو چیرته یاست. یوځل چې تاسو دا کار وکړئ ، تاسو به اړتیا ولرئ له سرور څخه لاګ آوټ شئ او د نوي تنظیماتو اغیزې لپاره بیرته ننوتلو ته اړتیا ولرئ. دا هغه څه دي چې داسې ښکاري:

کتاب "لینکس په عمل کې"
د دې طریقې په تعقیب او هر هغه ماشین ته چې تاسو ورسره کار کوئ د مناسب نومونو په ورکولو سره، تاسو کولی شئ په اسانۍ سره تعقیب کړئ چې تاسو چیرته یاست.

د کوربه نوم کارولو وروسته، تاسو ممکن د کوربه OpenVPN-Server پیغامونو د حل کولو لپاره د ناراضۍ سره مخ شئ کله چې د راتلونکو امرونو اجرا کول. د مناسب نوي کوربه نوم سره د /etc/hosts فایل تازه کول باید مسله حل کړي.

د OpenVPN لپاره ستاسو سرور چمتو کول

په خپل سرور کې د OpenVPN نصبولو لپاره، تاسو دوه کڅوړو ته اړتیا لرئ: openvpn او اسانه-rsa (د کوډ کولو کیلي نسل پروسې اداره کولو لپاره). د CentOS کاروونکي باید لومړی د اړتیا په صورت کې د ایپل-ریلیز ذخیره نصب کړي، لکه څنګه چې تاسو په 2 فصل کې ترسره کړي. د سرور غوښتنلیک ته د لاسرسي آزموینې لپاره، تاسو کولی شئ د اپاچي ویب سرور هم نصب کړئ (apache2 په اوبنټو کې او httpd په CentOS کې).

پداسې حال کې چې تاسو خپل سرور تنظیم کوئ ، زه د فایر وال فعالولو وړاندیز کوم چې د 22 (SSH) او 1194 (OpenVPN ډیفالټ پورټ) پرته ټول بندرونه بندوي. دا مثال په ګوته کوي چې ufw به په اوبنټو کې څنګه کار وکړي ، مګر زه ډاډه یم چې تاسو لاهم د 9 فصل څخه د CentOS فایروالډ برنامه په یاد لرئ:

# ufw enable
# ufw allow 22
# ufw allow 1194

په سرور کې د شبکې انټرفیسونو ترمنځ د داخلي روټینګ فعالولو لپاره، تاسو اړتیا لرئ چې په /etc/sysctl.conf فایل کې یوه کرښه (net.ipv4.ip_forward = 1) کم کړئ. دا به لیرې پرتو پیرودونکو ته اجازه ورکړي چې د اړتیا سره سم یوځل بیا وصل شي. د نوي اختیار کار کولو لپاره، sysctl -p چل کړئ:

# nano /etc/sysctl.conf
# sysctl -p

ستاسو د سرور چاپیریال اوس په بشپړه توګه تنظیم شوی، مګر د چمتو کیدو دمخه یو بل کار ته اړتیا شته: تاسو اړتیا لرئ لاندې مرحلې بشپړې کړئ (موږ به یې په راتلونکي کې په تفصیل سره پوښو).

  1. په سرور کې د عامه کلیدي زیربنا (PKI) کوډ کولو کلیدونو سیټ رامینځته کړئ د اسانه-rsa کڅوړې سره چمتو شوي سکریپټونو په کارولو سره. په لازمي ډول ، د OpenVPN سرور هم د خپل سند واک (CA) په توګه کار کوي.
  2. د پیرودونکي لپاره مناسب کیلي چمتو کړئ
  3. د سرور لپاره د server.conf فایل ترتیب کړئ
  4. خپل د OpenVPN پیرودونکي تنظیم کړئ
  5. خپل VPN چیک کړئ

د کوډ کولو کیلي پیدا کول

د شیانو ساده ساتلو لپاره ، تاسو کولی شئ خپل کلیدي زیربنا په ورته ماشین کې تنظیم کړئ چیرې چې د OpenVPN سرور روان دی. په هرصورت، د امنیت غوره کړنې عموما د تولید ځای پرځای کولو لپاره د جلا CA سرور کارولو وړاندیز کوي. په OpenVPN کې د کارولو لپاره د کوډ کولو کلیدي سرچینو تولید او ویشلو پروسه په انځور کې ښودل شوې. 10.2.

کتاب "لینکس په عمل کې"
کله چې تاسو OpenVPN نصب کړئ، /etc/openvpn/ ډایرکټر په اوتومات ډول رامینځته شوی و ، مګر لاهم پدې کې هیڅ شتون نلري. د Openvpn او اسانه-rsa کڅوړې د نمونې ټیمپلیټ فایلونو سره راځي چې تاسو کولی شئ د خپل ترتیب لپاره د اساس په توګه وکاروئ. د تصدیق پروسې پیل کولو لپاره ، د اسانه-rsa ټیمپلیټ لارښود له /usr/share/ څخه /etc/openvpn ته کاپي کړئ او اسانه-rsa/ لارښود ته بدل کړئ:

# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa

د اسانه-rsa لارښود به اوس یو څو سکریپټونه ولري. په میز کې 10.1 هغه وسیلې لیست کوي چې تاسو به یې د کیلي جوړولو لپاره کاروئ.

کتاب "لینکس په عمل کې"

پورته عملیات د روټ امتیازاتو ته اړتیا لري، نو تاسو اړتیا لرئ چې د sudo su له لارې روټ شئ.

لومړۍ فایل چې تاسو ورسره کار کوئ د vars په نوم یادیږي او د چاپیریال متغیرونه لري چې د کیلي تولیدولو په وخت کې اسانه rsa کاروي. تاسو اړتیا لرئ د ډیفالټ ارزښتونو پرځای چې دمخه شتون لري خپل ارزښتونو کارولو لپاره فایل ترمیم کړئ. دا هغه څه دي چې زما فایل به ورته ښکاري (10.1 لیست کول).

لیست کول 10.1. د فایل اصلي ټوټې /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="CA"
export KEY_PROVINCE="ON"
export KEY_CITY="Toronto"
export KEY_ORG="Bootstrap IT"
export KEY_EMAIL="[email protected]"
export KEY_OU="IT"

د vars فایل چلول به خپل ارزښتونه د شیل چاپیریال ته انتقال کړي، چیرې چې دوی به ستاسو د نوي کیلي مینځپانګې کې شامل شي. ولې د sudo کمانډ پخپله کار نه کوي؟ ځکه چې په لومړي ګام کې موږ د vars په نوم سکریپټ ترمیم کوو او بیا یې پلي کوو. پلي کول او پدې معنی چې د vars فایل خپل ارزښتونه د شیل چاپیریال ته لیږدوي ، چیرې چې دوی به ستاسو د نوي کیلي مینځپانګې کې شامل شي.

ډاډ ترلاسه کړئ چې د بشپړې پروسې بشپړولو لپاره د نوي شیل په کارولو سره فایل بیا پیل کړئ. کله چې دا ترسره شي، سکریپټ به تاسو ته بل سکریپټ چلولو ته وهڅوي، ټول پاک کړئ، ترڅو په /etc/openvpn/easy-rsa/keys/ لارښود کې هر ډول مینځپانګه لرې کړئ:

کتاب "لینکس په عمل کې"
په طبیعي توګه، بل ګام د کلین-ټول سکریپټ چلول دي، وروسته د build-ca، کوم چې د روټ سند جوړولو لپاره د pkitool سکریپټ کاروي. له تاسو څخه به وغوښتل شي چې د vars لخوا چمتو شوي پیژندنې تنظیمات تایید کړئ:

# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key

بل د جوړیدو کیلي سرور سکریپټ راځي. څرنګه چې دا د نوي روټ سند سره ورته pkitool سکریپټ کاروي، تاسو به ورته پوښتنې وګورئ چې د کلیدي جوړې رامینځته کول تایید کړئ. کلیدونه به د هغه دلیلونو پراساس نومول کیږي چې تاسو یې تیر کوئ، کوم چې، پرته لدې چې تاسو په دې ماشین کې ډیری VPN چلوئ، معمولا به سرور وي، لکه په مثال کې:

# ./build-key-server server
[...]
Certificate is to be certified until Aug 15 23:52:34 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

OpenVPN د Diffie-Hellman الګوریتم (build-dh په کارولو سره) لخوا رامینځته شوي پیرامیټرې کاروي ترڅو د نوي ارتباطاتو لپاره د اعتبار په اړه خبرې وکړي. دلته جوړ شوی فایل دې ته اړتیا نلري چې پټ وي، مګر باید د RSA کلیدونو لپاره د build-dh سکریپټ په کارولو سره رامینځته شي چې اوس مهال فعال دي. که تاسو په راتلونکي کې نوي RSA کیلي رامینځته کړئ ، نو تاسو به د Diffie-Hellman فایل تازه کولو ته هم اړتیا ولرئ:

# ./build-dh

ستاسو د سرور اړخ کیلي به اوس په /etc/openvpn/easy-rsa/keys/ لارښود کې پای ته ورسیږي، مګر OpenVPN پدې نه پوهیږي. په ډیفالټ ډول، OpenVPN به په /etc/openvpn/ کې کیلي وګوري، نو دا کاپي کړئ:

# cp /etc/openvpn/easy-rsa/keys/server* /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn

د پیرودونکي کوډ کولو کیلي چمتو کول

لکه څنګه چې تاسو دمخه لیدلي، د TLS کوډ کول د ملائي کولو کیلي جوړه کاروي: یو په سرور کې نصب شوی او یو په لرې پرتو مراجعینو کې نصب شوی. دا پدې مانا ده چې تاسو به د پیرودونکي کیلي ته اړتیا ولرئ. زموږ زوړ ملګری pkitool هغه څه دي چې تاسو ورته اړتیا لرئ. په دې مثال کې، کله چې موږ برنامه په /etc/openvpn/easy-rsa/ ډایرکټر کې پرمخ وړو، موږ دا د مراجعینو دلیل لیږدوو ترڅو د client.crt او client.key په نوم فایلونه رامینځته کړو:

# ./pkitool client

د مراجعینو دوه فایلونه، د اصلي ca.crt فایل سره چې لاهم په کلیدونو/ ډایرکټر کې دي، اوس باید ستاسو مراجعینو ته په خوندي توګه لیږدول شي. د دوی د مالکیت او لاسرسي حقونو له امله، دا ممکن دومره اسانه نه وي. ترټولو ساده لاره دا ده چې په لاسي ډول د سرچینې فایل مینځپانګې (او د دې مینځپانګې پرته) ستاسو د کمپیوټر ډیسټاپ کې روان ټرمینل کې کاپي کړئ (متن غوره کړئ ، په هغې کې ښیې کلیک وکړئ او له مینو څخه کاپي غوره کړئ). بیا دا په نوي فایل کې د ورته نوم سره پیسټ کړئ چې تاسو یې په دوهم ټرمینل کې رامینځته کوئ چې ستاسو پیرودونکي سره وصل وي.

مګر هرڅوک کولی شي کټ او پیسټ کړي. پرځای یې ، د مدیر په څیر فکر وکړئ ځکه چې تاسو به تل GUI ته لاسرسی ونلرئ چیرې چې د کټ / پیسټ عملیات ممکن وي. فایلونه د خپل کارونکي کور ډایرکټر ته کاپي کړئ (د دې لپاره چې د ریموټ scp عملیات دوی ته لاسرسی ومومي) او بیا د فایلونو ملکیت له روټ څخه منظم غیر روټ کارونکي ته بدلولو لپاره chown وکاروئ ترڅو د ریموټ scp عمل ترسره شي. ډاډ ترلاسه کړئ چې ستاسو ټول فایلونه اوس مهال نصب شوي او د لاسرسي وړ دي. تاسو به یې یو څه وروسته پیرودونکي ته ولیږئ:

# cp /etc/openvpn/easy-rsa/keys/client.key /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/client.crt /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/client.key
# chown ubuntu:ubuntu /home/ubuntu/client.crt
# chown ubuntu:ubuntu /home/ubuntu/ca.crt

د تګ لپاره د کوډ کولو کیلي بشپړ سیټ سره ، تاسو اړتیا لرئ سرور ته ووایاست چې تاسو څنګه غواړئ VPN رامینځته کړئ. دا د server.conf فایل په کارولو سره ترسره کیږي.

د کیسټروکونو شمیر کمول

ایا ډیر ټایپ کول شتون لري؟ د بریکٹ سره پراخول به دا شپږ کمانډونه دوه ته راکم کړي. زه ډاډه یم چې تاسو کولی شئ دا دوه مثالونه مطالعه کړئ او پوه شئ چې څه روان دي. تر ټولو مهم، تاسو به پوه شئ چې دا اصول څنګه په عملیاتو کې پلي کړئ چې لسګونه یا حتی په سلګونو عناصر پکې شامل دي:

# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}

د server.conf فایل تنظیم کول

تاسو څنګه کولی شئ پوه شئ چې د server.conf فایل باید څه ډول وي؟ د اسانه-rsa لارښود ټیمپلیټ په یاد ولرئ چې تاسو یې د /usr/share/ څخه کاپي کړی؟ کله چې تاسو OpenVPN نصب کړ، تاسو د کمپریس شوي ترتیب ټیمپلیټ فایل سره پاتې شوی و چې تاسو یې کاپي کولی شئ /etc/openvpn/. زه به په دې حقیقت باندې جوړ کړم چې ټیمپلیټ آرشیف شوی او تاسو به ګټورې وسیلې ته معرفي کړم: zcat.

تاسو دمخه د بلی کمانډ په کارولو سره سکرین ته د فایل متن مینځپانګې چاپ کولو په اړه پوهیږئ ، مګر که چیرې فایل د gzip په کارولو سره کمپریس شي؟ تاسو کولی شئ تل فایل خلاص کړئ او بیا پیشو به په خوښۍ سره دا تولید کړي ، مګر دا د اړتیا په پرتله یو یا دوه نور ګامونه دي. پرځای یې، لکه څنګه چې تاسو اټکل کړی وي، تاسو کولی شئ د zcat کمانډ صادر کړئ ترڅو په یو ګام کې په حافظه کې نه بسته شوي متن بار کړئ. په لاندې مثال کې، په سکرین کې د متن چاپولو پرځای، تاسو به دا د سرور.conf په نوم نوې فایل ته واستوئ:

# zcat 
  /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz 
  > /etc/openvpn/server.conf
$ cd /etc/openvpn

راځئ چې پراخه او ګټور اسناد چې د فایل سره راځي یو طرف ته وسپارو او وګورو چې دا به څه ښکاري کله چې تاسو ترمیم کوئ. په یاد ولرئ چې سیمیکولون (؛) OpenVPN ته وايي چې راتلونکې کرښه لوستل یا اجرا نه کړي (د لست 10.2).

کتاب "لینکس په عمل کې"
راځئ چې د دې ترتیباتو څخه ځینې ته لاړ شو.

  • په ډیفالټ ډول، OpenVPN په 1194 بندر کې چلیږي. تاسو کولی شئ دا بدل کړئ، د بیلګې په توګه، خپل فعالیتونه نور پټ کړئ یا د نورو فعال تونلونو سره د شخړو مخنیوی وکړئ. څنګه چې 1194 د پیرودونکو سره لږترلږه همغږي ته اړتیا لري ، نو دا غوره ده چې دا پدې لاره ترسره کړئ.
  • OpenVPN د معلوماتو لیږدولو لپاره د لیږد کنټرول پروتوکول (TCP) یا د کاروونکي ډیټاګرام پروتوکول (UDP) کاروي. TCP ممکن یو څه ورو وي، مګر دا خورا معتبر او ډیر احتمال لري چې د تونل په دواړو سرونو کې د چلولو غوښتنلیکونو لخوا پوه شي.
  • تاسو کولی شئ dev tun مشخص کړئ کله چې تاسو غواړئ یو ساده ، ډیر موثر IP تونل رامینځته کړئ چې د ډیټا مینځپانګه لري او نور هیڅ نه. که، له بلې خوا، تاسو اړتیا لرئ چې ډیری شبکې انټرنیټونه (او هغه شبکې چې دوی یې استازیتوب کوي) سره وصل کړئ، د ایترنیټ پل رامینځته کړئ، تاسو باید د dev tap غوره کړئ. که تاسو نه پوهیږئ چې دا ټول څه معنی لري، د ټون دلیل وکاروئ.
  • راتلونکې څلور کرښې OpenVPN ته په سرور کې د دریو تصدیق فایلونو نومونه ورکوي او د dh2048 اختیارونو فایل چې تاسو مخکې جوړ کړی.
  • د سرور لاین حد او سبنیټ ماسک ټاکي چې د ننوتلو پرمهال پیرودونکو ته د IP پتې ورکولو لپاره کارول کیږي.
  • اختیاري پش پیرامیټر "روټ 10.0.3.0 255.255.255.0" لیرې پرتو پیرودونکو ته اجازه ورکوي چې د سرور شاته شخصي فرعي نیټونو ته لاسرسی ومومي. د دې کار ترسره کول پخپله سرور کې د شبکې تنظیم کولو ته هم اړتیا لري ترڅو خصوصي سبنټ د OpenVPN سبنټ (10.8.0.0) په اړه پوه شي.
  • د پورټ شریکولو لوکل هوسټ 80 لاین تاسو ته اجازه درکوي د پیرودونکي ټرافيک چې په 1194 پورټ کې راځي ځایی ویب سرور ته چې په 80 پورټ کې اوریدل کیږي بیرته لیږل کیږي. (دا به ګټور وي که تاسو د خپل VPN ازموینې لپاره ویب سرور وکاروئ.) دا یوازې کار کوي. بیا کله چې د tcp پروتوکول غوره شي.
  • د کارونکي هیڅوک او د ګروپ نوګ ګروپ لاینونه باید د سیمیکولون (؛) په لرې کولو سره فعال شي. د لیرې پرتو مراجعینو مجبورول چې د هیچا او نوګ ګروپ په توګه پرمخ نه ځي دا ډاډ ورکوي چې په سرور کې ناستې بې ګټې دي.
  • log مشخص کوي چې اوسنۍ لاګ ننوتنې به هرکله چې OpenVPN پیل شي زړې ننوتنې له سره لیکي ، پداسې حال کې چې log-append موجوده لاګ فایل ته نوې ننوتنې ضمیمه کوي. د openvpn.log فایل پخپله /etc/openvpn/ ډایرکټر ته لیکل شوی.

سربیره پردې ، د پیرودونکي څخه پیرودونکي ارزښت هم ډیری وختونه د ترتیب فایل کې اضافه کیږي ترڅو ډیری پیرودونکي د OpenVPN سرور سربیره یو بل وګوري. که تاسو له خپل ترتیب څخه راضي یاست، تاسو کولی شئ د OpenVPN سرور پیل کړئ:

# systemctl start openvpn

د OpenVPN او systemd ترمنځ د اړیکو د بدلیدونکي طبیعت له امله، ځینې وختونه د خدمت پیل کولو لپاره لاندې ترکیب ته اړتیا لیدل کیدی شي: systemctl start openvpn@server.

ستاسو د سرور شبکې انٹرفیس لیست کولو لپاره د ip addr چلول باید اوس د tun0 په نوم نوي انٹرفیس ته لینک تولید کړي. OpenVPN به دا د راتلونکو پیرودونکو خدمت کولو لپاره رامینځته کړي:

$ ip addr
[...]
4: tun0: mtu 1500 qdisc [...]
      link/none
      inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
          valid_lft forever preferred_lft forever

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

10.1.2. د OpenVPN پیرودونکي تنظیم کول

په دودیز ډول، تونلونه لږترلږه دوه وتلو سره جوړ شوي (که نه نو موږ به ورته غارونه وایو). په سرور کې په سمه توګه تنظیم شوی OpenVPN په یو اړخ کې د تونل دننه او بهر ترافیک لارښود کوي. مګر تاسو به ځینې سافټویر ته هم اړتیا ولرئ چې د پیرودونکي اړخ کې روان وي ، دا د تونل په بل پای کې دی.

پدې برخه کې ، زه به په لاسي ډول د لینکس کمپیوټر ځینې ډول تنظیم کولو باندې تمرکز وکړم ترڅو د OpenVPN پیرودونکي په توګه عمل وکړي. مګر دا یوازینۍ لاره نه ده چې دا فرصت شتون لري. OpenVPN د پیرودونکي غوښتنلیکونو ملاتړ کوي چې په ډیسټاپونو او لیپټاپونو کې چې وینډوز یا ماکوس چلوي نصب او کارول کیدی شي ، په بیله بیا د Android او iOS سمارټ فونونه او ټابلیټونه. د جزیاتو لپاره openvpn.net وګورئ.

د OpenVPN کڅوړه به د پیرودونکي ماشین کې نصبولو ته اړتیا ولري لکه څنګه چې دا په سرور کې نصب شوی و ، که څه هم دلته د اسانه-rsa اړتیا نشته ځکه چې هغه کلیدونه چې تاسو یې کاروئ دمخه شتون لري. تاسو اړتیا لرئ د client.conf ټیمپلیټ فایل /etc/openvpn/ ډایرکټر ته کاپي کړئ چې تاسو یې جوړ کړی. دا ځل به فایل زپ نه شي، نو د cp منظم کمانډ به په سمه توګه کار وکړي:

# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf 
  /etc/openvpn/

ستاسو د client.conf فایل کې ډیری تنظیمات به ډیر ځان توضیحي وي: دوی باید په سرور کې د ارزښتونو سره سمون ولري. لکه څنګه چې تاسو د لاندې مثال فایل څخه لیدلی شئ، ځانګړی پیرامیټر ریموټ 192.168.1.23 1194 دی، کوم چې پیرودونکي ته د سرور IP پته وایي. بیا بیا، ډاډ ترلاسه کړئ چې دا ستاسو د سرور پته ده. تاسو باید د پیرودونکي کمپیوټر هم مجبور کړئ چې د سرور سند اعتبار تصدیق کړي ترڅو د مینځني مینځني احتمالي برید مخه ونیسي. د دې کولو یوه لاره دا ده چې د لاین ریموټ-سرټ-tls سرور اضافه کړئ (د لیست کولو 10.3).

کتاب "لینکس په عمل کې"
تاسو اوس کولی شئ /etc/openvpn/ لارښود ته لاړ شئ او له سرور څخه د تصدیق کیلي راوباسئ. د مثال په توګه د خپل ارزښتونو سره د سرور IP پته یا ډومین نوم بدل کړئ:

کتاب "لینکس په عمل کې"
هیڅ شی به په زړه پوری نه وي تر هغه چې تاسو په پیرودونکي کې OpenVPN چلوئ. څنګه چې تاسو اړتیا لرئ یو څو دلیلونه تیر کړئ، تاسو به دا د کمانډ لاین څخه ترسره کړئ. --tls-client دلیل OpenVPN ته وايي چې تاسو به د پیرودونکي په توګه عمل وکړئ او د TLS کوډ کولو له لارې وصل شئ، او --config ستاسو د ترتیب فایل ته اشاره کوي:

# openvpn --tls-client --config /etc/openvpn/client.conf

د کمانډ محصول په احتیاط سره ولولئ ترڅو ډاډ ترلاسه کړئ چې تاسو په سمه توګه وصل یاست. که چیرې یو څه په لومړي ځل غلط شي، دا ممکن د سرور او مراجعینو ترتیباتو فایلونو یا د شبکې اتصال / فایر وال مسلې ترمنځ په ترتیباتو کې د بې اتفاقۍ له امله وي. دلته د ستونزو حل کولو ځینې لارښوونې دي.

  • په پیرودونکي کې د OpenVPN عملیاتو محصول په احتیاط سره ولولئ. دا ډیری وختونه ارزښتناکه مشورې لري چې په حقیقت کې څه نشي ترسره کیدی او ولې.
  • په سرور کې /etc/openvpn/ ډایرکټر کې openvpn.log او openvpn-status.log فایلونو کې د خطا پیغامونه چیک کړئ.
  • د OpenVPN پورې اړوند او وخت شوي پیغامونو لپاره په سرور او پیرودونکي کې د سیسټم لاګونه چیک کړئ. (journalctl -ce به ترټولو وروستي ننوتنې ښکاره کړي.)
  • ډاډ ترلاسه کړئ چې تاسو د سرور او پیرودونکي ترمینځ فعاله شبکه لرئ (په دې اړه نور په 14 څپرکي کې).

د لیکوال په اړه

ډیویډ کلنټن - د سیسټم مدیر، ښوونکی او لیکوال. هغه د ډیرو مهمو تخنیکي څانګو لپاره تعلیمي مواد اداره کړي، لیکلي او جوړ کړي، په شمول د لینکس سیسټمونه، کلاوډ کمپیوټري (په ځانګړې توګه AWS)، او کانټینر ټیکنالوژي لکه ډاکر. هغه کتاب لیکلی د Amazon Web Services Learn Amazon Web Services in a Month of Lunches (Manning, 2017). د هغه ډیری ویډیو روزنیز کورسونه په Pluralsight.com کې موندل کیدی شي، او د هغه د نورو کتابونو لینکونه (د لینکس اداره او سرور مجازی کولو کې) شتون لري. bootstrap-it.com.

» د کتاب په اړه نور جزئیات دلته موندلی شئ د خپرونکي ویب پاڼه
» فهرست
» اقتباس

د Khabrozhiteley لپاره 25% تخفیف د کوپن په کارولو سره - لینوکس
د کتاب د کاغذي نسخې په تادیه کولو سره، یو بریښنایی کتاب به د بریښنالیک له لارې لیږل کیږي.

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

Add a comment