WireGuard மற்றும் Raspberry Pi உடன் ஒரு எளிய VPN ஐ சேவையகமாக அமைத்தல்

ஏனெனில் வயர்கார்ட் பகுதியாக மாறும் வரவிருக்கும் லினக்ஸ் கர்னல் 5.6 இல், இந்த VPN ஐ எனது உடன் எவ்வாறு ஒருங்கிணைப்பது என்று பார்க்க முடிவு செய்தேன். ராஸ்பெர்ரி பையில் LTE திசைவி/அணுகல் புள்ளி.

உபகரணங்கள்

  • எல்டிஇ தொகுதி மற்றும் பொது ஐபி முகவரியுடன் ராஸ்பெர்ரி பை 3. இங்கே ஒரு VPN சேவையகம் இருக்கும் (இனிமேல் அது உரையில் அழைக்கப்படுகிறது விளிம்பில் நடப்பவர்)
  • அனைத்து தகவல்தொடர்புகளுக்கும் VPN ஐப் பயன்படுத்த வேண்டிய Android ஃபோன்
  • லினக்ஸ் லேப்டாப் நெட்வொர்க்கில் VPN ஐ மட்டுமே பயன்படுத்த வேண்டும்

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

வயர்டு மற்றும் வயர்லெஸ் இணைப்புகள் காலப்போக்கில் குறைவாகவும் பாதுகாப்பாகவும் மாறுவதைக் கருத்தில் கொண்டு (இலக்கு தாக்குதல்கள், KRACK WPA2 கிராக்கிங் தாக்குதல் и WPA3க்கு எதிரான டிராகன்ப்ளட் தாக்குதல்), எனது எல்லா சாதனங்களுக்கும் WireGuard ஐப் பயன்படுத்துவதை நான் தீவிரமாக பரிசீலித்து வருகிறேன், அவை எந்த சூழலில் இருந்தாலும் சரி.

மென்பொருள் நிறுவல்

WireGuard வழங்குகிறது முன்தொகுக்கப்பட்ட தொகுப்புகள் பெரும்பாலான Linux, Windows மற்றும் macOS விநியோகங்களுக்கு. ஆண்ட்ராய்டு மற்றும் iOS பயன்பாடுகள் பயன்பாட்டு கோப்பகங்கள் மூலம் வழங்கப்படுகின்றன.

என்னிடம் சமீபத்திய Fedora Linux 31 உள்ளது, மேலும் நிறுவும் முன் கையேட்டைப் படிக்க மிகவும் சோம்பலாக இருந்தது. இப்போதுதான் தொகுப்புகள் கிடைத்தன wireguard-tools, அவற்றை நிறுவி, பின்னர் ஏன் எதுவும் வேலை செய்யவில்லை என்பதைக் கண்டுபிடிக்க முடியவில்லை. மேலதிக விசாரணையில் என்னிடம் தொகுப்பு நிறுவப்படவில்லை என்பது தெரியவந்தது wireguard-dkms (நெட்வொர்க் டிரைவருடன்), ஆனால் அது எனது விநியோகத்தின் களஞ்சியத்தில் இல்லை.

நான் வழிமுறைகளைப் படித்திருந்தால், நான் சரியான நடவடிக்கைகளை எடுத்திருப்பேன்:

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

எனது ராஸ்பெர்ரி பையில் ராஸ்பியன் பஸ்டர் விநியோகம் நிறுவப்பட்டுள்ளது, ஏற்கனவே ஒரு தொகுப்பு உள்ளது wireguard, நிறுவவும்:

$ sudo apt install wireguard

எனது ஆண்ட்ராய்டு போனில் அப்ளிகேஷனை நிறுவினேன் வயர்கார்ட் வி.பி.என் அதிகாரப்பூர்வ Google App Store பட்டியலிலிருந்து.

விசைகளை நிறுவுதல்

பியர் அங்கீகாரத்திற்காக, வயர்கார்டு VPN பியர்களை அங்கீகரிக்க எளிய தனியார்/பொது விசை திட்டத்தைப் பயன்படுத்துகிறது. பின்வரும் கட்டளையைப் பயன்படுத்தி நீங்கள் எளிதாக VPN விசைகளை உருவாக்கலாம்:

$ wg genkey | tee wg-laptop-private.key |  wg pubkey > wg-laptop-public.key
$ wg genkey | tee wg-server-private.key |  wg pubkey > wg-server-public.key
$ wg genkey | tee wg-mobile-private.key |  wg pubkey > wg-mobile-public.key

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

VPN சேவையகத்திற்கான உள்ளமைவு கோப்பை உருவாக்குதல் (ராஸ்பெர்ரி பை)

உள்ளமைவு மிகவும் எளிது, நான் பின்வரும் கோப்பை உருவாக்கினேன் /etc/wireguard/wg0.conf:

[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE

[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32

[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32

ஓரிரு குறிப்புகள்:

  • பொருத்தமான இடங்களில் நீங்கள் விசைகளுடன் கோப்புகளிலிருந்து வரிகளைச் செருக வேண்டும்
  • எனது VPN உள் இசைக்குழுவைப் பயன்படுத்துகிறது 10.200.200.0/24
  • அணிகளுக்கு PostUp/PostDown என்னிடம் வெளிப்புற நெட்வொர்க் இடைமுகம் wwan0 உள்ளது, உங்களிடம் வேறு ஒன்று இருக்கலாம் (எடுத்துக்காட்டாக, eth0)

VPN நெட்வொர்க் பின்வரும் கட்டளையுடன் எளிதாக உயர்த்தப்படுகிறது:

$ sudo wg-quick up wg0

ஒரு சிறிய விவரம்: நான் பயன்படுத்திய DNS சேவையகமாக dnsmasq பிணைய இடைமுகத்துடன் இணைக்கப்பட்டுள்ளது br0, சாதனங்களையும் சேர்த்துள்ளேன் wg0 அனுமதிக்கப்பட்ட சாதனங்களின் பட்டியலுக்கு. dnsmasq இல் இது ஒரு புதிய பிணைய இடைமுக வரியை உள்ளமைவு கோப்பில் சேர்ப்பதன் மூலம் செய்யப்படுகிறது /etc/dnsmasq.confஎடுத்துக்காட்டாக:

interface=br0
interface=wg0

கூடுதலாக, UDP கேட்கும் துறைமுகத்திற்கு (51280) போக்குவரத்தை அனுமதிக்க ஒரு iptable விதியைச் சேர்த்துள்ளேன்:

$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT

இப்போது எல்லாம் செயல்படுவதால், VPN சுரங்கப்பாதையின் தானியங்கி வெளியீட்டை அமைக்கலாம்:

$ sudo systemctl enable [email protected]

மடிக்கணினியில் கிளையண்ட் உள்ளமைவு

மடிக்கணினியில் உள்ளமைவு கோப்பை உருவாக்கவும் /etc/wireguard/wg0.conf அதே அமைப்புகளுடன்:

[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>

[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820

கருத்துக்கள்:

  • எட்ஜ்வாக்கருக்குப் பதிலாக பொது ஐபி அல்லது விபிஎன் சர்வர் ஹோஸ்ட்டைக் குறிப்பிட வேண்டும்
  • நிறுவப்பட்டது AllowedIPs மீது 10.200.200.0/24, உள் நெட்வொர்க்கை அணுக மட்டுமே VPN ஐப் பயன்படுத்துகிறோம். மற்ற எல்லா ஐபி முகவரிகள்/சேவையகங்களுக்கான ட்ராஃபிக் “சாதாரண” திறந்த சேனல்கள் வழியாக தொடர்ந்து செல்லும். இது மடிக்கணினியில் முன்பே கட்டமைக்கப்பட்ட DNS சேவையகத்தையும் பயன்படுத்தும்.

சோதனை மற்றும் தானியங்கி துவக்கத்திற்கு நாங்கள் அதே கட்டளைகளைப் பயன்படுத்துகிறோம் wg-quick и systemd:

$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]

ஆண்ட்ராய்டு போனில் கிளையண்டை அமைத்தல்

ஒரு ஆண்ட்ராய்டு ஃபோனுக்கு நாம் மிகவும் ஒத்த உள்ளமைவு கோப்பை உருவாக்குகிறோம் (அதை அழைப்போம் mobile.conf):

[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
        
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = edgewalker:51820

மடிக்கணினியில் உள்ள உள்ளமைவைப் போலல்லாமல், தொலைபேசி எங்கள் VPN சேவையகத்தை DNS சேவையகமாகப் பயன்படுத்த வேண்டும் (வரி DNS), மேலும் அனைத்து போக்குவரத்தையும் VPN சுரங்கப்பாதை வழியாக அனுப்பவும் (AllowedIPs = 0.0.0.0/0).

உங்கள் மொபைல் சாதனத்தில் கோப்பை நகலெடுப்பதற்குப் பதிலாக, அதை QR குறியீட்டாக மாற்றலாம்:

$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf

QR குறியீடு கன்சோலுக்கு ASCII ஆக வெளியிடப்படும். இது Android VPN பயன்பாட்டிலிருந்து ஸ்கேன் செய்யப்படலாம் மற்றும் தானாகவே VPN சுரங்கப்பாதையை அமைக்கும்.

முடிவுக்கு

OpenVPN உடன் ஒப்பிடும்போது WireGuard ஐ அமைப்பது வெறுமனே மாயாஜாலமானது.

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

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