செயல் புத்தகத்தில் லினக்ஸ்

செயல் புத்தகத்தில் லினக்ஸ் வணக்கம், கப்ரோ குடியிருப்பாளர்களே! புத்தகத்தில், டேவிட் கிளிண்டன் 12 நிஜ வாழ்க்கைத் திட்டங்களை விவரிக்கிறார், இதில் உங்கள் காப்புப் பிரதி மற்றும் மீட்பு அமைப்பை தானியங்குபடுத்துதல், டிராப்பாக்ஸ்-பாணியில் தனிப்பட்ட கோப்பு கிளவுட் அமைத்தல் மற்றும் உங்களின் சொந்த மீடியாவிக்கி சேவையகத்தை உருவாக்குதல் ஆகியவை அடங்கும். நீங்கள் மெய்நிகராக்கம், பேரழிவு மீட்பு, பாதுகாப்பு, காப்புப்பிரதி, DevOps மற்றும் கணினி சரிசெய்தல் ஆகியவற்றை சுவாரஸ்யமான வழக்கு ஆய்வுகள் மூலம் ஆராய்வீர்கள். ஒவ்வொரு அத்தியாயமும் சிறந்த நடைமுறைகள், புதிய சொற்களின் சொற்களஞ்சியம் மற்றும் பயிற்சிகளுடன் முடிவடைகிறது.

பகுதி “10.1. OpenVPN சுரங்கப்பாதையை உருவாக்குதல்"

நான் ஏற்கனவே இந்த புத்தகத்தில் என்கிரிப்ஷன் பற்றி நிறைய பேசியுள்ளேன். SSH மற்றும் SCP ஆகியவை ரிமோட் இணைப்புகள் மூலம் பரிமாற்றப்படும் தரவைப் பாதுகாக்கலாம் (அத்தியாயம் 3), கோப்பு குறியாக்கமானது சர்வரில் சேமிக்கப்படும் போது தரவைப் பாதுகாக்கும் (அத்தியாயம் 8), மற்றும் TLS/SSL சான்றிதழ்கள் தளங்கள் மற்றும் கிளையன்ட் உலாவிகளுக்கு இடையே பரிமாற்றப்படும் தரவைப் பாதுகாக்கும் (பாடம் 9) . ஆனால் சில நேரங்களில் உங்கள் தரவு பரந்த அளவிலான இணைப்புகளில் பாதுகாக்கப்பட வேண்டும். எடுத்துக்காட்டாக, பொது ஹாட்ஸ்பாட்கள் வழியாக Wi-Fi உடன் இணைக்கும் போது உங்கள் குழு உறுப்பினர்கள் சிலர் சாலையில் வேலை செய்யலாம். அத்தகைய அணுகல் புள்ளிகள் அனைத்தும் பாதுகாப்பானவை என்று நீங்கள் நிச்சயமாகக் கருதக்கூடாது, ஆனால் உங்கள் நபர்களுக்கு நிறுவன ஆதாரங்களுடன் இணைக்க ஒரு வழி தேவை - அங்குதான் VPN உதவ முடியும்.

ஒழுங்காக வடிவமைக்கப்பட்ட VPN சுரங்கப்பாதையானது தொலைநிலை கிளையண்டுகளுக்கும் சேவையகத்திற்கும் இடையே ஒரு நேரடி இணைப்பை வழங்குகிறது, இது பாதுகாப்பற்ற நெட்வொர்க்கில் பயணிக்கும்போது தரவை மறைக்கும். அதனால் என்ன? குறியாக்கத்தில் இதைச் செய்யக்கூடிய பல கருவிகளை நீங்கள் ஏற்கனவே பார்த்திருக்கிறீர்கள். VPN இன் உண்மையான மதிப்பு என்னவென்றால், ஒரு சுரங்கப்பாதையைத் திறப்பதன் மூலம், தொலைநிலை நெட்வொர்க்குகள் அனைத்தும் உள்ளுரில் இருப்பதைப் போல நீங்கள் இணைக்க முடியும். ஒரு வகையில், நீங்கள் ஒரு பைபாஸைப் பயன்படுத்துகிறீர்கள்.

இந்த நீட்டிக்கப்பட்ட நெட்வொர்க்கைப் பயன்படுத்தி, நிர்வாகிகள் எங்கிருந்தும் தங்கள் சேவையகங்களில் தங்கள் வேலையைச் செய்யலாம். ஆனால் மிக முக்கியமாக, பல இடங்களில் வளங்களைக் கொண்ட ஒரு நிறுவனம், அவர்கள் எங்கிருந்தாலும், அவை அனைத்தையும் காணக்கூடியதாகவும், தேவைப்படும் அனைத்து குழுக்களுக்கும் அணுகக்கூடியதாகவும் மாற்றும் (படம் 10.1).

சுரங்கப்பாதை பாதுகாப்புக்கு உத்தரவாதம் அளிக்காது. ஆனால் குறியாக்க தரநிலைகளில் ஒன்று பிணைய கட்டமைப்பில் சேர்க்கப்படலாம், இது பாதுகாப்பின் அளவை கணிசமாக அதிகரிக்கிறது. திறந்த மூல OpenVPN தொகுப்பைப் பயன்படுத்தி உருவாக்கப்பட்ட சுரங்கங்கள் நீங்கள் ஏற்கனவே படித்த அதே TLS/SSL குறியாக்கத்தைப் பயன்படுத்துகின்றன. OpenVPN மட்டுமே சுரங்கப்பாதை விருப்பமாக இல்லை, ஆனால் இது மிகவும் பிரபலமான ஒன்றாகும். IPsec குறியாக்கத்தைப் பயன்படுத்தும் மாற்று அடுக்கு 2 சுரங்கப்பாதை நெறிமுறையை விட இது சற்று வேகமாகவும் பாதுகாப்பானதாகவும் கருதப்படுகிறது.

சாலையில் அல்லது வெவ்வேறு கட்டிடங்களில் பணிபுரியும் போது உங்கள் குழுவில் உள்ள அனைவரும் ஒருவருக்கொருவர் பாதுகாப்பாக தொடர்பு கொள்ள விரும்புகிறீர்களா? இதைச் செய்ய, பயன்பாட்டுப் பகிர்வு மற்றும் சேவையகத்தின் உள்ளூர் பிணைய சூழலுக்கான அணுகலை அனுமதிக்க OpenVPN சேவையகத்தை நீங்கள் உருவாக்க வேண்டும். இது வேலை செய்ய, நீங்கள் இரண்டு மெய்நிகர் இயந்திரங்கள் அல்லது இரண்டு கொள்கலன்களை இயக்க வேண்டும்: ஒன்று சேவையகம்/புரவலனாக செயல்பட மற்றும் ஒன்று கிளையண்டாக செயல்பட. VPN ஐ உருவாக்குவது ஒரு எளிய செயல்முறை அல்ல, எனவே பெரிய படத்தை மனதில் கொள்ள சில நிமிடங்கள் எடுத்துக்கொள்வது மதிப்பு.

செயல் புத்தகத்தில் லினக்ஸ்

10.1.1. OpenVPN சர்வர் கட்டமைப்பு

நீங்கள் தொடங்குவதற்கு முன், நான் உங்களுக்கு சில பயனுள்ள ஆலோசனைகளை தருகிறேன். அதை நீங்களே செய்யப் போகிறீர்கள் என்றால் (அதைச் செய்ய நான் மிகவும் பரிந்துரைக்கிறேன்), உங்கள் டெஸ்க்டாப்பில் திறந்திருக்கும் பல டெர்மினல் விண்டோக்களுடன் நீங்கள் வேலை செய்வதைக் காணலாம், ஒவ்வொன்றும் வெவ்வேறு கணினியுடன் இணைக்கப்பட்டுள்ளது. ஒரு கட்டத்தில் நீங்கள் தவறான கட்டளையை சாளரத்தில் உள்ளிடும் ஆபத்து உள்ளது. இதைத் தவிர்க்க, நீங்கள் எங்கிருக்கிறீர்கள் என்பதைத் தெளிவாகக் கூறும் வகையில் கட்டளை வரியில் காட்டப்படும் இயந்திரப் பெயரை மாற்ற, hostname கட்டளையைப் பயன்படுத்தலாம். நீங்கள் இதைச் செய்தவுடன், புதிய அமைப்புகள் நடைமுறைக்கு வர, நீங்கள் சேவையகத்திலிருந்து வெளியேறி மீண்டும் உள்நுழைய வேண்டும். இது போல் தெரிகிறது:

செயல் புத்தகத்தில் லினக்ஸ்
இந்த அணுகுமுறையைப் பின்பற்றி, நீங்கள் பணிபுரியும் ஒவ்வொரு இயந்திரத்திற்கும் பொருத்தமான பெயர்களை வழங்குவதன் மூலம், நீங்கள் எங்கு இருக்கிறீர்கள் என்பதை எளிதாகக் கண்காணிக்கலாம்.

புரவலன் பெயரைப் பயன்படுத்திய பிறகு, அடுத்தடுத்த கட்டளைகளை இயக்கும் போது, ​​Host OpenVPN-Server செய்திகளைத் தீர்க்க இயலவில்லை எரிச்சலூட்டுவதை நீங்கள் சந்திக்கலாம். /etc/hosts கோப்பை பொருத்தமான புதிய ஹோஸ்ட்பெயருடன் புதுப்பிப்பது சிக்கலை தீர்க்கும்.

OpenVPN க்காக உங்கள் சேவையகத்தைத் தயார்படுத்துகிறது

உங்கள் சர்வரில் OpenVPN ஐ நிறுவ, உங்களுக்கு இரண்டு தொகுப்புகள் தேவை: openvpn மற்றும் easy-rsa (குறியாக்க விசை உருவாக்க செயல்முறையை நிர்வகிக்க). CentOS பயனர்கள் முதலில் எபெல்-வெளியீட்டு களஞ்சியத்தை நிறுவ வேண்டும், நீங்கள் அத்தியாயம் 2 இல் செய்தது போல. சேவையக பயன்பாட்டிற்கான அணுகலைச் சோதிக்க, நீங்கள் Apache இணைய சேவையகத்தையும் நிறுவலாம் (Ubuntu இல் apache2 மற்றும் CentOS இல் httpd).

நீங்கள் உங்கள் சேவையகத்தை அமைக்கும் போது, ​​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. ஈஸி-ஆர்எஸ்ஏ தொகுப்புடன் வழங்கப்பட்ட ஸ்கிரிப்ட்களைப் பயன்படுத்தி சர்வரில் பொது விசை உள்கட்டமைப்பு (பிகேஐ) குறியாக்க விசைகளின் தொகுப்பை உருவாக்கவும். அடிப்படையில், OpenVPN சேவையகம் அதன் சொந்த சான்றிதழ் அதிகாரமாகவும் (CA) செயல்படுகிறது.
  2. வாடிக்கையாளருக்கு பொருத்தமான விசைகளைத் தயாரிக்கவும்
  3. சேவையகத்திற்கான server.conf கோப்பை உள்ளமைக்கவும்
  4. உங்கள் OpenVPN கிளையண்டை அமைக்கவும்
  5. உங்கள் VPN சரிபார்க்கவும்

குறியாக்க விசைகளை உருவாக்குகிறது

விஷயங்களை எளிமையாக வைத்திருக்க, OpenVPN சர்வர் இயங்கும் அதே கணினியில் உங்கள் முக்கிய உள்கட்டமைப்பை அமைக்கலாம். இருப்பினும், பாதுகாப்பு சிறந்த நடைமுறைகள் பொதுவாக உற்பத்தி வரிசைப்படுத்தல்களுக்கு தனி CA சேவையகத்தைப் பயன்படுத்த பரிந்துரைக்கின்றன. OpenVPN இல் பயன்படுத்த குறியாக்க முக்கிய ஆதாரங்களை உருவாக்கும் மற்றும் விநியோகிக்கும் செயல்முறை படம் 10.2 இல் விளக்கப்பட்டுள்ளது. XNUMX

செயல் புத்தகத்தில் லினக்ஸ்
நீங்கள் OpenVPN ஐ நிறுவியபோது, ​​/etc/openvpn/ அடைவு தானாகவே உருவாக்கப்பட்டது, ஆனால் அதில் எதுவும் இல்லை. openvpn மற்றும் easy-rsa தொகுப்புகள் உங்கள் உள்ளமைவுக்கான அடிப்படையாக நீங்கள் பயன்படுத்தக்கூடிய உதாரண டெம்ப்ளேட் கோப்புகளுடன் வருகின்றன. சான்றிதழ் செயல்முறையைத் தொடங்க, ஈஸி-ஆர்எஸ்ஏ டெம்ப்ளேட் கோப்பகத்தை /usr/share/ இலிருந்து /etc/openvpnக்கு நகலெடுத்து ஈஸி-ஆர்எஸ்ஏ/ கோப்பகத்திற்கு மாற்றவும்:

# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-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 கோப்பை இயக்குவது அதன் மதிப்புகளை ஷெல் சூழலுக்கு அனுப்பும், அங்கு அவை உங்கள் புதிய விசைகளின் உள்ளடக்கத்தில் சேர்க்கப்படும். சூடோ கட்டளை ஏன் வேலை செய்யாது? ஏனெனில் முதல் கட்டத்தில் நாம் vars என பெயரிடப்பட்ட ஸ்கிரிப்டை எடிட் செய்து பின்னர் அதைப் பயன்படுத்துகிறோம். விண்ணப்பிப்பது மற்றும் vars கோப்பு அதன் மதிப்புகளை ஷெல் சூழலுக்கு அனுப்புகிறது, அங்கு அவை உங்கள் புதிய விசைகளின் உள்ளடக்கத்தில் சேர்க்கப்படும்.

முடிக்கப்படாத செயல்முறையை முடிக்க புதிய ஷெல்லைப் பயன்படுத்தி கோப்பை மீண்டும் இயக்கவும். இது முடிந்ததும், /etc/openvpn/easy-rsa/keys/ கோப்பகத்தில் உள்ள எந்தவொரு உள்ளடக்கத்தையும் அகற்ற, மற்றொரு ஸ்கிரிப்டை, சுத்தமான அனைத்தையும் இயக்குமாறு ஸ்கிரிப்ட் உங்களைத் தூண்டும்:

செயல் புத்தகத்தில் லினக்ஸ்
இயற்கையாகவே, அடுத்த படியானது க்ளீன்-ஆல் ஸ்கிரிப்டை இயக்க வேண்டும், அதைத் தொடர்ந்து பில்ட்-கா, ரூட் சான்றிதழை உருவாக்க 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 அல்காரிதம் மூலம் உருவாக்கப்பட்ட அளவுருக்களை (பில்ட்-டிஹெச் பயன்படுத்தி) புதிய இணைப்புகளுக்கான அங்கீகாரத்தைப் பயன்படுத்துகிறது. இங்கு உருவாக்கப்பட்ட கோப்பு இரகசியமாக இருக்க வேண்டிய அவசியமில்லை, ஆனால் தற்போது செயலில் உள்ள 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 கோப்புடன் இரண்டு கிளையன்ட் கோப்புகளும் இப்போது பாதுகாப்பாக உங்கள் கிளையண்டிற்கு மாற்றப்பட வேண்டும். அவர்களின் உரிமை மற்றும் அணுகல் உரிமைகள் காரணமாக, இது அவ்வளவு எளிதாக இருக்காது. உங்கள் கணினியின் டெஸ்க்டாப்பில் இயங்கும் டெர்மினலில் மூலக் கோப்பின் உள்ளடக்கங்களை (மற்றும் அந்த உள்ளடக்கத்தைத் தவிர வேறில்லை) கைமுறையாக நகலெடுப்பதே எளிமையான அணுகுமுறையாகும் (உரையைத் தேர்ந்தெடுத்து, அதில் வலது கிளிக் செய்து, மெனுவிலிருந்து நகலெடு என்பதைத் தேர்ந்தெடுக்கவும்). உங்கள் கிளையண்டுடன் இணைக்கப்பட்ட இரண்டாவது டெர்மினலில் நீங்கள் உருவாக்கும் அதே பெயரில் புதிய கோப்பில் இதை ஒட்டவும்.

ஆனால் யார் வேண்டுமானாலும் வெட்டி ஒட்டலாம். அதற்குப் பதிலாக, ஒரு நிர்வாகியைப் போல் சிந்தியுங்கள். உங்கள் பயனரின் முகப்பு கோப்பகத்தில் கோப்புகளை நகலெடுக்கவும் (இதனால் ரிமோட் 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 கோப்பு எப்படி இருக்க வேண்டும் என்பதை எப்படி அறிந்து கொள்வது? /usr/share/ இலிருந்து நீங்கள் நகலெடுத்த ஈஸி-ஆர்எஸ்ஏ கோப்பக டெம்ப்ளேட்டை நினைவில் கொள்கிறீர்களா? நீங்கள் 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 க்கு வாடிக்கையாளர்களுடன் குறைந்தபட்ச ஒருங்கிணைப்பு தேவைப்படுவதால், அதை இந்த வழியில் செய்வது சிறந்தது.
  • ஓபன்விபிஎன் தரவை அனுப்ப டிரான்ஸ்மிஷன் கண்ட்ரோல் புரோட்டோகால் (டிசிபி) அல்லது யூசர் டேட்டாகிராம் புரோட்டோகால் (யுடிபி) ஆகியவற்றைப் பயன்படுத்துகிறது. TCP சற்று மெதுவாக இருக்கலாம், ஆனால் இது மிகவும் நம்பகமானது மற்றும் சுரங்கப்பாதையின் இரு முனைகளிலும் இயங்கும் பயன்பாடுகளால் புரிந்து கொள்ளக்கூடியது.
  • தரவு உள்ளடக்கம் மற்றும் வேறு எதுவும் இல்லாத எளிமையான, திறமையான IP சுரங்கப்பாதையை நீங்கள் உருவாக்க விரும்பும் போது dev tun ஐக் குறிப்பிடலாம். மறுபுறம், நீங்கள் பல பிணைய இடைமுகங்களை இணைக்க வேண்டும் (மற்றும் அவை பிரதிநிதித்துவப்படுத்தும் நெட்வொர்க்குகள்), ஈத்தர்நெட் பிரிட்ஜை உருவாக்கினால், நீங்கள் டெவ் டேப்பை தேர்வு செய்ய வேண்டும். இவை அனைத்தும் என்னவென்று உங்களுக்குப் புரியவில்லை என்றால், துன் வாதத்தைப் பயன்படுத்தவும்.
  • அடுத்த நான்கு வரிகள் OpenVPN க்கு சர்வரில் உள்ள மூன்று அங்கீகாரக் கோப்புகளின் பெயர்களையும், நீங்கள் முன்பு உருவாக்கிய dh2048 விருப்பக் கோப்புகளையும் தருகிறது.
  • சர்வர் லைன் வரம்பு மற்றும் சப்நெட் முகமூடியை அமைக்கிறது, இது உள்நுழையும்போது வாடிக்கையாளர்களுக்கு ஐபி முகவரிகளை ஒதுக்க பயன்படும்.
  • விருப்ப புஷ் அளவுரு "பாதை 10.0.3.0 255.255.255.0" தொலைநிலை கிளையன்ட்கள் சேவையகத்திற்கு பின்னால் உள்ள தனிப்பட்ட சப்நெட்களை அணுக அனுமதிக்கிறது. இந்த வேலையைச் செய்வதற்கு, சர்வரிலேயே நெட்வொர்க்கை அமைக்க வேண்டும், இதனால் ஓபன்விபிஎன் சப்நெட் (10.8.0.0) பற்றி தனியார் சப்நெட் அறியும்.
  • போர்ட்-ஷேர் லோக்கல் ஹோஸ்ட் 80 வரியானது போர்ட் 1194 இல் வரும் கிளையன்ட் டிராஃபிக்கை போர்ட் 80 இல் கேட்கும் உள்ளூர் வலை சேவையகத்திற்குத் திருப்பிவிட உங்களை அனுமதிக்கிறது. (உங்கள் VPN ஐச் சோதிக்க நீங்கள் இணைய சேவையகத்தைப் பயன்படுத்தப் போகிறீர்கள் என்றால் இது பயனுள்ளதாக இருக்கும்.) இது மட்டுமே வேலை செய்யும். பின்னர் tcp நெறிமுறை தேர்ந்தெடுக்கப்படும் போது.
  • அரைப்புள்ளிகளை (;) அகற்றுவதன் மூலம் பயனர் யாரும் மற்றும் குழு நோக்ரூப் வரிகளை இயக்க வேண்டும். ரிமோட் கிளையண்டுகளை யாரும் மற்றும் குழுமமாக இயக்க கட்டாயப்படுத்துவது, சேவையகத்தில் அமர்வுகள் சலுகையற்றவை என்பதை உறுதி செய்கிறது.
  • ஒவ்வொரு முறையும் 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 கிளையண்டாகச் செயல்பட சில வகையான லினக்ஸ் கணினிகளை கைமுறையாக அமைப்பதில் கவனம் செலுத்தப் போகிறேன். ஆனால் இந்த வாய்ப்பு மட்டும் கிடைக்காது. Windows அல்லது macOS இயங்கும் டெஸ்க்டாப்புகள் மற்றும் மடிக்கணினிகள் மற்றும் Android மற்றும் iOS ஸ்மார்ட்போன்கள் மற்றும் டேப்லெட்டுகளில் நிறுவப்பட்டு பயன்படுத்தக்கூடிய கிளையன்ட் பயன்பாடுகளை OpenVPN ஆதரிக்கிறது. விவரங்களுக்கு openvpn.net ஐப் பார்க்கவும்.

OpenVPN தொகுப்பு சேவையகத்தில் நிறுவப்பட்டது போல் கிளையன்ட் கணினியில் நிறுவப்பட வேண்டும், இருப்பினும் நீங்கள் பயன்படுத்தும் விசைகள் ஏற்கனவே இருப்பதால் இங்கே ஈஸி-ஆர்எஸ்ஏ தேவையில்லை. நீங்கள் இப்போது உருவாக்கிய /etc/openvpn/ கோப்பகத்தில் வாடிக்கையாளர்.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 ஆகும், இது கிளையண்டிற்கு சேவையகத்தின் ஐபி முகவரியைக் கூறுகிறது. மீண்டும், இது உங்கள் சேவையக முகவரி என்பதை உறுதிப்படுத்தவும். மேன்-இன்-தி-மிடில் தாக்குதலைத் தடுக்க, சேவையக சான்றிதழின் நம்பகத்தன்மையை சரிபார்க்க கிளையன்ட் கணினியை நீங்கள் கட்டாயப்படுத்த வேண்டும். இதைச் செய்வதற்கான ஒரு வழி, வரி remote-cert-tls சேவையகத்தைச் சேர்ப்பது (பட்டியல் 10.3).

செயல் புத்தகத்தில் லினக்ஸ்
நீங்கள் இப்போது /etc/openvpn/ கோப்பகத்திற்குச் சென்று சர்வரில் இருந்து சான்றிதழ் விசைகளைப் பிரித்தெடுக்கலாம். எடுத்துக்காட்டில் உள்ள சர்வர் ஐபி முகவரி அல்லது டொமைன் பெயரை உங்கள் மதிப்புகளுடன் மாற்றவும்:

செயல் புத்தகத்தில் லினக்ஸ்
நீங்கள் கிளையண்டில் 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

கருத்தைச் சேர்