ರಿಂದ WireGuard ಭವಿಷ್ಯದ ತಿರುಳು Linux 5.6, ಈ VPN ಅನ್ನು ನನ್ನ ಜೊತೆಗೆ ಹೇಗೆ ಉತ್ತಮವಾಗಿ ಸಂಯೋಜಿಸುವುದು ಎಂದು ನೋಡಲು ನಾನು ನಿರ್ಧರಿಸಿದೆ .
ಸಲಕರಣೆ
- LTE ಮಾಡ್ಯೂಲ್ ಮತ್ತು ಸಾರ್ವಜನಿಕ IP ವಿಳಾಸದೊಂದಿಗೆ ರಾಸ್ಪ್ಬೆರಿ ಪೈ 3. ಇಲ್ಲಿ VPN ಸರ್ವರ್ ಇರುತ್ತದೆ (ಇನ್ನು ಮುಂದೆ ಅದನ್ನು ಪಠ್ಯದಲ್ಲಿ ಕರೆಯಲಾಗುತ್ತದೆ ಎಡ್ಜ್ವಾಕರ್)
- ಫೋನ್ ಆನ್ ಆಗಿದೆ Android, ಇದು ಎಲ್ಲಾ ಸಂವಹನಗಳಿಗೆ VPN ಅನ್ನು ಬಳಸಬೇಕು
- ಲ್ಯಾಪ್ಟಾಪ್ Linux, ಇದು ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಮಾತ್ರ VPN ಅನ್ನು ಬಳಸಬೇಕು
VPN ಗೆ ಸಂಪರ್ಕಿಸುವ ಪ್ರತಿಯೊಂದು ಸಾಧನವು ಎಲ್ಲಾ ಇತರ ಸಾಧನಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಎರಡೂ ಸಾಧನಗಳು VPN ನೆಟ್ವರ್ಕ್ನ ಭಾಗವಾಗಿದ್ದರೆ ಫೋನ್ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ವೆಬ್ ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಸೆಟಪ್ ತುಂಬಾ ಸರಳವಾಗಿದ್ದರೆ, ನೀವು ಡೆಸ್ಕ್ಟಾಪ್ ಅನ್ನು VPN ಗೆ ಸಂಪರ್ಕಿಸುವ ಬಗ್ಗೆ ಯೋಚಿಸಬಹುದು (ಈಥರ್ನೆಟ್ ಮೂಲಕ).
ವೈರ್ಡ್ ಮತ್ತು ವೈರ್ಲೆಸ್ ಸಂಪರ್ಕಗಳು ಕಾಲಾನಂತರದಲ್ಲಿ ಕಡಿಮೆ ಮತ್ತು ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗುತ್ತಿವೆ ಎಂದು ಪರಿಗಣಿಸಿ (, и ), ನಾನು ಗಂಭೀರವಾಗಿ ಪರಿಗಣಿಸುತ್ತಿದ್ದೇನೆ WireGuard ನನ್ನ ಎಲ್ಲಾ ಸಾಧನಗಳಿಗೆ, ಅವು ಯಾವುದೇ ಪರಿಸರದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದರೂ ಪರವಾಗಿಲ್ಲ.
ಸಾಫ್ಟ್ವೇರ್ ಸ್ಥಾಪನೆ
WireGuard ಒದಗಿಸುತ್ತದೆ ಹೆಚ್ಚಿನ ವಿತರಣೆಗಳಿಗೆ Linux, Windows и macOSಅರ್ಜಿಗಳು Android ಮತ್ತು iOS ಗಳನ್ನು ಆಪ್ ಸ್ಟೋರ್ಗಳ ಮೂಲಕ ತಲುಪಿಸಲಾಗುತ್ತದೆ.
ನನ್ನ ಬಳಿ ಇತ್ತೀಚಿನ ಫೆಡೋರಾ ಇದೆ. Linux 31, ಮತ್ತು ಸ್ಥಾಪಿಸುವ ಮೊದಲು ನಾನು ಕೈಪಿಡಿಯನ್ನು ಓದಲು ತುಂಬಾ ಸೋಮಾರಿಯಾಗಿದ್ದೆ. ನಾನು ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಕಂಡುಕೊಂಡೆ. wireguard-tools, ಅವುಗಳನ್ನು ಸ್ಥಾಪಿಸಿ, ಮತ್ತು ನಂತರ ಏಕೆ ಏನೂ ಕೆಲಸ ಮಾಡುತ್ತಿಲ್ಲ ಎಂದು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಹೆಚ್ಚಿನ ತನಿಖೆಯು ನಾನು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿಲ್ಲ ಎಂದು ತಿಳಿದುಬಂದಿದೆ wireguard-dkms (ನೆಟ್ವರ್ಕ್ ಡ್ರೈವರ್ನೊಂದಿಗೆ), ಆದರೆ ಅದು ನನ್ನ ವಿತರಣೆಯ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಇರಲಿಲ್ಲ.
ನಾನು ಸೂಚನೆಗಳನ್ನು ಓದಿದ್ದರೆ, ನಾನು ಸರಿಯಾದ ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದ್ದೆ:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools ನನ್ನ ರಾಸ್ಪ್ಬೆರಿ ಪೈನಲ್ಲಿ ರಾಸ್ಪಿಯನ್ ಬಸ್ಟರ್ ವಿತರಣೆಯನ್ನು ನಾನು ಸ್ಥಾಪಿಸಿದ್ದೇನೆ, ಅಲ್ಲಿ ಈಗಾಗಲೇ ಪ್ಯಾಕೇಜ್ ಇದೆ wireguard, ಸ್ಥಾಪಿಸಿ:
$ sudo apt install wireguardಕರೆಯಲ್ಲಿದ್ದೇನೆ Android ನಾನು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೇನೆ. ಅಧಿಕೃತ Google App Store ಕ್ಯಾಟಲಾಗ್ನಿಂದ.
ಕೀಲಿಗಳ ಸ್ಥಾಪನೆ
ನೋಡ್ಗಳನ್ನು ದೃಢೀಕರಿಸಲು Wireguard 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 wg-quick@wg0.serviceಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಕ್ಲೈಂಟ್ ಕಾನ್ಫಿಗರೇಶನ್
ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ /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ಪ್ರಾರ್ಥನೆ:
- ಎಡ್ಜ್ವಾಕರ್ ಬದಲಿಗೆ ನೀವು ಸಾರ್ವಜನಿಕ IP ಅಥವಾ VPN ಸರ್ವರ್ ಹೋಸ್ಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಅಗತ್ಯವಿದೆ
- ಹೊಂದಿಸುವ ಮೂಲಕ
AllowedIPsಮೇಲೆ10.200.200.0/24, ನಾವು ಆಂತರಿಕ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಮಾತ್ರ VPN ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಎಲ್ಲಾ ಇತರ IP ವಿಳಾಸಗಳು/ಸರ್ವರ್ಗಳಿಗೆ ಸಂಚಾರವು "ಸಾಮಾನ್ಯ" ತೆರೆದ ಚಾನಲ್ಗಳ ಮೂಲಕ ಮುಂದುವರಿಯುತ್ತದೆ. ಇದು ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಮೊದಲೇ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ DNS ಸರ್ವರ್ ಅನ್ನು ಸಹ ಬಳಸುತ್ತದೆ.
ಪರೀಕ್ಷೆ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಉಡಾವಣೆಗಾಗಿ ನಾವು ಅದೇ ಆಜ್ಞೆಗಳನ್ನು ಬಳಸುತ್ತೇವೆ wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceಕ್ಲೈಂಟ್ ಅನ್ನು ಹೊಂದಿಸುವುದು Android-ಫೋನ್
ಫೋನ್ಗಾಗಿ Android ನಾವು ತುಂಬಾ ಹೋಲುವ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ (ಅದನ್ನು ಕರೆಯೋಣ 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.confQR ಕೋಡ್ ಅನ್ನು ASCII ಆಗಿ ಕನ್ಸೋಲ್ಗೆ ಔಟ್ಪುಟ್ ಮಾಡಲಾಗುತ್ತದೆ. ಇದನ್ನು ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದು. Android VPN ಮತ್ತು ಸ್ವಯಂಚಾಲಿತವಾಗಿ VPN ಸುರಂಗವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.
ತೀರ್ಮಾನಕ್ಕೆ
ಹೊಂದಾಣಿಕೆ WireGuard ಹೋಲಿಸಿದರೆ ಕೇವಲ ಮಾಂತ್ರಿಕ OpenVPN.
ಮೂಲ: www.habr.com
