Я сделал все по этой документации: https://www.linode.com/docs/networking/vpn/set-up-wireguard-vpn-on-debian - но не смог пинговать:
$ ping -c 4 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3038ms
После этого я скачал скрипт WireGuard отсюда: https://www.wireguard.com/quickstart/ - и отредактировал его для моих целей:
#!/bin/bash
set -e
[[ $UID == 0 ]] || { echo "You must be root to run this."; exit 1; }
# exec 3<>/dev/tcp/demo.wireguard.com/42912
# privatekey="$(wg genkey)"
# wg pubkey <<<"$privatekey" >&3
# IFS=: read -r status server_pubkey server_port internal_ip <&3
# [[ $status == OK ]]
internal_ip="10.0.0.2"
privatekey=`cat /etc/wireguard/privatekey`
server_pubkey=${my_server_pub_key}
ip link del dev wg0 2>/dev/null || true
ip link add dev wg0 type wireguard
wg set wg0 private-key <(echo "$privatekey") peer "$server_pubkey" allowed-ips 10.0.0.0/24 endpoint "${my_server_public_ip}:51820" persistent-keepalive 25
ip address add "$internal_ip"/24 dev wg0
ip link set up dev wg0
if [ "$1" == "default-route" ]; then
host="$(wg show wg0 endpoints | sed -n 's/.*\t\(.*\):.*/\1/p')"
ip route add $(ip route get $host | sed '/ via [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/{s/^\(.* via [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/}' | head -n 1) 2>/dev/null || true
ip route add 0/1 dev wg0
ip route add 128/1 dev wg0
fi
- и после этого я могу пинговать, но после перезагрузки клиента и перезапуска этого скрипта я не смог снова пинговать. Не могу понять причину, почему все может go так. Кто-нибудь может мне помочь? :-): -)
PS Я использую Slackware GNU / Linux.