Dzen.ru Video Downloader

The easiest way to download Dzen.ru video, music, thumbnail without watermark or logo

Сисадмин Михалыч

6 2 недели назад

Настройка выхода в интернет через VPS провайдера при помощи OpenVPN.

TIP! Right-click and select "Save link as..." to download.

Loading...
Репозитории debian 12 на случай если их не будет:
deb http://deb.debian.org/debian/ bookworm main non-free-firmware non-free
deb http://security.debian.org/debian-security bookworm-security main non-free-firmware non-free
deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware non-free

Все действия от root

apt update && apt install openvpn mc easy-rsa iptables

mkdir /etc/openvpn/easy-rsa
chown root /etc/openvpn/easy-rsa
chmod 700 /etc/openvpn/easy-rsa

cd /etc/openvpn/easy-rsa/
cp /usr/share/easy-rsa/vars.example vars

mcedit /etc/openvpn/easy-rsa/vars

# Размер секретного ключа в битах
set_var EASYRSA_KEY_SIZE 4096

# Включить поддержку криптографии эллиптической кривой (рекомендуется)
set_var EASYRSA_ALGO "ec"

# Настройки цифровой подписи сертификата
set_var EASYRSA_DIGEST "sha512"

# Срок действия всех выпущенных сертификатов в том числе и сервера в днях (1800 дней - это 4.9 лет)
set_var EASYRSA_CERT_EXPIRE 1800

# Число дней до следующей даты публикации CRL.
set_var EASYRSA_CRL_DAYS 365
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# crl.pem файл нужно обновлять заранее,
# иначе если истечет срок действия файла crl.pem, то клиенты не смогут подключиться
# В журналах работы сервера при этом увидите
# ошибки подключения клиентов и указание на проблему срока действия CRL.
# Чтобы проверить последнюю дату обновления файла CRL
# используй команду: openssl crl -inform PEM -in crl.pem -text -noout
# Last Update: Aug 26 13:30:36 2022 GMT
# Next Update: Sep 25 13:30:36 2023 GMT
# Чтобы обновить CRL используй команду: ./easyrsa gen-crl
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ln -s /usr/share/easy-rsa/easyrsa easyrsa
./easyrsa init-pki
./easyrsa build-ca
./easyrsa build-server-full deb12vpn nopass
./easyrsa gen-crl

mcedit /etc/openvpn/server/deb12vpn.conf
local Внешний IP-адрес сервера
port 1194
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/deb12vpn.crt
key /etc/openvpn/easy-rsa/pki/private/deb12vpn.key
crl-verify /etc/openvpn/easy-rsa/pki/crl.pem
dh none
server 172.16.35.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
keepalive 10 120
auth SHA512
cipher AES-256-GCM
tun-mtu 1500
max-clients 100
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
verb 3
mute 20
topology subnet

cp /lib/systemd/system/openvpn-server@.service /lib/systemd/system/openvpn-server@deb12vpn.service
systemctl daemon-reload
systemctl start openvpn-server@deb12vpn.service
systemctl status openvpn-server@deb12vpn.service
ss -nlpt | grep 1194
systemctl enable openvpn-server@deb12vpn.service

mcedit /etc/sysctl.d/99-sysctl.conf
# Network
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.core.rmem_max = 1073741824
net.core.wmem_max = 1073741824
net.ipv4.tcp_rmem = 1048576 16777216 1073741824
net.ipv4.tcp_wmem = 1048576 16777216 1073741824
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_reordering = 20
net.ipv4.tcp_mem = 1048576 16770216 1073741824
net.ipv4.ip_forward = 1

mcedit /etc/iptables/rules.ipt
# Здесь enp1s0 это интерфейс смотрящий в интернет
*nat
:PREROUTING ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
-A POSTROUTING -o enp1s0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp1s0 -p tcp --dport 22 -j ACCEPT
-A INPUT -i enp1s0 -p tcp --dport 1194 -j ACCEPT
-A INPUT -i tun0 -j ACCEPT
-A INPUT -p icmp --icmp-type any -j ACCEPT
-A FORWARD -i enp1s0 -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o enp1s0 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT

mkdir /root/scripts
mcedit /root/scripts/iptables-reload.sh
chmod +x /root/scripts/iptables-reload.sh
crontab -e
@reboot /root/scripts/iptables-reload.sh

Отключение обнаруженного после перезагрузки сервера сервиса systemd-resolved.service
В нашем случае он не нужен
systemctl disable systemd-resolved.service

Финальная перезагрузка, сервер готов!