Введение Ссылка на заголовок
Сейчас vpn актуален как никогда. В этой статье я хочу вставить свои 5 копеек в дополнение к статье devpew
, предложив несколько
полезных скриптов по утилизации установки вайргарда на сервер с ubuntu и созданием клиентов.
Как пользоваться Ссылка на заголовок
Ссылка на сайт с описанием вайргарда и как его настраивать. Ниже приведу выжимки и практические кейсы.
Автоматизированный скрипт для установки Ссылка на заголовок
Этот скрипт настроит wireguard за вас на чистом сервере с ubuntu 20.04, и вам останется только добавить клиентов при помощи следующего скрипта.
#!/usr/bin/env bash
apt update -y
apt upgrade -y
apt install -y wireguard qrencode
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey
server_priv_key=`cat "/etc/wireguard/privatekey"`
echo "[Interface]
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = $server_priv_key
" > /etc/wireguard/wg0.conf
systemctl enable --now wg-quick@wg0
echo "2" > /etc/wireguard/.loc
Скрипт по автоматизации создания клиентов Ссылка на заголовок
Этот скрипт вас спасет, если вы хотите создавать много клиентов “для всей семьи”, друзей и знакомых.
Использовать так: ./useradd.sh vasja_pupkin_0
Скрипт сделает за вас всю работу по созданию нового клиента, создаст ему конфиг и покажет qr код.
#!/usr/bin/env bash
username=$1
serverip=`curl -s https://icanhazip.com`
serverpubkey=`cat "/etc/wireguard/publickey"`
wg genkey | tee "/etc/wireguard/$username" | wg pubkey | tee "/etc/wireguard/$username""_pub"
pubkey=`cat "/etc/wireguard/$username""_pub"`
privatekey=`cat "/etc/wireguard/$username"`
ip_last=`cat /etc/wireguard/.loc`
echo "$(($ip_last+1))" > /etc/wireguard/.loc
echo "# $username
[Peer]
PublicKey = $pubkey
AllowedIPs = 10.0.0.$ip_last/32" >> /etc/wireguard/wg0.conf
systemctl restart wg-quick@wg0
echo "[Interface]
PrivateKey = $privatekey
Address = 10.0.0.$ip_last/32
DNS = 8.8.8.8
[Peer]
PublicKey = $serverpubkey
Endpoint = $serverip:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20" > "/etc/wireguard/$username.conf"
qrencode -t ansiutf8 < "/etc/wireguard/$username.conf"
Автоподключение vpn gnome3 Ссылка на заголовок
Это должно вам помочь, если вы используете третий гном и хотите, чтобы после включения или разблокировки компьютера он подключался к vpn автоматически.
nmcli connections show
# then just copy ID of vpn connection
nmcli connection edit "<Name of your internet connection>"
print connection.secondaries
set connection.secondaries <ID of vpn connection>
save
quit