ONE DUDE`S BLOG

/media/OpenVPN_logo.svg.webp

Поднятие своего VPN сервера.

02.01.2023
Поднимаем свой VPN сервер на базе OpenVPN.

Ссылки

Зачем?

Пользоваться бесплатными (а иногда даже платными) VPN серверами небезопасно, ведь бесплатный сыр бывает только в мышеловке. Особенно это касается китайских VPN серверов. Поэтому хорошим выходом будет поднять свой VPN сервер на базе OpenVPN. В этой статье я расскажу как это сделать.

Для настройки вам понадобиться купить свой VPS сервер, с физическим адресом той страны которая вам нужна.

Установка

Обновим зависимости

В процессе попросил ввести ваш пароль.

sudo apt update
sudo apt upgrade

Найдем свой IP.

IP записан в панеле инструментов, если все таки не нашли, то можно найти его вот так (любая из команд):

ip a
ip a show eth0
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

Запуск скрипта установки open-ssh

Рекомендую ознакомиться с данным скриптом перед запуском, например так vim openvpn-install.sh

wget https://git.io/vpn -O openvpn-install.sh

Сделаем скрипт исполняемым

chmod +x openvpn-install.sh

Запустим скрипт: sudo ./openvpn-install.sh

Далее будет предложена последовательность ввода

Which IPv4 address should be used?
     1) your-ip-address
     2) 172.25.0.1
     3) 172.17.0.1
     4) 172.23.0.1
IPv4 address [1]: 1

Which protocol should OpenVPN use?
   1) UDP (recommended)
   2) TCP
Protocol [1]: 1

What port should OpenVPN listen to?
Port [1194]: 

Select a DNS server for the clients:
   1) Current system resolvers
   2) Google
   3) 1.1.1.1
   4) OpenDNS
   5) Quad9
   6) AdGuard
DNS server [1]: 3

Enter a name for the first client:
Name [client]: username

OpenVPN installation is ready to begin.
Press any key to continue...

После установки проверим статус нашей службы

➜  ~ sudo systemctl status openvpn-server@server.service
● openvpn-server@server.service - OpenVPN service for server
     Loaded: loaded (/lib/systemd/system/openvpn-server@.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-01-02 13:26:35 MSK; 11s ago
       Docs: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
   Main PID: 759692 (openvpn)
     Status: "Initialization Sequence Completed"
      Tasks: 1 (limit: 4612)
     Memory: 1.0M
     CGroup: /system.slice/system-openvpn\x2dserver.slice/openvpn-server@server.service
             └─759692 /usr/sbin/openvpn --status /run/openvpn-server/status-server.log --status-version 2 --suppress-timestamps --config server.conf

Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: Could not determine IPv4/IPv6 protocol. Using AF_INET
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: Socket Buffers: R=[212992->212992] S=[212992->212992]
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: UDPv4 link local (bound): [AF_INET]217.25.89.126:1194
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: UDPv4 link remote: [AF_UNSPEC]
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: GID set to nogroup
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: UID set to nobody
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: MULTI: multi_init called, r=256 v=256
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: IFCONFIG POOL: base=10.8.0.2 size=252, ipv6=0
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: IFCONFIG POOL LIST
Jan 02 13:26:35 837899-ck18921.tmweb.ru openvpn[759692]: Initialization Sequence Completed

Остановить ее можно с помощью sudo systemctl stop openvpn-server@server.service команды. Так же вы можете сделать restart, start.

Настройка

На сервере появится файл ~/deskcop.ovpn, скопируем его через scp на клиентское устройство.

Возможно файл называется иначе, и лежит в другом месте, найти его можно командой: sudo find / -iname "*.ovpn"

scp <username>@<ip-address>:~/deskcop.ovpn . 

Загрузим приложение для работы с open-vpn. В моем случае это macos

Далее копируем данный файл в open vpn клиент (открыть директорию, куда был скопирован файл, из терминала в macos можно с помощью open . команды)

vpn
openvpn
7
1063