පොත "ලිනක්ස් ක්‍රියාත්මකයි"

පොත "ලිනක්ස් ක්‍රියාත්මකයි" ආයුබෝවන්, Khabro පදිංචිකරුවන්! පොතේ, ඩේවිඩ් ක්ලින්ටන් ඔබේ උපස්ථ සහ ප්‍රතිසාධන පද්ධතිය ස්වයංක්‍රීය කිරීම, Dropbox ආකාරයේ පුද්ගලික ගොනු වලාකුළක් සැකසීම සහ ඔබේම MediaWiki සේවාදායකයක් නිර්මාණය කිරීම ඇතුළු සැබෑ ජීවිත ව්‍යාපෘති 12ක් විස්තර කරයි. ඔබ අථත්‍යකරණය, ආපදා ප්‍රතිසාධනය, ආරක්‍ෂාව, උපස්ථය, DevOps සහ පද්ධති දෝශ නිරාකරණය සිත්ගන්නා සිද්ධි අධ්‍යයනය හරහා ගවේෂණය කරනු ඇත. සෑම පරිච්ඡේදයක්ම අවසන් වන්නේ හොඳම භාවිතයන් පිළිබඳ සමාලෝචනයක්, නව නියමයන් පිළිබඳ පාරිභාෂික ශබ්දකෝෂයක් සහ අභ්‍යාස සමඟිනි.

උපුටා ගැනීම "10.1. OpenVPN උමගක් නිර්මාණය කිරීම"

මම දැනටමත් මෙම පොතේ සංකේතනය ගැන බොහෝ දේ කතා කර ඇත. SSH සහ SCP දුරස්ථ සම්බන්ධතා හරහා මාරු කරන ලද දත්ත ආරක්ෂා කළ හැක (3 වන පරිච්ඡේදය), ගොනු සංකේතනය මඟින් සේවාදායකයේ ගබඩා කර ඇති විට දත්ත ආරක්ෂා කළ හැකිය (පරිච්ඡේදය 8), සහ TLS/SSL සහතික මඟින් අඩවි සහ සේවාදායක බ්‍රවුසර අතර මාරු කළ දත්ත ආරක්ෂා කළ හැක (පරිච්ඡේදය 9) . නමුත් සමහර විට ඔබේ දත්ත පුළුල් පරාසයක සම්බන්ධතා හරහා ආරක්ෂා කළ යුතුය. උදාහරණයක් ලෙස, සමහර විට ඔබේ කණ්ඩායමේ සමහර සාමාජිකයන් පොදු හොට්ස්පොට් හරහා Wi-Fi වෙත සම්බන්ධ වෙමින් මාර්ගයේ වැඩ කරයි. එවැනි ප්‍රවේශ ස්ථාන සියල්ලම ආරක්ෂිත යැයි ඔබ අනිවාර්යයෙන්ම උපකල්පනය නොකළ යුතුය, නමුත් ඔබේ පුද්ගලයින්ට සමාගම් සම්පත් වෙත සම්බන්ධ වීමට ක්‍රමයක් අවශ්‍ය වේ—එසේම VPN උපකාර කළ හැකි ස්ථානයයි.

නිවැරදිව නිර්මාණය කරන ලද VPN උමගක් අනාරක්ෂිත ජාලයක් හරහා ගමන් කරන විට දත්ත සඟවන ආකාරයෙන් දුරස්ථ සේවාලාභීන් සහ සේවාදායකය අතර සෘජු සම්බන්ධතාවයක් සපයයි. ඉතින් කුමක් ද? සංකේතාංකනය සමඟ මෙය කළ හැකි බොහෝ මෙවලම් ඔබ දැනටමත් දැක ඇත. VPN එකක සැබෑ වටිනාකම නම්, උමගක් විවෘත කිරීමෙන්, ඔබට දුරස්ථ ජාල සියල්ලම දේශීය ඒවා ලෙස සම්බන්ධ කළ හැකිය. එක් අර්ථයකින්, ඔබ බයිපාස් භාවිතා කරයි.

මෙම විස්තීර්ණ ජාලය භාවිතා කරමින්, පරිපාලකයින්ට ඕනෑම තැනක සිට ඔවුන්ගේ සේවාදායක මත ඔවුන්ගේ කාර්යය ඉටු කළ හැකිය. එහෙත් වඩාත් වැදගත් වන්නේ, විවිධ ස්ථාන පුරා විසිරී ඇති සම්පත් ඇති සමාගමකට ඔවුන් කොතැනක සිටියත්, ඒවා සියල්ල දෘශ්‍යමාන කිරීමට සහ අවශ්‍ය සියලුම කණ්ඩායම් වෙත ප්‍රවේශ විය හැකි බවට පත් කළ හැකිය (රූපය 10.1).

උමං මාර්ගයම ආරක්ෂාව සහතික නොකරයි. නමුත් සංකේතාංකන සම්මතයන්ගෙන් එකක් ජාල ව්යුහයට ඇතුළත් කළ හැකි අතර, එය ආරක්ෂිත මට්ටම සැලකිය යුතු ලෙස වැඩි කරයි. විවෘත මූලාශ්‍ර OpenVPN පැකේජය භාවිතයෙන් සාදන ලද උමං මාර්ග ඔබ දැනටමත් කියවා ඇති TLS/SSL සංකේතනයම භාවිතා කරයි. OpenVPN යනු පවතින එකම උමං විකල්පය නොවේ, නමුත් එය වඩාත් හොඳින් දන්නා එකකි. එය IPsec සංකේතනය භාවිතා කරන විකල්ප Layer 2 උමං ප්‍රොටෝකෝලයට වඩා තරමක් වේගවත් සහ ආරක්ෂිත යැයි සැලකේ.

පාරේ යන විට හෝ විවිධ ගොඩනැඟිලිවල වැඩ කරන විට ඔබේ කණ්ඩායමේ සියලු දෙනා එකිනෙකා සමඟ ආරක්ෂිතව සන්නිවේදනය කිරීමට ඔබට අවශ්‍යද? මෙය සිදු කිරීම සඳහා, යෙදුම් බෙදාගැනීම සහ සේවාදායකයේ ප්‍රාදේශීය ජාල පරිසරයට ප්‍රවේශ වීම සඳහා ඔබ OpenVPN සේවාදායකයක් සෑදිය යුතුය. මෙය ක්‍රියා කිරීම සඳහා, ඔබ කළ යුත්තේ අතථ්‍ය යන්ත්‍ර දෙකක් හෝ බහාලුම් දෙකක් ක්‍රියාත්මක කිරීම පමණි: එකක් සේවාදායකය/ධාරකය ලෙස ක්‍රියා කිරීමට සහ එකක් සේවාදායකයා ලෙස ක්‍රියා කිරීමට. VPN එකක් තැනීම සරල ක්‍රියාවලියක් නොවේ, එබැවින් විශාල පින්තූරයක් මනසේ තබා ගැනීමට මිනිත්තු කිහිපයක් ගත කිරීම වටී.

පොත "ලිනක්ස් ක්‍රියාත්මකයි"

10.1.1. OpenVPN සේවාදායක වින්‍යාසය

ඔබ ආරම්භ කිරීමට පෙර, මම ඔබට ප්රයෝජනවත් උපදෙස් කිහිපයක් දෙන්නෙමි. ඔබ එය ඔබම කිරීමට යන්නේ නම් (සහ මම ඔබට නිර්දේශ කරමි), ඔබේ ඩෙස්ක්ටොප් එකේ විවෘතව ඇති බහු පර්යන්ත කවුළු සමඟ ඔබ වැඩ කරන බව ඔබට පෙනී යනු ඇත, ඒ සෑම එකක්ම වෙනස් යන්ත්‍රයකට සම්බන්ධ කර ඇත. යම් අවස්ථාවක දී ඔබ කවුළුව තුළට වැරදි විධානයක් ඇතුල් කිරීමේ අවදානමක් ඇත. මෙය වළක්වා ගැනීම සඳහා, ඔබට විධාන රේඛාවේ දිස්වන යන්ත්‍ර නාමය ඔබ සිටින ස්ථානය පැහැදිලිව පවසන දෙයකට වෙනස් කිරීමට ඔබට hostname විධානය භාවිතා කළ හැකිය. ඔබ මෙය කළ පසු, නව සැකසුම් ක්‍රියාත්මක වීමට ඔබට සේවාදායකයෙන් ඉවත් වී නැවත ලොග් වීමට අවශ්‍ය වනු ඇත. එය පෙනෙන්නේ මෙයයි:

පොත "ලිනක්ස් ක්‍රියාත්මකයි"
මෙම ප්‍රවේශය අනුගමනය කිරීමෙන් සහ ඔබ වැඩ කරන සෑම යන්ත්‍රයකටම සුදුසු නම් ලබා දීමෙන්, ඔබට ඔබ සිටින ස්ථානය පහසුවෙන් නිරීක්ෂණය කළ හැකිය.

සත්කාරක නාමය භාවිතා කිරීමෙන් පසු, ඔබට පසුව විධාන ක්‍රියාත්මක කිරීමේදී Host OpenVPN-Server පණිවිඩ විසඳා ගැනීමට නොහැකි වීම කරදරකාරී විය හැක. සුදුසු නව සත්කාරක නාමය සමඟ /etc/hosts ගොනුව යාවත්කාලීන කිරීම ගැටළුව විසඳිය යුතුය.

OpenVPN සඳහා ඔබගේ සේවාදායකය සූදානම් කරමින්

ඔබගේ සේවාදායකයේ OpenVPN ස්ථාපනය කිරීමට, ඔබට පැකේජ දෙකක් අවශ්‍ය වේ: openvpn සහ easy-rsa (එන්ක්‍රිප්ට් යතුරු උත්පාදන ක්‍රියාවලිය කළමනාකරණය කිරීමට). CentOS භාවිතා කරන්නන් පළමුව අවශ්‍ය නම්, ඔබ 2 වන පරිච්ඡේදයේ කළාක් මෙන්, Epel-release repository ස්ථාපනය කළ යුතුය. සේවාදායක යෙදුමට ප්‍රවේශය පරීක්ෂා කිරීමට හැකි වීම සඳහා, ඔබට Apache web server (Ubuntu මත apache2 සහ CentOS මත httpd) ද ස්ථාපනය කළ හැක.

ඔබ ඔබේ සේවාදායකය සකසන අතරතුර, 22 (SSH) සහ 1194 (OpenVPN හි පෙරනිමි වරාය) හැර අනෙකුත් සියලුම වරායන් අවහිර කරන ෆයර්වෝලයක් සක්‍රිය කිරීමට මම නිර්දේශ කරමි. Ubuntu මත 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. පහසු-rsa පැකේජය සමඟ සපයා ඇති ස්ක්‍රිප්ට් භාවිතයෙන් සේවාදායකයේ පොදු යතුරු යටිතල පහසුකම් (PKI) සංකේතාංකන යතුරු කට්ටලයක් සාදන්න. අත්‍යවශ්‍යයෙන්ම, OpenVPN සේවාදායකය එහිම සහතික අධිකාරිය (CA) ලෙසද ක්‍රියා කරයි.
  2. සේවාදායකයා සඳහා සුදුසු යතුරු සකස් කරන්න
  3. සේවාදායකය සඳහා server.conf ගොනුව වින්‍යාස කරන්න
  4. ඔබගේ OpenVPN සේවාලාභියා සකසන්න
  5. ඔබගේ VPN පරීක්ෂා කරන්න

සංකේතාංකන යතුරු උත්පාදනය කිරීම

දේවල් සරලව තබා ගැනීම සඳහා, OpenVPN සේවාදායකය ක්‍රියාත්මක වන එම යන්ත්‍රය මත ඔබට ඔබේ ප්‍රධාන යටිතල ව්‍යුහය සැකසිය හැක. කෙසේ වෙතත්, ආරක්ෂණ හොඳම භාවිතයන් සාමාන්‍යයෙන් යෝජනා කරන්නේ නිෂ්පාදන යෙදවීම් සඳහා වෙනම CA සේවාදායකයක් භාවිතා කිරීමයි. OpenVPN හි භාවිතය සඳහා සංකේතාංකන ප්රධාන සම්පත් උත්පාදනය කිරීමේ සහ බෙදා හැරීමේ ක්රියාවලිය රූපයේ දැක්වේ. 10.2

පොත "ලිනක්ස් ක්‍රියාත්මකයි"
ඔබ OpenVPN ස්ථාපනය කරන විට, /etc/openvpn/ බහලුම ස්වයංක්‍රීයව නිර්මාණය වී ඇත, නමුත් තවමත් එහි කිසිවක් නොමැත. openvpn සහ easy-rsa පැකේජ ඔබේ වින්‍යාසය සඳහා පදනමක් ලෙස භාවිතා කළ හැකි උදාහරණ ආකෘති ගොනු සමඟ පැමිණේ. සහතික කිරීමේ ක්‍රියාවලිය ආරම්භ කිරීමට, /usr/share/ සිට /etc/openvpn වෙත පහසු-rsa සැකිලි නාමාවලිය පිටපත් කර පහසු-rsa/ බහලුම වෙත වෙනස් කරන්න:

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

පහසු-rsa නාමාවලියෙහි දැන් ස්ක්‍රිප්ට් කිහිපයක් අඩංගු වේ. වගුවේ 10.1 ඔබ යතුරු සෑදීමට භාවිතා කරන මෙවලම් ලැයිස්තුගත කරයි.

පොත "ලිනක්ස් ක්‍රියාත්මකයි"

ඉහත මෙහෙයුම් සඳහා root වරප්‍රසාද අවශ්‍ය වේ, එබැවින් ඔබ sudo su හරහා root විය යුතුය.

ඔබ සමඟ වැඩ කරන පළමු ගොනුව 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 කියන script එක Edit කරලා ඊට පස්සේ Apply කරනවා. අයදුම් කිරීම සහ එයින් අදහස් කරන්නේ vars ගොනුව එහි අගයන් ෂෙල් පරිසරයට යවන අතර එහිදී ඒවා ඔබේ නව යතුරුවල අන්තර්ගතයට ඇතුළත් වන බවයි.

නිම නොකළ ක්‍රියාවලිය සම්පූර්ණ කිරීම සඳහා නව කවචයක් භාවිතයෙන් ගොනුව නැවත ධාවනය කිරීමට වග බලා ගන්න. මෙය සිදු කළ විට, /etc/openvpn/easy-rsa/keys/ බහලුම තුළ ඇති ඕනෑම අන්තර්ගතයක් ඉවත් කිරීමට, වෙනත් ස්ක්‍රිප්ට් එකක් ධාවනය කිරීමට ස්ක්‍රිප්ට් ඔබෙන් විමසනු ඇත.

පොත "ලිනක්ස් ක්‍රියාත්මකයි"
ස්වාභාවිකවම, මීලඟ පියවර වන්නේ මූල සහතිකය සෑදීමට pkitool ස්ක්‍රිප්ට් භාවිතා කරන build-ca, ඉන්පසුව clean-all script ධාවනය කිරීමයි. vars මඟින් සපයන ලද අනන්‍යතා සැකසුම් තහවුරු කිරීමට ඔබෙන් අසනු ඇත:

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

ඊළඟට එන්නේ build-key-server script එක. එය නව මූල සහතිකය සමඟ එකම 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 මෙහෙයුමට ඒවාට ප්‍රවේශ විය හැකි පරිදි), ඉන්පසු දුරස්ථ scp ක්‍රියාව සිදු කළ හැකි වන පරිදි ගොනු වල හිමිකාරිත්වය root සිට root නොවන පරිශීලකයෙකු දක්වා වෙනස් කිරීමට chown භාවිතා කරන්න. ඔබගේ සියලුම ගොනු දැනට ස්ථාපනය කර ප්‍රවේශ විය හැකි බවට වග බලා ගන්න. ඔබ ඒවා ටික වේලාවකට පසුව සේවාදායකයා වෙත ගෙන යනු ඇත:

# 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 ගොනුව කෙබඳු විය යුතුද යන්න ඔබට දැනගත හැක්කේ කෙසේද? ඔබ /usr/share/ වෙතින් පිටපත් කළ පහසු-rsa නාමාවලි අච්චුව මතකද? ඔබ OpenVPN ස්ථාපනය කරන විට, ඔබට /etc/openvpn/ වෙත පිටපත් කළ හැකි සම්පීඩිත වින්‍යාස අච්චු ගොනුවක් ඉතිරිව ඇත. මම සැකිල්ල සංරක්ෂණය කර ඇති බව මත ගොඩනඟා ඔබට ප්‍රයෝජනවත් මෙවලමක් හඳුන්වා දෙන්නෙමි: zcat.

cat විධානය භාවිතයෙන් ගොනුවක පෙළ අන්තර්ගතය තිරයට මුද්‍රණය කිරීම ගැන ඔබ දැනටමත් දන්නවා, නමුත් gzip භාවිතයෙන් ගොනුව සම්පීඩනය කරන්නේ නම් කුමක් කළ යුතුද? ඔබට සැමවිටම ගොනුව විසන්ධි කළ හැකි අතර පසුව බළලා සතුටින් එය ප්‍රතිදානය කරයි, නමුත් එය අවශ්‍ය ප්‍රමාණයට වඩා පියවර එකක් හෝ දෙකක් වේ. ඒ වෙනුවට, ඔබ අනුමාන කළ පරිදි, එක් පියවරකින් ඇසුරුම් නොකළ පෙළ මතකයට පැටවීමට ඔබට zcat විධානය නිකුත් කළ හැකිය. පහත උදාහරණයේ දී, තිරයට පෙළ මුද්‍රණය කරනවා වෙනුවට, ඔබ එය server.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 ටිකක් මන්දගාමී විය හැක, නමුත් එය වඩාත් විශ්වාසදායක වන අතර උමගෙහි දෙපැත්තේ ධාවනය වන යෙදුම් මගින් තේරුම් ගැනීමට ඉඩ ඇත.
  • ඔබට දත්ත අන්තර්ගතය සහ වෙන කිසිවක් රැගෙන යන සරල, වඩාත් කාර්යක්ෂම IP උමගක් නිර්මාණය කිරීමට අවශ්‍ය වූ විට ඔබට dev tun සඳහන් කළ හැක. අනෙක් අතට, ඔබට බහු ජාල අතුරුමුහුණත් (සහ ඒවා නියෝජනය කරන ජාල) සම්බන්ධ කිරීමට අවශ්‍ය නම්, ඊතර්නෙට් පාලමක් නිර්මාණය කිරීම, ඔබට dev tap තෝරා ගැනීමට සිදුවේ. මේ සියල්ලෙන් අදහස් කරන්නේ කුමක්දැයි ඔබට නොතේරෙන්නේ නම්, ටුන් තර්කය භාවිතා කරන්න.
  • ඊළඟ පේළි හතර OpenVPN වෙත සේවාදායකයේ ඇති සත්‍යාපන ගොනු තුනේ නම් සහ ඔබ කලින් නිර්මාණය කළ dh2048 විකල්ප ගොනුව ලබා දෙයි.
  • සේවාදායක රේඛාව පුරන විට සේවාදායකයින්ට IP ලිපින පැවරීමට භාවිතා කරන පරාසය සහ උපජාල ආවරණය සකසයි.
  • විකල්ප තල්ලු පරාමිතිය "මාර්ගය 10.0.3.0 255.255.255.0" දුරස්ථ සේවාදායකයින්ට සේවාදායකය පිටුපස පුද්ගලික උපජාල වෙත ප්‍රවේශ වීමට ඉඩ සලසයි. මෙම කාර්යය සිදු කිරීම සඳහා පුද්ගලික උපජාලය OpenVPN උපජාලය (10.8.0.0) ගැන දැන ගැනීමට සේවාදායකය තුළම ජාලය පිහිටුවීම අවශ්‍ය වේ.
  • port-share localhost 80 රේඛාව ඔබට වරාය 1194 මත පැමිණෙන සේවාදායක ගමනාගමනය වරාය 80 මත සවන් දෙන දේශීය වෙබ් සේවාදායකයකට හරවා යැවීමට ඉඩ සලසයි. (ඔබ ඔබේ VPN පරීක්ෂා කිරීමට වෙබ් සේවාදායකය භාවිතා කිරීමට යන්නේ නම් මෙය ප්‍රයෝජනවත් වනු ඇත.) මෙය පමණක් ක්‍රියා කරයි. එවිට tcp ප්රොටෝකෝලය තෝරාගත් විට.
  • පරිශීලක nobody සහ group nogroup lines semicolons (;) ඉවත් කිරීමෙන් සබල කළ යුතුය. දුරස්ථ සේවාලාභීන්ට කිසිවකු සහ සමූහ වශයෙන් ධාවනය කිරීමට බල කිරීම සේවාදායකයේ සැසි වරප්‍රසාද රහිත බව සහතික කරයි.
  • OpenVPN ආරම්භ කරන සෑම අවස්ථාවකම වත්මන් ලොග් ඇතුළත් කිරීම් පැරණි ඇතුළත් කිරීම් නැවත ලියනු ඇති බව log සඳහන් කරයි, නමුත් 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 Windows හෝ macOS ධාවනය වන ඩෙස්ක්ටොප් සහ ලැප්ටොප් පරිගණකවල මෙන්ම Android සහ iOS ස්මාර්ට්ෆෝන් සහ ටැබ්ලට් පරිගණකවල ස්ථාපනය කර භාවිතා කළ හැකි සේවාදායක යෙදුම් සඳහා සහය දක්වයි. විස්තර සඳහා openvpn.net බලන්න.

OpenVPN පැකේජය සේවාදායකයේ ස්ථාපනය කර ඇති පරිදි සේවාදායක යන්ත්‍රය මත ස්ථාපනය කිරීමට අවශ්‍ය වනු ඇත, නමුත් ඔබ භාවිතා කරන යතුරු දැනටමත් පවතින බැවින් මෙහි පහසු-rsa අවශ්‍ය නොවේ. ඔබ විසින් ඔබ විසින් නිර්මාණය කරන ලද /etc/openvpn/ බහලුම වෙත client.conf සැකිලි ගොනුව පිටපත් කළ යුතුය. මෙවර ගොනුව සිප් නොකරනු ඇත, එබැවින් සාමාන්‍ය 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 ලිපිනය කියයි. නැවතත්, මෙය ඔබගේ සේවාදායක ලිපිනය බව සහතික කර ගන්න. විය හැකි මිනිසා-මැද ප්‍රහාරයක් වැලැක්වීම සඳහා සේවාදායක සහතිකයේ සත්‍යතාව තහවුරු කිරීමට ඔබ සේවාදායක පරිගණකයට බල කළ යුතුය. මෙය කළ හැකි එක් ක්‍රමයක් නම් රේඛීය දුරස්ථ-cert-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) සහ ඩොකර් වැනි බහාලුම් තාක්ෂණයන් ඇතුළු බොහෝ වැදගත් තාක්ෂණික විෂයයන් සඳහා අධ්‍යාපනික ද්‍රව්‍ය පරිපාලනය, ලිවීම සහ නිර්මාණය කර ඇත. ඔහු Learn Amazon Web Services in a Month of Lunches (Manning, 2017) යන පොත ලිවීය. ඔහුගේ වීඩියෝ පුහුණු පාඨමාලා බොහොමයක් Pluralsight.com හි සොයා ගත හැකි අතර, ඔහුගේ අනෙකුත් පොත් වලට සබැඳි (ලිනක්ස් පරිපාලනය සහ සේවාදායක අථත්‍යකරණය පිළිබඳ) මෙහි ඇත. bootstrap-it.com.

» පොත පිළිබඳ වැඩි විස්තර මෙතැනින් සොයාගත හැකිය ප්රකාශකයාගේ වෙබ් අඩවිය
» පටුන
» උපුටා ගැනීමකි

Khabrozhiteley සඳහා කූපනය භාවිතයෙන් 25% වට්ටමක් - ලිනක්ස්
පොතේ කඩදාසි පිටපත ගෙවීමෙන් පසු විද්‍යුත් පොතක් විද්‍යුත් තැපෑලෙන් එවනු ලැබේ.

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

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