Wireguard

Iš Žinynas.
Jump to navigation Jump to search

Šūstras vpn, tipo geresnis negu openvpn ar libreswan, nu bet laikui bėgant bus matyt kaip čia iš tikrųjų.


įvairių VPN konfigūracijų paruošimas[keisti]

VPN ip ądreso pakavojimui[keisti]

Tarkime norim viso tinklo išeinantį srautą pakreipti per vpn, kad nereiktų žaist kiekvienam kliento kompiuteryje diegiant atskirus vpn klientus... Nusiperkam pigų VPN, kažkur digitalocean ar ruskyne, tuomet sudiegiam ubuntu 9.10 arba debian 10 ir į juos sudiegiam wireguard:

Debian 10

echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard

Ubuntu 19.10

apt install wireguard

Ubuntu 16.04

add-apt-repository ppa:wireguard/wireguard
apt-get update
apt-get install wireguard

Sužinom public key kiekviename hoste:

(umask 077 && printf "[Interface]\nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null)
wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/publickey

Tai sugeneruos jums private key ir public key, pastarajį turesim įrašyti iš vieno hosto į kitą ir atvirkščiai...

Sudedam konfigą VPS'e /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = slaptas_private_key
ListenPort = 55107
Address = 192.168.5.1/28
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey =  public_key_jusu_lan_tinklo_serverio
AllowedIPs = 192.168.5.2/32

Sudedam konfigą savo lokalaus tinklo serveryje /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = slaptas_private_key
Address = 192.168.5.2

PostUp = iptables -t nat -A POSTROUTING -o %i -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o %i -j MASQUERADE

[Peer]
PublicKey = public_key_vps_serverio
AllowedIPs = 0.0.0.0/0
Endpoint = VPS_IŠORINIS_IP:55107

Paleidžiam abu servisus ir tuo pačiu įgalinam juos pasileisti kiekvieno sistemos krovimosi metu:

systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0

Kaip perforwardini reikiamus portus paskaitykite čia.

Update! Nepamirštam abiejose mašinose įjungti paketų forwardinimo

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf&&sysctl -p

Point to point[keisti]

Informacijos kol kas nėra :(