மாற்றம் OpenVPN மீது WireGuard நெட்வொர்க்குகளை ஒரே L2 நெட்வொர்க்காக இணைக்க

மாற்றம் OpenVPN மீது WireGuard நெட்வொர்க்குகளை ஒரே L2 நெட்வொர்க்காக இணைக்க

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

பகுதி 1: பின்னணி

இந்தப் பணியைச் செயல்படுத்தத் தேர்ந்தெடுக்கப்பட்ட நெறிமுறை ஆரம்பத்தில் OpenVPNஏனென்றால், முதலாவதாக, எந்தப் பிரச்சனையும் இல்லாமல் பிரிட்ஜுடன் சேர்க்கக்கூடிய ஒரு டேப் சாதனத்தை அதனால் உருவாக்க முடியும், இரண்டாவதாக, OpenVPN இது TCP-ஐ ஆதரித்தது, இதுவும் முக்கியமானதாக இருந்தது, ஏனெனில் எந்தக் குடியிருப்புக்கும் பிரத்யேக IP முகவரி இல்லை. என்னால் STUN-ஐப் பயன்படுத்த முடியவில்லை, ஏனெனில் எனது ISP, ஏதோ ஒரு காரணத்திற்காக, அதன் நெட்வொர்க்குகளிலிருந்து வரும் UDP இணைப்புகளைத் தடுக்கிறது. TCP, SSH-ஐப் பயன்படுத்தி VPN சர்வர் போர்ட்டை வாடகைக்கு எடுத்த VPS-க்கு ஃபார்வர்டு செய்ய எனக்கு உதவியது. தரவு இருமுறை குறியாக்கம் செய்யப்படுவதால், இந்த அணுகுமுறை ஒரு குறிப்பிடத்தக்க கூடுதல் சுமையை ஏற்படுத்தினாலும், மூன்றாம் தரப்பினர் அதன் மீது கட்டுப்பாட்டைப் பெறும் அபாயம் இருந்ததால், நான் அந்த VPS-ஐ எனது தனிப்பட்ட நெட்வொர்க்கில் ஒருங்கிணைக்க விரும்பவில்லை. எனவே, எனது வீட்டு நெட்வொர்க்கில் அப்படி ஒரு சாதனம் இருப்பது மிகவும் விரும்பத்தகாததாக இருந்தது, அதனால் பாதுகாப்பிற்காக ஒரு குறிப்பிடத்தக்க கூடுதல் செலவைச் செய்ய நான் முடிவு செய்தேன்.

சர்வர் நிறுவத் திட்டமிடப்பட்டிருந்த ரவுட்டரில் போர்ட்டை ஃபார்வர்ட் செய்ய, நான் sshtunnel நிரலைப் பயன்படுத்தினேன். அதன் உள்ளமைப்பின் விவரங்களுக்குள் நான் செல்ல மாட்டேன்—அது மிகவும் எளிதானது. ரவுட்டரிலிருந்து VPS-க்கு TCP போர்ட் 1194-ஐ ஃபார்வர்ட் செய்வதே அதன் நோக்கம் என்பதை மட்டும் குறிப்பிடுகிறேன். அடுத்து, நான் சர்வரை உள்ளமைத்தேன். OpenVPN br-lan பிரிட்ஜுடன் இணைக்கப்பட்டிருந்த tap0 சாதனத்தில், எனது மடிக்கணினியிலிருந்து புதிதாக உருவாக்கப்பட்ட சர்வருடனான இணைப்பைச் சோதித்தபோது, ​​போர்ட் ஃபார்வர்டிங் திட்டம் பலனளித்திருந்ததும், எனது மடிக்கணினி பௌதீக ரீதியாக அந்த நெட்வொர்க்கின் ஒரு பகுதியாக இல்லாவிட்டாலும், அது ரவுட்டரின் நெட்வொர்க்கில் ஒரு உறுப்பினராகிவிட்டதும் தெளிவாகியது.

வெவ்வேறு குடியிருப்புகளில் ஐபி முகவரிகள் முரண்படாத வகையில் அவற்றைப் பிரித்து வழங்குவதும், ரவுட்டர்களை உள்ளமைப்பதும் மட்டுமே செய்ய வேண்டிய ஒரே வேலையாக இருந்தது. OpenVPN-வாடிக்கையாளர்கள்.
பின்வரும் திசைவி IP முகவரிகள் மற்றும் DHCP சேவையக வரம்புகள் தேர்ந்தெடுக்கப்பட்டன:

  • 192.168.10.1 வரம்புடன் 192.168.10.2 - 192.168.10.80 சர்வருக்கு
  • 192.168.10.100 வரம்புடன் 192.168.10.101 - 192.168.10.149 அடுக்குமாடி எண் 2 இல் உள்ள திசைவிக்கு
  • 192.168.10.150 வரம்புடன் 192.168.10.151 - 192.168.10.199 அடுக்குமாடி எண் 3 இல் உள்ள திசைவிக்கு

கிளையன்ட் ரவுட்டர்களுக்கு இந்த முகவரிகளை ஒதுக்க வேண்டியதும் அவசியமாக இருந்தது. OpenVPN-சர்வர், அதன் உள்ளமைவில் பின்வரும் வரியைச் சேர்ப்பதன் மூலம்:

ifconfig-pool-persist /etc/openvpn/ipp.txt 0

மேலும் /etc/openvpn/ipp.txt கோப்பில் பின்வரும் வரிகளைச் சேர்த்தல்:

flat1_id 192.168.10.100
flat2_id 192.168.10.150

இதில் flat1_id மற்றும் flat2_id என்பவை, இணைப்பதற்கான சான்றிதழ்களை உருவாக்கும்போது குறிப்பிடப்பட்ட சாதனப் பெயர்கள் ஆகும். OpenVPN

அடுத்து, ரவுட்டர்கள் உள்ளமைக்கப்பட்டன. OpenVPN- கிளையண்டுகள், இரண்டிலும் உள்ள tap0 சாதனங்கள் br-lan பிரிட்ஜில் சேர்க்கப்பட்டன. இந்த நிலையில், மூன்று நெட்வொர்க்குகளும் ஒன்றையொன்று பார்த்து ஒரே அலகாகச் செயல்பட முடிந்ததால், எல்லாம் சரியாக இருப்பதாகத் தோன்றியது. இருப்பினும், ஒரு விரும்பத்தகாத விவரம் வெளிப்பட்டது: சில நேரங்களில் சாதனங்கள் தவறான ரௌட்டரிலிருந்து IP முகவரியைப் பெற்றன, அதன் விளைவாக அனைத்து பின்விளைவுகளும் ஏற்பட்டன. ஏதோ ஒரு காரணத்தால், குடியிருப்புகளில் ஒன்றில் உள்ள ரௌட்டர் DHCPDISCOVER-க்கு சரியான நேரத்தில் பதிலளிக்கத் தவறியது, அதனால் சாதனம் தவறான முகவரியைப் பெற்றது. ஒவ்வொரு ரௌட்டரிலும் உள்ள tap0-இல் இதுபோன்ற கோரிக்கைகளை நான் வடிகட்ட வேண்டும் என்பதை உணர்ந்தேன், ஆனால், ஒரு சாதனம் பிரிட்ஜின் பகுதியாக இருந்தால் iptables அதனுடன் வேலை செய்யாது என்பது தெரியவந்தது, எனவே நான் ebtables-ஐப் பயன்படுத்த வேண்டியிருந்தது. துரதிர்ஷ்டவசமாக, எனது ஃபார்ம்வேரில் அது சேர்க்கப்படவில்லை, எனவே ஒவ்வொரு சாதனத்திற்கும் நான் இமேஜ்களை மீண்டும் உருவாக்க வேண்டியிருந்தது. இதைச் செய்து, ஒவ்வொரு ரௌட்டரிலும் உள்ள /etc/rc.local-இல் பின்வரும் வரிகளைச் சேர்த்த பிறகு, சிக்கல் தீர்க்கப்பட்டது:

ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP

இந்த அமைப்பு மூன்று ஆண்டுகள் நீடித்தது.

பகுதி 2: அறிமுகம் WireGuard

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

சில நாட்களுக்கு முன்பு, தகவல் தொழில்நுட்பம் தொடர்பான வட்டாரங்கள் மூலம் ஏதோ ஒரு வகையில் ஒரு செய்தி பரவியது. WireGuard இறுதியாக கெர்னலில் சேர்க்கப்படும் Linuxபதிப்பு 5.6 முதல், செய்தி கட்டுரைகள் வழக்கம் போல் பாராட்டப்பட்டன. WireGuardநல்ல பழையவற்றுக்கு மாற்று வழிகளைத் தேடும் பணியில் நான் மீண்டும் மூழ்கினேன். OpenVPNஇந்த முறை நான் சந்தித்தது இந்த கட்டுரை. GRE ஐப் பயன்படுத்தி L3 மீது ஈத்தர்நெட் சுரங்கப்பாதையை உருவாக்குவது பற்றி அது பேசியது. இந்தக் கட்டுரை எனக்கு நம்பிக்கையைத் தந்தது. UDP நெறிமுறையை என்ன செய்வது என்பது தெளிவாகத் தெரியவில்லை. UDP போர்ட்டை அனுப்புவதற்கு SSH சுரங்கப்பாதையுடன் இணைந்து socat ஐப் பயன்படுத்துவது பற்றிய கட்டுரைகளுக்கு தேடல் என்னை அழைத்துச் சென்றது, இருப்பினும், இந்த அணுகுமுறை ஒற்றை இணைப்பு பயன்முறையில் மட்டுமே செயல்படும், அதாவது பல VPN கிளையண்டுகளின் வேலை சாத்தியமற்றது என்று அவர்கள் குறிப்பிட்டனர். ஒரு VPS இல் VPN சேவையகத்தை நிறுவி வாடிக்கையாளர்களுக்கு GRE ஐ அமைக்கும் யோசனையை நான் கொண்டு வந்தேன், ஆனால் அது மாறியது போல், GRE குறியாக்கத்தை ஆதரிக்காது, இது மூன்றாம் தரப்பினர் சேவையகத்தை அணுகினால். , எனது நெட்வொர்க்குகளுக்கு இடையேயான அனைத்து போக்குவரமும் அவர்கள் கைகளில் இருக்கும் , இது எனக்குப் பொருந்தாது.

மீண்டும், பின்வரும் திட்டத்தைப் பயன்படுத்தி VPN வழியாக VPN ஐப் பயன்படுத்தி, தேவையற்ற குறியாக்கத்திற்கு ஆதரவாக முடிவு எடுக்கப்பட்டது:

நிலை XNUMX VPN:
VPS வாக்குமூலம் அது ஆகிறது சர்வர் உள் முகவரியுடன் 192.168.30.1
எம் அது ஆகிறது வாடிக்கையாளர் உள் முகவரியுடன் VPS 192.168.30.2
MK2 அது ஆகிறது வாடிக்கையாளர் உள் முகவரியுடன் VPS 192.168.30.3
MK3 அது ஆகிறது வாடிக்கையாளர் உள் முகவரியுடன் VPS 192.168.30.4

இரண்டாம் நிலை VPN:
எம் அது ஆகிறது சர்வர் வெளிப்புற முகவரி 192.168.30.2 மற்றும் உள் 192.168.31.1
MK2 அது ஆகிறது வாடிக்கையாளர் எம் முகவரியுடன் 192.168.30.2 மற்றும் உள் IP 192.168.31.2 உள்ளது
MK3 அது ஆகிறது வாடிக்கையாளர் எம் முகவரியுடன் 192.168.30.2 மற்றும் உள் IP 192.168.31.3 உள்ளது

* எம் - அபார்ட்மெண்ட் 1 இல் உள்ள திசைவி-சேவையகம், MK2 - அபார்ட்மெண்ட் 2 இல் உள்ள திசைவி, MK3 - அபார்ட்மெண்ட் 3 இல் உள்ள திசைவி
* கட்டுரையின் முடிவில் சாதன உள்ளமைவுகள் ஸ்பாய்லரில் வெளியிடப்படும்.

எனவே, பிங்ஸ் நெட்வொர்க் முனைகள் 192.168.31.0/24 இடையே இயங்குகிறது, இது ஒரு GRE சுரங்கப்பாதையை அமைப்பதற்குச் செல்ல வேண்டிய நேரம். இதற்கு முன், திசைவிகளுக்கான அணுகலை இழக்காமல் இருக்க, போர்ட் 22 ஐ VPS க்கு அனுப்புவதற்கு SSH சுரங்கங்களை அமைப்பது மதிப்புக்குரியது, எடுத்துக்காட்டாக, அபார்ட்மெண்ட் 10022 இன் திசைவி VPS இன் போர்ட் 2 இல் அணுகக்கூடியதாக இருக்கும். அபார்ட்மெண்ட் 11122 இலிருந்து ரூட்டரை அபார்ட்மெண்ட் 3 இலிருந்து போர்ட் XNUMX ரூட்டரில் அணுக முடியும். அதே sshtunnel ஐப் பயன்படுத்தி பகிர்தலை உள்ளமைப்பது சிறந்தது, ஏனெனில் அது தோல்வியுற்றால் அது சுரங்கப்பாதையை மீட்டெடுக்கும்.

சுரங்கப்பாதை கட்டமைக்கப்பட்டுள்ளது, நீங்கள் அனுப்பப்பட்ட போர்ட் வழியாக SSH உடன் இணைக்கலாம்:

ssh root@МОЙ_VPS -p 10022

அடுத்து நீங்கள் முடக்க வேண்டும் OpenVPN:

/etc/init.d/openvpn stop

இப்போது அபார்ட்மெண்ட் 2 இலிருந்து திசைவியில் ஒரு GRE சுரங்கப்பாதையை அமைப்போம்:

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set grelan0 up

உருவாக்கப்பட்ட இடைமுகத்தை பிரிட்ஜில் சேர்க்கவும்:

brctl addif br-lan grelan0

சேவையக திசைவியில் இதேபோன்ற நடைமுறையைச் செய்வோம்:

ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set grelan0 up

மேலும் உருவாக்கப்பட்ட இடைமுகத்தை பாலத்தில் சேர்க்கவும்:

brctl addif br-lan grelan0

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

$ telnet 192.168.10.110 22
SSH-2.0-OpenSSH_8.1

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

நான் grelan0 சாதனத்தை பிரிட்ஜிலிருந்து வெளியே எடுத்து இயக்குகிறேன். OpenVPN அபார்ட்மெண்ட் 2-ல் உள்ள ரௌட்டரில், நெட்வொர்க் மீண்டும் சரியாக இயங்குவதையும், இணைப்புகள் துண்டிக்கப்படவில்லை என்பதையும் உறுதி செய்தேன். தேடியபோது, ​​இதே போன்ற சிக்கல்களைப் பற்றி மக்கள் புகார் செய்திருந்த மன்றங்களைக் கண்டேன், அங்கு அவர்களுக்கு MTU-வை உயர்த்துமாறு அறிவுறுத்தப்பட்டிருந்தது. சொன்னவுடனேயே செய்துவிட்டேன். இருப்பினும், MTU போதுமான அளவு அதிகமாக—கிரேடாப் சாதனங்களுக்கு 7000—அமைக்கப்படும் வரை, நான் TCP இணைப்புகள் துண்டிக்கப்படுவதையோ அல்லது குறைந்த பரிமாற்ற வேகத்தையோ அனுபவித்தேன். கிரேடாப்பிற்கான உயர் MTU காரணமாக, இணைப்புகளுக்கான MTU-வும்... WireGuard முதல் மற்றும் இரண்டாம் நிலைகள் முறையே 8000 மற்றும் 7500 என நிர்ணயிக்கப்பட்டன.

அபார்ட்மெண்ட் 3 இலிருந்து திசைவியில் இதேபோன்ற அமைப்பை நான் மேற்கொண்டேன், ஒரே வித்தியாசம் என்னவென்றால், grelan1 என்ற பெயரிடப்பட்ட இரண்டாவது கிரேடாப் இடைமுகம் சர்வர் ரூட்டரில் சேர்க்கப்பட்டது, இது br-lan பிரிட்ஜிலும் சேர்க்கப்பட்டது.

எல்லாம் வேலை செய்கிறது. இப்போது நீங்கள் gretap சட்டசபையை தொடக்கத்தில் வைக்கலாம். இதற்காக:

இந்த வரிகளை அபார்ட்மெண்ட் 2 இல் உள்ள ரூட்டரில் /etc/rc.local இல் வைத்தேன்:

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

அபார்ட்மெண்ட் 3 இல் உள்ள ரூட்டரில் இது /etc/rc.local இல் சேர்க்கப்பட்டது:

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

மற்றும் சர்வர் திசைவியில்:

ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

ip link add grelan1 type gretap remote 192.168.31.3 local 192.168.31.1
ip link set dev grelan1 mtu 7000
ip link set grelan1 up
brctl addif br-lan grelan1

கிளையன்ட் ரவுட்டர்களை மறுதொடக்கம் செய்த பிறகு, ஏதோ ஒரு காரணத்தால் அவை சர்வருடன் இணையவில்லை என்பதை நான் கண்டறிந்தேன். அவற்றின் SSH உடன் இணைந்த பிறகு (நல்லவேளையாக, இதற்காக நான் முன்பே sshtunnel-ஐ உள்ளமைத்திருந்தேன்), நான் கண்டறிந்ததாவது: WireGuard ஏதோ ஒரு காரணத்தால், அது எண்ட்பாயிண்டிற்கு ஒரு ரூட்டை உருவாக்குகிறது, ஆனால் அது தவறானது. உதாரணமாக, 192.168.30.2-க்கு, ரூட் டேபிள் pppoe-wan இன்டர்ஃபேஸ் வழியாக, அதாவது இன்டர்நெட் வழியாக ஒரு ரூட்டைக் குறிப்பிட்டது; ஆனால், அதற்கான ரூட் wg0 இன்டர்ஃபேஸ் வழியாகச் செலுத்தப்பட்டிருக்க வேண்டும். இந்த ரூட்டை நீக்கிய பிறகு, இணைப்பு மீண்டும் கிடைத்தது. இதை எப்படி வலுக்கட்டாயமாகச் சரிசெய்வது என்பதற்கான வழிமுறைகளை நான் எங்கேனும் கண்டுபிடிக்க முடியுமா? WireGuard இந்த வழித்தடங்களை உருவாக்குவதை என்னால் தவிர்க்க முடியவில்லை. மேலும், இது OpenWRT-இன் அம்சமா அல்லது அதன் அம்சமா என்பது கூட எனக்குப் புரியவில்லை. WireGuardபிரச்சனையைக் கண்டறிய அதிக நேரம் செலவழிக்காமல், இரண்டு ரவுட்டர்களிலும் உள்ள டைமர் அடிப்படையிலான ஸ்கிரிப்ட்டில் இந்த ரூட்டை நீக்கும் ஒரு வரியை நான் சேர்த்தேன்:

route del 192.168.30.2

சுருக்கமாக

முழுமையான நிராகரிப்பு OpenVPN நான் இதை இன்னும் அடையவில்லை, ஏனெனில் நான் அவ்வப்போது ஒரு மடிக்கணினி அல்லது கைப்பேசியிலிருந்து ஒரு புதிய நெட்வொர்க்குடன் இணைய வேண்டியிருக்கிறது, மேலும் அவற்றில் ஒரு gretap சாதனத்தை அமைப்பது பொதுவாக இயலாத காரியம். இருப்பினும், இதையும் மீறி, குடியிருப்புகளுக்கு இடையேயான தரவு பரிமாற்ற வேகத்தில் நான் ஒரு சாதகத்தைப் பெற்றுள்ளேன், மேலும், உதாரணமாக, VNC-ஐப் பயன்படுத்துவது இப்போது சிரமமின்றி உள்ளது. பிங் சற்றே குறைந்துள்ளது, ஆனால் மேலும் நிலையானதாக மாறியுள்ளது:

பயன்படுத்தும் போது OpenVPN:

[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=133 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=125 ms

--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19006ms
rtt min/avg/max/mdev = 124.722/126.152/136.907/3.065 ms

பயன்படுத்தும் போது WireGuard:

[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=124 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=124 ms
--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19003ms
rtt min/avg/max/mdev = 123.954/124.423/126.708/0.675 ms

இது VPSக்கு அதிக பிங்கினால் அதிகம் பாதிக்கப்படுகிறது, இது தோராயமாக 61.5 ms ஆகும்.

இருப்பினும், வேகம் கணிசமாக அதிகரித்துள்ளது. அதனால், ரௌட்டர்-சர்வர் உள்ள குடியிருப்பில் எனக்கு 30 Mbps இணைய இணைப்பு வேகமும், மற்ற குடியிருப்புகளில் 5 Mbps வேகமும் கிடைக்கிறது. மேலும், பயன்பாட்டின் போது OpenVPN iperf அளவீடுகளின்படி, நெட்வொர்க்குகளுக்கு இடையில் 3,8 Mbps-க்கு அதிகமான தரவு பரிமாற்ற வேகத்தை என்னால் அடைய முடியவில்லை, அதே சமயம் WireGuard அதை அதே 5 Mbit/sec அளவிற்கு உயர்த்தியது.

கட்டமைப்பு WireGuard VPS இல்[Interface]
Address = 192.168.30.1/24
ListenPort = 51820
PrivateKey = <ЗАКРЫТЫЙ_КЛЮЧ_ДЛЯ_VPS>

[பியர்]
பொது விசை = <VPN_1_MS_PUBLIC_KEY>
அனுமதிக்கப்பட்ட ஐபிகள் = 192.168.30.2/32

[பியர்]
பொது விசை = <VPN_2_MK2_PUBLIC_KEY>
அனுமதிக்கப்பட்ட ஐபிகள் = 192.168.30.3/32

[பியர்]
பொது விசை = <VPN_2_MK3_PUBLIC_KEY>
அனுமதிக்கப்பட்ட ஐபிகள் = 192.168.30.4/32

கட்டமைப்பு WireGuard MS இல் (/etc/config/network இல் சேர்க்கப்பட்டது)

#VPN первого уровня - клиент
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.2/24'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_1_МС'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_1_VPS'
        option endpoint_port '51820'
        option route_allowed_ips '1'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_АДРЕС_VPS'

#VPN второго уровня - сервер
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_2_МС'
        option listen_port '51821'
        list addresses '192.168.31.1/24'
        option auto '1'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК2'
        list allowed_ips '192.168.31.2'

config wireguard_wg1ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3

        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК3'
        list allowed_ips '192.168.31.3'

கட்டமைப்பு WireGuard MK2 இல் (/etc/config/network இல் சேர்க்கப்பட்டது)

#VPN первого уровня - клиент
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.3/24'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_1_МК2'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_1_VPS'
        option endpoint_port '51820'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_АДРЕС_VPS'

#VPN второго уровня - клиент
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_2_МК2'
        list addresses '192.168.31.2/24'
        option auto '1'
        option listen_port '51821'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МС'
        option endpoint_host '192.168.30.2'
        option endpoint_port '51821'
        option persistent_keepalive '25'
        list allowed_ips '192.168.31.0/24'

கட்டமைப்பு WireGuard MK3 இல் (/etc/config/network இல் சேர்க்கப்பட்டது)

#VPN первого уровня - клиент
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.4/24'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_1_МК3'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_1_VPS'
        option endpoint_port '51820'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_АДРЕС_VPS'

#VPN второго уровня - клиент
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ЗАКРЫТЫЙ_КЛЮЧ_VPN_2_МК3'
        list addresses '192.168.31.3/24'
        option auto '1'
        option listen_port '51821'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МС'
        option endpoint_host '192.168.30.2'
        option endpoint_port '51821'
        option persistent_keepalive '25'
        list allowed_ips '192.168.31.0/24'

இரண்டாம் நிலை VPN-க்கான விவரிக்கப்பட்ட உள்ளமைப்புகளில், நான் வாடிக்கையாளர்களுக்குக் குறிப்பிடுகிறேன். WireGuard போர்ட் 51821. கிளையன்ட் எந்தவொரு காலி, சிறப்புரிமையற்ற போர்ட்டிலிருந்தும் இணைப்பை ஏற்படுத்திக்கொள்ளும் என்பதால் இது அவசியமில்லை. ஆனாலும், போர்ட் 51821-க்கு வரும் UDP இணைப்புகளைத் தவிர, மற்ற அனைத்து உள்வரும் இணைப்புகளையும் அனைத்து ரவுட்டர்களின் wg0 இடைமுகங்களிலும் மறுப்பதற்காக நான் இதை இந்த வழியில் செய்தேன்.

கட்டுரை ஒருவருக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன்.

சோசலிஸ்ட் கட்சி மேலும், எனது நெட்வொர்க்கில் புதிய சாதனம் தோன்றும்போது WirePusher பயன்பாட்டில் எனது ஃபோனுக்கு புஷ் அறிவிப்பை அனுப்பும் எனது ஸ்கிரிப்டைப் பகிர விரும்புகிறேன். ஸ்கிரிப்டிற்கான இணைப்பு இதோ: github.com/r0ck3r/device_discover.

புதுப்பிப்பு: கட்டமைப்பு OpenVPNசேவையகங்கள் மற்றும் கிளையண்டுகள்

OpenVPN- சர்வர்

client-to-client

ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vpn-server.crt
dh /etc/openvpn/server/dh.pem
key /etc/openvpn/server/vpn-server.key

dev tap
ifconfig-pool-persist /etc/openvpn/ipp.txt 0
keepalive 10 60
proto tcp4
server-bridge 192.168.10.1 255.255.255.0 192.168.10.80 192.168.10.254
status /var/log/openvpn-status.log
verb 3
comp-lzo

OpenVPN- வாடிக்கையாளர்

client
tls-client
dev tap
proto tcp
remote VPS_IP 1194 # Change to your router's External IP
resolv-retry infinite
nobind

ca client/ca.crt
cert client/client.crt
key client/client.key
dh client/dh.pem

comp-lzo
persist-tun
persist-key
verb 3

சான்றிதழ்களை உருவாக்க ஈஸி-ஆர்எஸ்ஏவைப் பயன்படுத்தினேன்

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

DDoS பாதுகாப்பு, VPS VDS சர்வர்கள் கொண்ட தளங்களுக்கு நம்பகமான ஹோஸ்டிங் வாங்கவும் 🔥 DDoS பாதுகாப்புடன் கூடிய நம்பகமான இணையதள ஹோஸ்டிங், VPS, VDS சர்வர்களை வாங்குங்கள் | ProHoster