แแแก แจแแแแแ, แ แแช WireGuard แแแแแแแแก แแแ แแแ Linux 5.6, แแแแแแฌแงแแแขแ แแแแแฎแ, แแฃ แ แแแแ แแแแแแแแ แแแแแ แแก VPN แฉแแแก .
ะะฑะพััะดะพะฒะฐะฝะธะต
- Raspberry Pi 3 LTE แแแแฃแแแ แแ แกแแฏแแ แ IP แแแกแแแแ แแแ. แแฅ แแฅแแแแ VPN แกแแ แแแ แ (แจแแแแแแแจแ แขแแฅแกแขแจแ แแแก แ.แฌ แแฆแฃแ แแแแแ)
- แขแแแแคแแแ แฉแแ แแฃแแแ Android, แ แแแแแแช แงแแแแ แแแแฃแแแแแชแแแกแแแแก VPN-แก แฃแแแ แแงแแแแแแแก
- แแแแขแแแ Linux, แ แแแแแแช แแฎแแแแ แฅแกแแแจแ VPN-แก แฃแแแ แแงแแแแแแแก
แงแแแแ แแแฌแงแแแแแแแแก, แ แแแแแแช แฃแแ แแแแแ VPN-แก, แฃแแแ แจแแแซแแแก แงแแแแ แกแฎแแ แแแฌแงแแแแแแแแกแแแ แแแแแแจแแ แแแ. แแแแแแแแแ, แขแแแแคแแแก แฃแแแ แจแแแซแแแก แแแแขแแแแ แแแ แกแแ แแแ แแแ แแแแแแจแแ แแแ, แแฃ แแ แแแ แแแฌแงแแแแแแแ VPN แฅแกแแแแก แแแฌแแแแ. แแฃ แแแงแแแแแ แกแแแแแแ แแแ แขแแแ แแฆแแแฉแแแ, แแแจแแ แจแแแแซแแแแ แแคแแฅแ แแ แแแกแแขแแแแก VPN-แแแ แแแแแแจแแ แแแแแ (Ethernet-แแก แกแแจแฃแแแแแแ).
แแแแก แแแแแแแแกแฌแแแแแแ, แ แแ แกแแแแแแแแ แแ แฃแแแแแแ แแแแจแแ แแแ แแ แแแ แแแแแแแแแแแจแ แกแฃแ แฃแคแ แ แแแแแแแแ แฃแกแแคแ แแฎแ แฎแแแแ (, ะธ ), แกแแ แแแแฃแแแ แแคแแฅแ แแ แแแแแงแแแแแแแ WireGuard แงแแแแ แฉแแแ แแแฌแงแแแแแแแแกแแแแก, แแแฃแฎแแแแแแ แแแแกแ, แแฃ แ แ แแแ แแแแจแ แแฃแจแแแแแ แแกแแแ.
แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแกแขแแแแชแแ
WireGuard แฃแแ แฃแแแแแงแแคแก แแแกแขแ แแแฃแชแแแแแก แฃแแแขแแกแแแแกแแแแก Linux, Windows ะธ macOSแแแแแชแฎแแแแแ Android แแ iOS-แ แแแแแแแชแแแแแก แแแฆแแแแแแแก แกแแจแฃแแแแแแ แแแแฌแแแแแ.
แฃแแฎแแแกแ Fedora แแแฅแแก Linux 31 แแ แแแกแขแแแแชแแแแแ แซแแแแแ แแแแแ แแแแแ แแแกแขแ แฃแฅแชแแแก แฌแแแแแฎแแ. แแฎแแแฎแแ แแแแแแ แแแแแขแแแ. wireguard-tools, แแแแแแกแขแแแแ แ แแกแแแ แแ แจแแแแแ แแแ แแแแ แแแแ แ แแขแแ แแ แแคแแ แ แแฃแจแแแแแ. แจแแแแแแแแ แแแแแซแแแแแ แแแแแแแแ, แ แแ แแแแแขแ แแ แแแฅแแก แแแแแกแขแแแแ แแแฃแแ wireguard-dkms (แฅแกแแแแก แแ แแแแแ แแ), แแแแ แแ แแก แแ แแงแ แฉแแแ แแแแแฌแแแแแแก แกแแชแแแจแ.
แแแกแขแ แฃแฅแชแแแแ แ แแ แฌแแแแแแแฎแ, แกแฌแแ แแแแแฏแแแก แแแแแแแแแแ:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Raspberry Pi-แแ แแแงแแแแแฃแแ แแแฅแแก Raspbian Buster แแแกแขแ แแแฃแชแแ, แแฅ แฃแแแ แแ แแก แแแแแขแ 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 แกแแ แแแ แแกแแแแก (Raspberry Pi)
แแแแคแแแฃแ แแชแแ แกแแแแแแ แแแ แขแแแแ, แแ แจแแแฅแแแแ แจแแแแแแ แคแแแแ /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แแแ แแ แแแแกแ, แแ แแแแแแแขแ iptable แฌแแกแ, แ แแ แแแฃแจแแแก แขแ แแคแแแ UDP แแแกแแแแแก แแแ แขแจแ (51280):
$ 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แจแแแแจแแแแแ:
- edgewalker-แแก แแแชแแแแ, แแฅแแแ แฃแแแ แแแฃแแแแแ แกแแฏแแ แ IP แแ VPN แกแแ แแแ แแก แฐแแกแขแ
- แแแงแแแแแแ
AllowedIPson10.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
