ஓப்பன் கனெக்ட் மற்றும் விபிஎன்-ஸ்லைஸைப் பயன்படுத்தி லினக்ஸில் கார்ப்பரேட் விபிஎன் உடன் இணைப்பது எப்படி

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

கட்டுரையில் நிறைய தேவையற்ற தகவல்கள் உள்ளன, ஆனால் இந்த அறிவு இல்லாமல் VPN ஐ அமைப்பதில் எதிர்பாராத விதமாக எனக்கு தோன்றிய சிக்கல்களை என்னால் தீர்க்க முடியாது. இந்த வழிகாட்டியைப் பயன்படுத்த முயற்சிக்கும் எவருக்கும் என்னிடம் இல்லாத சிக்கல்கள் இருக்கும் என்று நான் நினைக்கிறேன், மேலும் இந்த கூடுதல் தகவல் இந்த சிக்கல்களைத் தாங்களே தீர்க்க உதவும் என்று நம்புகிறேன்.

இந்த வழிகாட்டியில் பயன்படுத்தப்படும் பெரும்பாலான கட்டளைகள் sudo வழியாக இயக்கப்பட வேண்டும், இது சுருக்கத்திற்காக நீக்கப்பட்டது. நினைவில் கொள்.

பெரும்பாலான ஐபி முகவரிகள் மிகவும் குழப்பமடைந்துள்ளன, எனவே நீங்கள் 435.435.435.435 போன்ற முகவரியைக் கண்டால், உங்கள் விஷயத்தில் குறிப்பிட்ட சில சாதாரண ஐபி இருக்க வேண்டும்.

என்னிடம் உபுண்டு 18.04 உள்ளது, ஆனால் சிறிய மாற்றங்களுடன் வழிகாட்டியை மற்ற விநியோகங்களுக்குப் பயன்படுத்தலாம் என்று நினைக்கிறேன். இருப்பினும், இந்த உரையில் லினக்ஸ் == உபுண்டு.

சிஸ்கோ இணைப்பு

Windows அல்லது MacOS இல் இருப்பவர்கள் Cisco Connect வழியாக எங்கள் நிறுவன VPN உடன் இணைக்க முடியும், அது நுழைவாயில் முகவரியைக் குறிப்பிட வேண்டும், ஒவ்வொரு முறை இணைக்கும்போதும், Google அங்கீகரிப்பாளரால் உருவாக்கப்பட்ட ஒரு நிலையான பகுதி மற்றும் குறியீட்டைக் கொண்ட கடவுச்சொல்லை உள்ளிடவும்.

லினக்ஸைப் பொறுத்தவரை, என்னால் சிஸ்கோ கனெக்ட் இயங்க முடியவில்லை, ஆனால் சிஸ்கோ கனெக்ட்டைப் பயன்படுத்துவதற்குப் பரிந்துரைக்கப்பட்ட ஓபன் கனெக்ட்டைப் பயன்படுத்துவதற்கான பரிந்துரையை நான் கூகிள் செய்ய முடிந்தது.

Openconnect

கோட்பாட்டில், Ubuntu ஆனது openconnect க்காக ஒரு சிறப்பு வரைகலை இடைமுகத்தைக் கொண்டுள்ளது, ஆனால் அது எனக்கு வேலை செய்யவில்லை. ஒருவேளை அது நல்லதாக இருக்கலாம்.

உபுண்டுவில், பேக்கேஜ் மேனேஜரிலிருந்து openconnect நிறுவப்பட்டுள்ளது.

apt install openconnect

நிறுவிய உடனேயே, VPN உடன் இணைக்க முயற்சி செய்யலாம்

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com என்பது கற்பனையான VPNன் முகவரி
poxvuibr - கற்பனையான பயனர்பெயர்

openconnect ஒரு கடவுச்சொல்லை உள்ளிடும்படி கேட்கும், அதில், Google அங்கீகரிப்பிலிருந்து ஒரு நிலையான பகுதி மற்றும் குறியீட்டைக் கொண்டுள்ளது என்பதை நான் உங்களுக்கு நினைவூட்டுகிறேன், பின்னர் அது vpn உடன் இணைக்க முயற்சிக்கும். இது வேலை செய்தால், வாழ்த்துக்கள், நீங்கள் நடுப்பகுதியைப் பாதுகாப்பாகத் தவிர்க்கலாம், இது மிகவும் வேதனையானது, மேலும் பின்னணியில் இயங்கும் openconnect பற்றிய புள்ளிக்கு செல்லலாம். அது வேலை செய்யவில்லை என்றால், நீங்கள் தொடரலாம். இணைக்கும் போது இது வேலை செய்தாலும், எடுத்துக்காட்டாக, விருந்தினரின் வைஃபை வேலையில் இருந்து, மகிழ்ச்சியடைவது சீக்கிரமாக இருக்கலாம்; வீட்டிலிருந்து நடைமுறையை மீண்டும் செய்ய முயற்சிக்க வேண்டும்.

சான்றிதழ்

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

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

ஓப்பன் கனெக்ட் சர்வருடன் இணைவதற்கு, —servercert விசையைப் பயன்படுத்தி VPN சேவையகத்திலிருந்து எந்தச் சான்றிதழை வர வேண்டும் என்பதை நீங்கள் வெளிப்படையாகக் கூற வேண்டும்.

எந்த ஓப்பன் கனெக்ட் அச்சிடப்பட்டதிலிருந்து சர்வர் நேரடியாக எங்களுக்கு அனுப்பிய சான்றிதழை நீங்கள் கண்டுபிடிக்கலாம். இந்த பகுதியிலிருந்து இதோ:

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 வாதத்தைப் பயன்படுத்தி நிலையான உள்ளீடு மூலம் openconnect க்கு அனுப்பலாம்.

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

இப்போது நீங்கள் தொடர்ந்து கடைசியாக உள்ளிட்ட கட்டளைக்குத் திரும்பலாம் மற்றும் Google அங்கீகரிப்பாளரின் ஒரு பகுதியை மட்டும் மாற்றலாம்.

கார்ப்பரேட் VPN உங்களை இணையத்தில் உலாவ அனுமதிக்காது.

பொதுவாக, ஹப்ருக்குச் செல்ல நீங்கள் ஒரு தனி கணினியைப் பயன்படுத்த வேண்டியிருக்கும் போது இது மிகவும் சிரமமாக இல்லை. ஸ்டாக்ஓவர்ஃபோவிலிருந்து நகலெடுக்க இயலாமை பொதுவாக வேலையை முடக்கிவிடும், எனவே ஏதாவது செய்ய வேண்டும்.

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

openconnect, vpn உடன் இணைப்பைத் துவக்கி நிறுவிய பிறகு, ஒரு சிறப்பு ஸ்கிரிப்டை செயல்படுத்துகிறது, இது /usr/share/vpnc-scripts/vpnc-script இல் உள்ளது. சில மாறிகள் உள்ளீடாக ஸ்கிரிப்ட்டுக்கு அனுப்பப்பட்டு, அது VPN ஐ உள்ளமைக்கிறது. எதிர்பாராதவிதமாக, நேட்டிவ் ஸ்கிரிப்டைப் பயன்படுத்தி கார்ப்பரேட் VPN மற்றும் இணையத்தின் மற்ற பகுதிகளுக்கு இடையே ட்ராஃபிக்கை எவ்வாறு பிரிப்பது என்பதை என்னால் கண்டுபிடிக்க முடியவில்லை.

வெளிப்படையாக, vpn-ஸ்லைஸ் பயன்பாடு குறிப்பாக என்னைப் போன்றவர்களுக்காக உருவாக்கப்பட்டது, இது டம்போரைனுடன் நடனமாடாமல் இரண்டு சேனல்கள் வழியாக போக்குவரத்தை அனுப்ப உங்களை அனுமதிக்கிறது. சரி, அதாவது, நீங்கள் நடனமாட வேண்டும், ஆனால் நீங்கள் ஒரு ஷாமனாக இருக்க வேண்டியதில்லை.

vpn-ஸ்லைஸைப் பயன்படுத்தி போக்குவரத்து பிரிப்பு

முதலில், நீங்கள் vpn-ஸ்லைஸை நிறுவ வேண்டும், இதை நீங்களே கண்டுபிடிக்க வேண்டும். கருத்துகளில் கேள்விகள் இருந்தால், இதைப் பற்றி ஒரு தனி இடுகை எழுதுகிறேன். ஆனால் இது ஒரு வழக்கமான பைதான் நிரல், எனவே எந்த சிரமமும் இருக்கக்கூடாது. நான் virtualenv ஐப் பயன்படுத்தி நிறுவினேன்.

பின்னர் -ஸ்கிரிப்ட் சுவிட்சைப் பயன்படுத்தி பயன்பாடு பயன்படுத்தப்பட வேண்டும், இது நிலையான ஸ்கிரிப்ட்டுக்கு பதிலாக, நீங்கள் vpn-ஸ்லைஸைப் பயன்படுத்த வேண்டும் என்பதைக் குறிக்கிறது.

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 க்குள் தேட வேண்டும்.

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

சிக்கல் இந்த வடிவத்தில் தன்னை வெளிப்படுத்தலாம் - வேலையில் எல்லாம் நன்றாக இருக்கிறது, ஆனால் வீட்டில் நீங்கள் ஐபி வழியாக உள் நிறுவன ஆதாரங்களை மட்டுமே அணுக முடியும். ஏனென்றால், நீங்கள் கார்ப்பரேட் வைஃபையுடன் இணைக்கப்படும்போது, ​​கார்ப்பரேட் டிஎன்எஸ் பயன்படுத்தப்படுகிறது, மேலும் VPN ஐப் பயன்படுத்தாமல் அத்தகைய முகவரிக்குச் செல்வது இன்னும் சாத்தியமில்லை என்ற போதிலும், VPN இலிருந்து குறியீட்டு முகவரிகள் அதில் தீர்க்கப்படுகின்றன.

ஹோஸ்ட்கள் கோப்பின் தானியங்கி மாற்றம்

vpn-slice ஐ பணிவுடன் கேட்டால், VPN ஐ உயர்த்திய பிறகு, அது அதன் DNS க்கு சென்று, தேவையான ஆதாரங்களின் IP முகவரிகளை அவற்றின் குறியீட்டு பெயர்களால் கண்டுபிடித்து ஹோஸ்ட்களில் உள்ளிடலாம். VPN ஐ முடக்கிய பிறகு, இந்த முகவரிகள் ஹோஸ்ட்களில் இருந்து அகற்றப்படும். இதைச் செய்ய, நீங்கள் குறியீட்டு பெயர்களை vpn-ஸ்லைஸுக்கு வாதங்களாக அனுப்ப வேண்டும். இது போன்ற.

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-க்கான dns சர்வர் எங்குள்ளது என்பதை vpn-slice எப்படியோ தீர்மானிக்கிறது.

Eilcorp.com இல் முடிவடையும் டொமைன் பெயரின் ஐபி முகவரியைக் கண்டறிய, லினக்ஸ் கார்ப்பரேட் டிஎன்எஸ்ஸுக்குச் செல்கிறது, வேறு ஏதாவது தேவைப்பட்டால், இயல்புநிலைக்கு செல்கிறது என்பதை இப்போது உறுதி செய்ய வேண்டும்.

நான் சிறிது நேரம் கூகுள் செய்து பார்த்தேன். பெயர்களைத் தீர்க்க உள்ளூர் DNS சர்வர் dnsmasq ஐப் பயன்படுத்துவதற்கான திறனை இது குறிக்கிறது.

அதாவது, லினக்ஸ் எப்போதும் ஐபி முகவரிகளுக்கான உள்ளூர் டிஎன்எஸ் சேவையகத்திற்குச் செல்கிறது என்பதை உறுதிப்படுத்திக் கொள்ளலாம், இது டொமைன் பெயரைப் பொறுத்து, தொடர்புடைய வெளிப்புற டிஎன்எஸ் சேவையகத்தில் ஐபியைத் தேடும்.

நெட்வொர்க்குகள் மற்றும் பிணைய இணைப்புகள் தொடர்பான அனைத்தையும் நிர்வகிக்க, உபுண்டு NetworkManager ஐப் பயன்படுத்துகிறது, எடுத்துக்காட்டாக, Wi-Fi இணைப்புகளைத் தேர்ந்தெடுப்பதற்கான வரைகலை இடைமுகம் அதற்கு ஒரு முன் முனையாகும்.

நாம் அதன் கட்டமைப்பில் ஏற வேண்டும்.

  1. /etc/NetworkManager/dnsmasq.d/evilcorp இல் ஒரு கோப்பை உருவாக்கவும்

முகவரி=/.evilcorp.com/192.168.430.534

ஈவல்கார்ப்பின் முன் உள்ள புள்ளியில் கவனம் செலுத்துங்கள். இது ஈவல்கார்ப்.காமின் அனைத்து துணை டொமைன்களையும் கார்ப்பரேட் டிஎன்எஸ்ஸில் தேட வேண்டும் என்று dnsmasq க்கு சமிக்ஞை செய்கிறது.

  1. பெயர் தெளிவுத்திறனுக்காக dnsmasq ஐப் பயன்படுத்த NetworkManager-ஐச் சொல்லவும்

பிணைய மேலாளர் உள்ளமைவு /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

முகவரி=/mail.publicevilcorp.com/192.168.430.534

நிலைமை மாறவில்லை. ip அப்படியே இருந்தது. நான் வேலைக்குச் செல்ல வேண்டியிருந்தது.

பின்னர், நான் நிலைமையை ஆழமாக ஆராய்ந்து, சிக்கலைக் கொஞ்சம் புரிந்துகொண்டபோது, ​​​​ஒரு புத்திசாலி நபர் அதை எவ்வாறு தீர்ப்பது என்று என்னிடம் கூறினார். அஞ்சல் சேவையகத்துடன் இணைக்க வேண்டியது அவசியம், ஆனால் VPN மூலம்

192.168.430 இல் தொடங்கும் முகவரிகளுக்கு VPN மூலம் செல்ல நான் vpn-ஸ்லைஸைப் பயன்படுத்துகிறேன். மேலும் அஞ்சல் சேவையகத்தில் ஒரு குறியீட்டு முகவரி உள்ளது, அது ஈவல்கார்ப்பின் துணை டொமைன் அல்ல, அது 192.168.430 என்று தொடங்கும் ஐபி முகவரியையும் கொண்டிருக்கவில்லை. நிச்சயமாக அவர் பொது நெட்வொர்க்கில் இருந்து யாரையும் தன்னிடம் வர அனுமதிப்பதில்லை.

லினக்ஸ் VPN மற்றும் அஞ்சல் சேவையகத்திற்குச் செல்ல, நீங்கள் அதை vpn-ஸ்லைஸிலும் சேர்க்க வேண்டும். அஞ்சல் அனுப்புபவரின் முகவரி 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 அங்கீகரிப்பிலிருந்து பெறப்பட்ட குறியீட்டை மட்டுமே உள்ளிட வேண்டும்

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

VPN-துண்டு இல்லாமல். ஒரு பின்னூட்டத்திற்கு பதிலாக

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

இதன் விளைவாக, vpn-ஸ்லைஸ், நேட்டிவ் ஸ்கிரிப்டைப் போலவே, ரூட்டிங் டேபிளை தனி நெட்வொர்க்குகளாக மாற்றியமைக்கிறது என்பதைக் கண்டறிந்தேன்.

ரூட்டிங் அட்டவணை

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

ரூட்டிங் அட்டவணையைப் பார்க்க, நீங்கள் ஐபி வழி கட்டளையை இயக்க வேண்டும்

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 முகவரி முகமூடி என்றால் என்ன என்பதை நீங்கள் google செய்ய வேண்டும். devக்குப் பிறகு செய்தி அனுப்பப்பட வேண்டிய அடாப்டரின் பெயர் உள்ளது.

VPNக்கு, லினக்ஸ் ஒரு மெய்நிகர் அடாப்டரை உருவாக்கியது - tun0. 192.168 இல் தொடங்கும் அனைத்து முகவரிகளுக்கும் போக்குவரத்து அதன் வழியாக செல்வதை வரி உறுதி செய்கிறது

192.168.0.0/16 dev tun0 scope link 

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

ஒரு வழித்தடத்திற்கான ஐபி முகவரி எங்கிருந்து தொடங்க வேண்டும் என்பதை இலக்கு மற்றும் ஜென்மாஸ்க் நெடுவரிசைகளின் கலவையிலிருந்து புரிந்து கொள்ள முடியும். ஜென்மாஸ்கில் உள்ள எண்கள் 255 உடன் தொடர்புடைய ஐபி முகவரியின் பகுதிகள் கணக்கில் எடுத்துக்கொள்ளப்படுகின்றன, ஆனால் 0 உள்ளவை கணக்கில் எடுத்துக்கொள்ளப்படவில்லை. அதாவது, இலக்கு 192.168.0.0 மற்றும் ஜென்மாஸ்க் 255.255.255.0 ஆகியவற்றின் கலவையானது முகவரி 192.168.0 இல் தொடங்கினால், அதற்கான கோரிக்கை இந்த வழியில் செல்லும். இலக்கு 192.168.0.0 ஆனால் ஜென்மாஸ்க் 255.255.0.0 எனில், 192.168 இல் தொடங்கும் முகவரிகளுக்கான கோரிக்கைகள் இந்த வழியில் செல்லும்.

விபிஎன்-ஸ்லைஸ் உண்மையில் என்ன செய்கிறது என்பதைக் கண்டுபிடிக்க, அட்டவணையின் முன் மற்றும் பின் நிலையைப் பார்க்க முடிவு செய்தேன்.

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 ஐ அழைத்த பிறகு இப்படி ஆனது

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

இந்த வழக்கில் நீங்கள் ஒரு நிலையான Wi-Fi அடாப்டரைப் பயன்படுத்த வேண்டும் என்று ஏற்கனவே எழுதப்பட்டுள்ளது.

ரூட்டிங் டேபிளில் முதல் வழி VPN பாதை பயன்படுத்தப்பட்டதாக நான் நம்புகிறேன்.

மேலும் கோட்பாட்டளவில், ரூட்டிங் டேபிளில் இருந்து இந்த இயல்புநிலை பாதையை நீக்கினால், dnsmasq openconnect உடன் இணைந்து இயல்பான செயல்பாட்டை உறுதி செய்ய வேண்டும்.

நான் முயற்சித்தேன்

route del default

மற்றும் எல்லாம் வேலை செய்தது.

vpn-ஸ்லைஸ் இல்லாமல் அஞ்சல் சேவையகத்திற்கான கோரிக்கைகளை ரூட்டிங்

ஆனால் என்னிடம் 555.555.555.555 என்ற முகவரியுடன் ஒரு அஞ்சல் சேவையகமும் உள்ளது, அதை VPN வழியாக அணுக வேண்டும். அதற்கான வழியையும் கைமுறையாகச் சேர்க்க வேண்டும்.

ip route add 555.555.555.555 via dev tun0

இப்போது எல்லாம் நன்றாக இருக்கிறது. எனவே நீங்கள் vpn-ஸ்லைஸ் இல்லாமல் செய்யலாம், ஆனால் நீங்கள் என்ன செய்கிறீர்கள் என்பதை நீங்கள் நன்கு அறிந்திருக்க வேண்டும். எனது பைக்கில் நகரும் பகுதிகள் குறைவாக இருப்பதால், இயல்புநிலை வழியை அகற்றி, vpn உடன் இணைத்த பிறகு, மெயிலருக்கான வழியை நேட்டிவ் openconnect ஸ்கிரிப்ட்டின் கடைசி வரியில் சேர்ப்பது பற்றி இப்போது யோசித்து வருகிறேன்.

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

ஆதாரம்: www.habr.com

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