Ранее
на заметках блога https://lin.ekzorchik.ru
я показал от и до, как на практике приобретенной VPS
системе в Нидерландах поднять VPN
-сервер на базе WireGuard
, настроить клиентские подключения, а затем перенеся конфиг на смартфон получить возможность включать работу через VPN
дабы можно было заходить на различные ресурсы как бы из другой страны тем самым получил доступ к полному контенту которым не обделены люди там, а не как в России: что-то можно, а что-то нет. Информация должна быть доступной, а обработанная информация посредством подписок как у меня уже на платной основе.
Итак, я для нужд VPS
системы выбираю тариф "Micro"
месторасположение в Беларусии за 399 руб/месяц
с характеристиками виртуальной машины:
CPU = 1 x 3.6 ГГц
RAM = 1 Гб
HDD (NVMe) = 20 Гб
Прохожу процедуру оплаты и указания что мне нужно при оформлении:
Выберите период оплаты: 399.00 руб. ежемесячно
Название сервера: srv-site2a
Операционная система: Ubuntu 22
Предустановленное ПО: не установлен
Еженедельный бэкап: 1 копия (бесплатно)
После оплаты на почту на которую зарегистрирован аккаунт в AdminVPS
придет письмо, в котором будут данные на подключение, а именно:
Доступ по SSH:
IP адрес: 185.251.38.97
Логин: root
Пароль: <ROOT_PASSWORD>
Имея данные из письма подключаюсь к купленной VPS
системе и произвожу настройку системы Ubuntu 22.04 Server
на последующее использование и развертывание VPN
на базе WireGuard
, а также защиту от несанкционированного подключения:
Шаг №1:
Подключаюсь к купленной VPS
системы с Ubuntu 22.04 Desktop
которая у меня является дома рабочей системой, это дома, а на работе с Windows 10 Pro
через клиент Putty:
клиент Putty
вкладка Session
Host Name (or IP address): указываю IP адрес из письма
Port: 22
вкладка Connection - Data
Auto-login username: root
Terminal-type string: linux
вкладка Session
Saved Sesssions - указываю, к примеру по имени сервера srv-site2a и нажимаю Save, тем самым я сохранил настройки подключения к удаленной системе, как профиль соединение, в последствии указав или выбрав его я нажав на Open произведу подключение без указания всех параметров подключения (удобно).
Но это пока не все параметры, в последующих шагах я настрою что подключаться к VPS
системе я буду из-под отдельно созданной учетной записи и с применение SSH
-ключей и после дополню профиль подключения в Putty.
Using username "root". Server refused our key root@185.251.38.97's password: указываю пароль который прислан в письме после создания и оплаты VPS системы Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Mon Jul 31 04:46:35 AM UTC 2023 System load: 0.00146484375 Processes: 87 Usage of /: 25.2% of 19.58GB Users logged in: 0 Memory usage: 19% IPv4 address for eth0: 185.251.38.97 Swap usage: 0% Expanded Security Maintenance for Applications is not enabled. 0 updates can be applied immediately. Enable ESM Apps to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status The list of available updates is more than a week old. To check for new updates run: sudo apt update Last login: Mon Jul 31 04:27:56 2023 from 79.171.173.178 root@srv-site2a:~#
Успешно подключился.
На заметку: Я по привычке даже находясь в системе под root
учетной записью все равно использую преддверие команд sudo.
Смотрю сколько места доступно мне в реале:
root@srv-site2a:~# df -h Filesystem Size Used Avail Use% Mounted on tmpfs 97M 900K 97M 1% /run /dev/vda1 20G 5.0G 14G 27% / tmpfs 485M 0 485M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 97M 4.0K 97M 1% /run/user/0 root@srv-site2a:~#
Смотрю сколько оперативной памяти доступно мне в реале:
root@srv-site2a:~# free -m total used free shared buff/cache available Mem: 969 160 321 2 486 672 Swap: 1101 0 1101 root@srv-site2a:~#
Смотрю, как прописаны настройке WAN-ip
в системе:
root@srv-site2a:~# cat /etc/network/interfaces # Generated by SolusVM auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 185.251.38.97 gateway 185.251.38.1 netmask 255.255.255.0 dns-nameservers 8.8.8.8 8.8.4.4 root@srv-site2a:~#
Шаг №2:
Переделываю, как будут прописаны сетевые настройки, не через /etc/network/interface
, а через netplan
(это необязательно, но так делаю Я дабы все мои подконтрольные и обслуживаемые системы были в едином стиле):
root@srv-site2a:~# sudo nano /etc/network/interfaces # Generated by SolusVM auto lo iface lo inet loopback # auto eth0 # iface eth0 inet static # address 185.251.38.97 # gateway 185.251.38.1 # netmask 255.255.255.0 # dns-nameservers 8.8.8.8 8.8.4.4 root@srv-site2a:~# sudo nano /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: ethernets: ens3: # dhcp4: true dhcp4: no addresses: - 185.251.38.97/24 routes: - to: default via: 185.251.38.1 nameservers: addresses: - 8.8.8.8 version: 2 root@srv-site2a:~# sudo netplan apply
Шаг №3:
Запрещаю кому-либо изменять файл /etc/resolv.conf:
sudo systemctl disable systemd-resolved Removed /etc/systemd/system/dbus-org.freedesktop.resolve1.service. Removed /etc/systemd/system/multi-user.target.wants/systemd-resolved.service. sudo systemctl stop systemd-resolved sudo rm /etc/resolv.conf sudo bash -c "echo 'nameserver 8.8.8.8'" | sudo tee -a /etc/resolv.conf sudo chattr +i /etc/resolv.conf sudo lsattr /etc/resolv.conf ----i---------e--- /etc/resolv.conf
Шаг №4:
Устанавливаю под себя утилиты, которые мне нужны для отладки работоспособности и последующей работы:
На заметку: Вы же устанавливаете, что удобно Вам.
sudo apt-get install traceroute net-tools mc htop -y
Шаг №5:
Провожу базовую настройку системы для последующего использования:
root@srv-site2a:~# sudo rm -Rf /var/lib/apt/lists root@srv-site2a:~# sudo nano /etc/update-manager/release-upgrades [DEFAULT] Prompt=never root@srv-site2a:~# sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y root@srv-site2a:~# uname -a && lsb_release -a Linux srv-site2a 5.15.0-73-generic #80-Ubuntu SMP Mon May 15 15:18:26 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy root@srv-site2a:~#
Шаг №6:
На системе Windows 10 Pro
(Обычно на работе с этой системы работаю) создаю публичный и приватные SSH
ключи для подключения к данной VPS
. Как приобщиться к такому использования, прошу сюда "Подключение к серверу Ubuntu Bionic Server через Putty + Public Key"
on Windows 10 Pro
запускаю утилиту PuTTY Key Generator
Type of key to generate: выбираю ECDSA
Curve to use for generating this key: выбираю nistp256 (по умолчанию)
и нажимаю Generate
, после двигаю мышью быстро или наоборот медленно дабы получить сгенерированный ключ
см. скрин ниже что у Вас должно получиться
нажимаем Save public key
и сохраняем публичный ключ в каталог где у Вас все ключи, к примеру у меня это W:\narabotki\tips_key\ekzorchik@srv-site2a_public_key
нажимаем Save private key
(предварительно указываю пароль на защиту ключа):
Key passphrase: <SECRET_PASSWORD>
Confirm passphrase: <SECRET_PASSWORD>
и сохраняем публичный ключ в каталог где у Вас все ключи, к примеру у меня это W:\narabotki\tips_key\ekzorchik@srv-site2a_private_key.ppk
после чего приложение PuTTY Key Generator
можно закрыть
На заметку: Я всегда к своим системам делаю что доступ только по ключам SSH
и приватный ключ защищаю парольной фразой, чтобы в случае чего стащив данный ключ он оказался бесполезным при применении.
Шаг №7:
Прописываю публичный ключ в файл /etc/ssh/authorized_keys:
root@srv-site2a:~# sudo nano /etc/ssh/authorized_keys ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJTgOQQb1WpbOIErS+JUwd0cQMEQjtHQyP+kFvO0TEBo4pOUDHyCtK3D84+RApT/QcWs4C1iQgrj7feQyXLWcHM= ecdsa-key-20230731
Шаг №8:
Так как я преимущественно буду подключаться к данной системе в целях администрирования по SSH
, то провожу на основе своего опыта изменения в плане безопасного подключения:
На заметку: UID
равный 2000
нельзя указывать если на этой системе будет развернут почтовый сервер на базе iRedMail.
root@srv-site2a:~# sudo useradd -m -p <USER_PASSWORD> -s /bin/bash -u 5000 -U ekzorchik root@srv-site2a:~# sudo groupadd sshauth root@srv-site2a:~# sudo usermod -aG sshauth ekzorchik root@srv-site2a:~# sudo usermod -aG sudo ekzorchik root@srv-site2a:~# sudo visudo -f /etc/sudoers.d/ekzorchik ekzorchik ALL=(ALL) NOPASSWD:ALL root@srv-site2a:~# sudo nano /etc/ssh/sshd_config Include /etc/ssh/sshd_config.d/*.conf Port 33603 PermitRootLogin no PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no KbdInteractiveAuthentication no UsePAM yes X11Forwarding yes PrintMotd no PrintLastLog no TCPKeepAlive yes Banner none AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server AllowGroups sshauth root@srv-site2a:~# sudo service ssh restart root@srv-site2a:~# sudo ss -ltp State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:33603 0.0.0.0:* users:(("sshd",pid=48946,fd=3)) LISTEN 0 128 [::]:33603 [::]:* users:(("sshd",pid=48946,fd=4)) root@srv-site2a:~# sudo netstat -tulpn | grep sshd tcp 0 0 0.0.0.0:33603 0.0.0.0:* LISTEN 48946/sshd: /usr/sb tcp6 0 0 :::33603 :::* LISTEN 48946/sshd: /usr/sb root@srv-site2a:~#
Пока от сервера не отключаюсь.
Шаг №9:
На рабочей системе на работе запускаю клиент Putty
(использую версию 0.78
) и открываю профиль который сделан ранее на подключение к VPS
системе купленной в беларуссии:
Saved Sessions: набираю srv-site2a и нажимаю Load, далее вношу изменения в профиль:
вкладка Session:
Port: 43704
вкладка Connection - Data
Auto-login username: изменяю root на ekzorchik
вкладка Connection - SSH - Auth
Private key file for authentication: через Browse указываю путь где сохранен приватный ключ, у меня это W:\narabotki\tips_key\ekzorchik@srv-site2a_private_key.ppk
вкладка Session
, нажимаю Save
для сохранения внесенных изменений в профиль на подключение к VPS
системе в Беларуссии.
Нажимаю Open
, в первый раз нужно нажать Accept
, после нужно будет ввести парольную фразу на разблокировку приватного ключа:
Using username "ekzorchik". Authenticating with public key "ecdsa-key-20230731" Passphrase for key "ecdsa-key-20230731": ekzorchik@srv-site2a:~$
Если все сделано правильно вы подключитесь, как подключился Я.
ekzorchik@srv-site2a:~$ sudo su - root@srv-site2a:~#
Отлично подключение под ново созданным пользователем работает, как и повышение прав до уровня суперпользователя.
Шаг №10:
Устанавливаю в систему надстройку над правилами iptables - firewalld:
ekzorchik@srv-site2a:~$ apt-cache show firewalld | grep Version Version: 1.1.1-1ubuntu1 ekzorchik@srv-site2a:~$ sudo apt-get install -y firewalld ekzorchik@srv-site2a:~$ sudo ufw disable Firewall stopped and disabled on system startup ekzorchik@srv-site2a:~$ sudo systemctl enable firewalld ekzorchik@srv-site2a:~$ sudo systemctl start firewalld ekzorchik@srv-site2a:~$ sudo firewall-cmd --state running ekzorchik@srv-site2a:~$ ip r | awk '{print $5}' | head -n1 eth0 ekzorchik@srv-site2a:~$ sudo firewall-cmd --zone public --change-interface=eth0 --permanent success ekzorchik@srv-site2a:~$ sudo firewall-cmd --add-port=33603/tcp --permanent success ekzorchik@srv-site2a:~$ sudo firewall-cmd --remove-service=ssh --permanent success ekzorchik@srv-site2a:~$ sudo firewall-cmd --reload success ekzorchik@srv-site2a:~$ sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-client ports: 33603/tcp protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ekzorchik@srv-site2a:~$
Шаг №11:
Устанавливаю в систему Wireguard:
ekzorchik@srv-site2a:~$ apt-cache show wireguard | grep Version Version: 1.0.20210914-1ubuntu2 ekzorchik@srv-site2a:~$ ekzorchik@srv-site2a:~$ sudo apt-get install -y wireguard-dkms wireguard-tools resolvconf ekzorchik@srv-site2a:~$ sudo reboot ekzorchik@srv-site2a:~$ lsmod | grep wireguard вывод пуст, а почему? ekzorchik@srv-site2a:~$ sudo modprobe wireguard ekzorchik@srv-site2a:~$ lsmod | grep wireguard wireguard 94208 0 curve25519_x86_64 36864 1 wireguard libchacha20poly1305 16384 1 wireguard libcurve25519_generic 49152 2 curve25519_x86_64,wireguard ip6_udp_tunnel 16384 1 wireguard udp_tunnel 20480 1 wireguard ekzorchik@srv-site2a:~$
Значит, нужно указать системе что нужно подгружать модуль wireguard
при загрузке:
ekzorchik@srv-site2a:~$ sudo nano /etc/modules-load.d/wirequard.conf wireguard ekzorchik@srv-site2a:~$ sudo reboot ekzorchik@srv-site2a:~$ lsmod | grep wireguard wireguard 94208 0 curve25519_x86_64 36864 1 wireguard libchacha20poly1305 16384 1 wireguard libcurve25519_generic 49152 2 curve25519_x86_64,wireguard ip6_udp_tunnel 16384 1 wireguard udp_tunnel 20480 1 wireguard ekzorchik@srv-site2a:~$
Вот теперь модуль автоматически подгружается вместе с системой после перезагрузки системы.
Шаг №12:
Переделываю зоны работы Firewalld
, чтобы была внешняя зона (external)
и зона VPN
туннеля (internal):
ekzorchik@srv-site2a:~$ sudo firewall-cmd --get-zones block dmz drop external home internal public trusted work ekzorchik@srv-site2a:~$ ekzorchik@srv-site2a:~$ sudo firewall-cmd --zone=external --add-port=33603/tcp --permanent sudo firewall-cmd --zone=internal --add-interface=wg0 --permanent sudo firewall-cmd --zone=public --remove-interface=eth0 --permanent sudo firewall-cmd --zone=external --remove-service=ssh --permanent sudo firewall-cmd --zone=external --add-interface=eth0 --permanent ekzorchik@srv-site2a:~$ sudo firewall-cmd --reload
Информация по настройкам зоны internal:
ekzorchik@srv-site2a:~$ sudo firewall-cmd --zone=internal --list-all internal (active) target: default icmp-block-inversion: no interfaces: wg0 sources: services: dhcpv6-client mdns samba-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ekzorchik@srv-site2a:~$
Информация по настройкам зоны external:
ekzorchik@srv-site2a:~$ sudo firewall-cmd --zone=external --list-all external (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ports: 33603/tcp protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ekzorchik@srv-site2a:~$
Шаг №13:
Создадим пару закрытого и открытого ключа на системе VPS
которая выступает, как сервер Wireguard:
ekzorchik@srv-site2a:~$ sudo wg genkey | sudo tee /etc/wireguard/privatekey <PRIVATE_KEY_SERVER> ekzorchik@srv-site2a:~$ sudo bash -c "wg pubkey < /etc/wireguard/privatekey > /etc/wireguard/pubkey" ekzorchik@srv-site2a:~$ sudo bash -c "cat /etc/wireguard/pubkey" <PUBLIC_KEY_SERVER> ekzorchik@srv-site2a:~$
Шаг №14:
Файл privatekey
не должен быть доступен для чтения для обычных пользователей на системе VPS:
ekzorchik@srv-site2a:~$ sudo chmod 600 /etc/wireguard/privatekey
Шаг №15:
Создаю публичный ключ для своего смартфона Honor 9X
на котором буду тестировать VPN
до Беларуссии:
ekzorchik@srv-site2a:~$ wg genkey | sudo tee /etc/wireguard/honor9xvpsprivatekey <PRIVATE_KEY_CLIENT> ekzorchik@srv-site2a:~$ sudo bash -c "wg pubkey < /etc/wireguard/honor9xvpsprivatekey > /etc/wireguard/honor9xvpspubkey" ekzorchik@srv-site2a:~$ sudo bash -c "cat /etc/wireguard/honor9xvpspubkey" <PUBLIC_KEY_CLIENT> ekzorchik@srv-site2a:~$
Шаг №16:
Настраиваем туннельное устройство, которое будет маршрутизировать трафик VPN
на клиенте:
ekzorchik@srv-site2a:~$ sudo nano /etc/wireguard/wg0.conf [Interface] #указываю имя приватного ключа сервера, sudo bash -c "cat /etc/wireguard/privatekey" PrivateKey = <PRIVATE_KEY_SERVER> #Внутренний адрес сервера Address = 20.20.20.1/24 #MTU = 1420 #Порт на котором мой сервер будет принимать подключения ListenPort = 22340 #Table = #в качестве брандмауэера я буду использовать надстройку над правилами iptables => firewalld #ip r | awk ‘{print $5}’ | head -n1 #eth0 PreUp = sysctl -w net.ipv4.ip_forward=1 PreUp = sysctl -w net.ipv4.conf.all.src_valid_mark=1 PostUp = firewall-cmd --zone=external --add-masquerade PostUp = firewall-cmd --zone=external --add-port=22340/udp PreDown = sysctl -w net.ipv4.ip_forward=0 PreDown = sysctl -w net.ipv4.conf.all.src_valid_mark=0 PostDown = firewall-cmd --zone=external --remove-masquerade PostDown = firewall-cmd --zone=external --remove-port=22340/udp #Секция настройки клиента #Client [Peer] #root@ekzorchik:~# cat /etc/wireguard/honor9xvpspubkey PublicKey = <PUBLIC_KEY_CLIENT> AllowedIPs = 20.20.20.2/32
Изменяем права доступа к конфигурационному файлу wg0.conf:
ekzorchik@srv-site2a:~$ sudo chmod 600 /etc/wireguard/wg0.conf
Шаг №17:
Разрешаем транзитный трафик между зонами firewalld:
На заметку: Важный нюанс по данной заметке, у меня в заметках используется утилита firewalld
версии 0.8.2
(в OS: Ubuntu 20.04
где Wireguard
работает в качестве сервера — все работает, как и написано в заметках моего блога), а начиная с версии 1.0
root@ekzorchik:~# dpkg -l | grep firewalld | head -n 1 ii firewalld 0.8.2-1 all dynamically managed firewall with support for network zones root@ekzorchik:~#
по умолчанию блокируется транзитный трафик между зонами хоть и включена настройка net.ipv4.ip_forward=1
, это дело не меняет. А в Ubuntu 22.04
уже устанавливается версия firewalld = 1.1.1-1ubuntu1
и все применяя к ней исходя из моих заметок получается, что не работает, т.е. если Вы на Ubuntu 22.04 Server
поднимаете Wireguard
-сервер, в этом случае нужно разрешить прохождение трафика с помощью policy object
, к примеру, создав правило: client-to-inet
ekzorchik@srv-site2a:~$ firewall-cmd --permanent --new-policy client-to-inet Authorization failed. Make sure polkit agent is running or run the application as superuser. ekzorchik@srv-site2a:~$ sudo firewall-cmd --permanent --new-policy client-to-inet success ekzorchik@srv-site2a:~$ sudo firewall-cmd --permanent --policy client-to-inet --set-target ACCEPT success ekzorchik@srv-site2a:~$ sudo firewall-cmd --permanent --policy client-to-inet --add-ingress-zone internal success ekzorchik@srv-site2a:~$ sudo firewall-cmd --permanent --policy client-to-inet --add-egress-zone external success ekzorchik@srv-site2a:~$ sudo firewall-cmd --reload success ekzorchik@srv-site2a:~$
после интернет при подключении через Wireguard
с клиентской системы к Ubuntu 22.04 Server
(Wireguard
-сервер) начинает работать, а туннель как устанавливался, так и устанавливается.
Шаг №18:
Активирую работу сервиса после перезагрузки сервера, чтобы он включался автоматически:
ekzorchik@srv-site2a:~$ sudo systemctl enable wg-quick@wg0.service Created symlink /etc/systemd/system/multi-user.target.wants/wg-quick@wg0.service → /lib/systemd/system/wg-quick@.service. ekzorchik@srv-site2a:~$ sudo systemctl start wg-quick@wg0.service ekzorchik@srv-site2a:~$ ip r default via 185.251.38.1 dev eth0 proto static 20.20.20.0/24 dev wg0 proto kernel scope link src 20.20.20.1 185.251.38.0/24 dev eth0 proto kernel scope link src 185.251.38.97 ekzorchik@srv-site2a:~$
Шаг №19:
Создаю конфигурацию для смартфона Honor 9X
на котором буду тестировал функционал работы VPN
туннеля из Беларуссии:
ekzorchik@srv-site2a:~$ nano honor9xvps.conf [Interface] #PrivateKey = CLIENT_PRIVATE_KEY # root@ekzorchik:~# cat /etc/wireguard/honor9xvpsprivatekey PrivateKey = <PRIVATE_KEY_CLIENT> # Адрес и маска #[Peer] должны быть одинаковыми и на клиенте, и на сервере # не обязательно Address = 20.20.20.2/24 DNS = 8.8.8.8 [Peer] #PublicKey = SERVER_PUBLIC_KEY #cat /etc/wireguard/pubkey PublicKey = <PUBLIC_KEY_SERVER> #Endpoint = SERVER_IP_ADDRESS:PORT Endpoint = 185.251.38.97:22340 AllowedIPs = 0.0.0.0/0 #Key connection alive ## PersistentKeepalive = 15
Шаг №20:
Теперь можно создать QR
код на основе нашего конфига:
ekzorchik@srv-site2a:~$ apt-cache show qrencode | grep Version Version: 4.1.1-1 ekzorchik@srv-site2a:~$ ekzorchik@srv-site2a:~$ sudo apt-get install -y qrencode ekzorchik@srv-site2a:~$ qrencode -t png -o honor9xvps.png -r honor9xvps.conf
Шаг №21:
Передаем любым способом полученную картинку в виде qr
—КОДА НА ТЕЛЕФОН или скачиваем ее подключившись к серверу через WinSCP
(не забываем указать путь до SSH
ключа) и скопировав ее на рабочий стол, открываю ее. На Windows 10 Pro
открыл через "Средство просмотра фотографий Windows"
, а вот когда открывал через ACDSee Pro 8
смартфоном я не мог считать QR
-код.
На заметку: Чтобы в Windows 10
появилось привычное "Средство просмотра фотографий Windows"
нужно обратиться к заметке "Просмотр фотографий Windows в Windows 10"
Шаг №22:
На смартфон Honor 9X
устанавливаю приложение из Play Market
или если Вы себе скачиваете apk
файл приложения
Шаг №23:
Запускаем на смартфоне установленное приложение Wireguard
, нажимаем "+" Плюсик
— выбираем "Сканировать QR-код"
и сканируем открытую картинку выше и если все сделано правильно создается конфигурация, для которой Вы сами даете именование, к примеру добавленные конфигурации выглядят так:
нажимаю на переключатель напротив именования vpsbelarus
, сессия включается, в правом верхнем углу экрана смартфона появляется иконка "Ключик"
свидетельствующая что VPN
туннель установлен
см. на сервере так ли это:
ekzorchik@srv-site2a:~$ sudo wg show interface: wg0 public key: <PUBLIC_KEY_SERVER> private key: (hidden) listening port: 22340 peer: <PUBLIC_KEY_CLIENT> endpoint: 176.59.57.149:54624 allowed ips: 20.20.20.2/32 latest handshake: 7 minutes ago transfer: 928.95 KiB received, 4.89 MiB sent ekzorchik@srv-site2a:~$ ekzorchik@srv-site2a:~$ sudo wg show interface: wg0 public key: oBgRkPwW2nqTDL3MMww7ceJznj/AQqKyZL4Rua+GqCI= private key: (hidden) listening port: 22340 peer: ZnV8NikZMAlIXRH5N6gStngMgfot4Y2uKuW+Ubd35FY= endpoint: 176.59.174.8:46408 allowed ips: 10.10.10.2/32 latest handshake: 1 minute, 42 seconds ago transfer: 703.79 KiB received, 488.34 KiB sent ekzorchik@srv-site2a:~$
из вывода выше видно, что клиент получил назначенный ему IP
адрес в сети VPN
, т.е. 10.20.20.2
Шаг №24:
Проверяем на смартфоне, какой WAN-IP
сейчас, открываем браузер и переходим на URL
—адрес 2ip.ru & myip.ru
Отлично, теперь проверяю, что могу заходить на различные ресурсы и меня не блокирует.
Подведем итог, я самостоятельно для себя разобрал как поднимается VPN
-туннель до своего сервера, купленного в другой стране (ранее был VPS
в Нидерландах, сейчас VPS
в Беларуссии), со всеми нюансами, которые у меня возникли, многое нового узнал и теперь в рамках тестирования буду анализировать работу своих сервисов дабы лучше понимать и применять полученный опыт в работе.
На этом практическая заметка успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.