Çünkü WireGuard
Оборудование
- Raspberry Pi 3, LTE modülü ve genel IP adresiyle. Burada bir VPN sunucusu olacak (bundan sonra metinde adı geçecektir) kenarda yürüyen kimse)
- Tüm iletişimler için VPN kullanması gereken bir Android telefon
- Yalnızca ağ içinde VPN kullanması gereken Linux dizüstü bilgisayar
VPN'ye bağlanan her cihazın diğer tüm cihazlara bağlanabilmesi gerekir. Örneğin, her iki cihaz da bir VPN ağının parçasıysa, telefonun dizüstü bilgisayardaki bir web sunucusuna bağlanabilmesi gerekir. Kurulumun oldukça basit olduğu ortaya çıkarsa, masaüstünü VPN'ye (Ethernet aracılığıyla) bağlamayı düşünebilirsiniz.
Kablolu ve kablosuz bağlantıların zaman içinde giderek daha az güvenli hale geldiği göz önüne alındığında (
Yazılım kurulumu
WireGuard şunları sağlar:
En son Fedora Linux 31 sürümüne sahibim ve kurulumdan önce kılavuzu okuyamayacak kadar tembeldim. Paketleri yeni buldum wireguard-tools
, onları yükledim ve sonra neden hiçbir şeyin işe yaramadığını anlayamadım. Daha fazla araştırma, paketin yüklü olmadığını ortaya çıkardı wireguard-dkms
(bir ağ sürücüsüyle), ancak dağıtımımın deposunda değildi.
Talimatları okusaydım doğru adımları atardım:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools
Raspberry Pi'mde Raspbian Buster dağıtımı yüklü, orada zaten bir paket var wireguard
, yükle:
$ sudo apt install wireguard
Android telefonuma uygulamayı yükledim
Anahtarların kurulumu
Eş kimlik doğrulaması için Wireguard, VPN eşlerinin kimliğini doğrulamak için basit bir özel/genel anahtar şeması kullanır. Aşağıdaki komutu kullanarak kolayca VPN anahtarları oluşturabilirsiniz:
$ 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
Bu bize üç anahtar çifti (altı dosya) verir. Yapılandırmalardaki dosyalara başvurmayacağız, ancak içerikleri buraya kopyalayacağız: her anahtar base64'te bir satırdır.
VPN sunucusu için yapılandırma dosyası oluşturma (Raspberry Pi)
Yapılandırma oldukça basit, aşağıdaki dosyayı oluşturdum /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
Birkaç not:
- Uygun yerlere, tuşlarla dosyalardan satırlar eklemeniz gerekir.
- VPN'im dahili bant kullanıyor
10.200.200.0/24
- Takımlar için
PostUp
/PostDown
Harici ağ arayüzüm wwan0'ım var, sizin farklı bir arayüzünüz olabilir (örneğin, eth0)
VPN ağı aşağıdaki komutla kolayca yükseltilir:
$ sudo wg-quick up wg0
Küçük bir detay: Kullandığım DNS sunucusu olarak dnsmasq
bir ağ arayüzüne bağlı br0
, cihazları da ekledim wg0
izin verilen cihazlar listesine. Dnsmasq'ta bu, yapılandırma dosyasına yeni bir ağ arayüzü satırı eklenerek yapılır. /etc/dnsmasq.conf
Örneğin:
interface=br0
interface=wg0
Ek olarak, UDP dinleme bağlantı noktasına (51280) giden trafiğe izin vermek için bir iptable kuralı ekledim:
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT
Artık her şey çalıştığına göre VPN tünelinin otomatik başlatılmasını ayarlayabiliriz:
$ sudo systemctl enable [email protected]
Dizüstü bilgisayarda istemci yapılandırması
Dizüstü bilgisayarda bir yapılandırma dosyası oluşturma /etc/wireguard/wg0.conf
aynı ayarlarla:
[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
Notlar:
- Edgewalker yerine genel IP veya VPN sunucusu ana bilgisayarını belirtmeniz gerekir
- Ayarlayarak
AllowedIPs
üzerinde10.200.200.0/24
, VPN'i yalnızca dahili ağa erişmek için kullanırız. Diğer tüm IP adreslerine/sunucularına giden trafik "normal" açık kanallardan geçmeye devam edecektir. Ayrıca dizüstü bilgisayardaki önceden yapılandırılmış DNS sunucusunu da kullanacaktır.
Test ve otomatik başlatma için aynı komutları kullanıyoruz wg-quick
и systemd
:
$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]
Android telefonda istemci kurma
Bir Android telefon için çok benzer bir yapılandırma dosyası oluşturuyoruz (buna 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
Dizüstü bilgisayardaki yapılandırmanın aksine, telefonun DNS sunucusu olarak VPN sunucumuzu kullanması gerekir (hat DNS
) ve ayrıca tüm trafiği VPN tünelinden geçirin (AllowedIPs = 0.0.0.0/0
).
Dosyayı mobil cihazınıza kopyalamak yerine QR koduna dönüştürebilirsiniz:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf
QR kodu konsola ASCII olarak çıkacaktır. Android VPN uygulamasından taranabilir ve otomatik olarak bir VPN tüneli kuracaktır.
Aviator apk
WireGuard'ı kurmak OpenVPN'e kıyasla gerçekten büyülü.
Kaynak: habr.com