Настройка выхода в интернет через VPS провайдера при помощи OpenVPN на Debian 12 (часть 1).

Порядок действий: Репозитории debian 12 на случай если их не будет: deb bookworm main non-free-firmware non-free deb bookworm-security main non-free-firmware non-free deb 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 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. # Чтобы проверить последнюю дату обновления файла CRL # используй команду: openssl crl -inform PEM -in -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/ local Внешний IP-адрес сервера port 1194 proto tcp dev tun ca /etc/openvpn/easy-rsa/pki/ cert /etc/openvpn/easy-rsa/pki/issued/ key /etc/openvpn/easy-rsa/pki/private/ crl-verify /etc/openvpn/easy-rsa/pki/ dh none server ifconfig-pool-persist 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/ log /var/log/openvpn/ log-append /var/log/openvpn/ verb 3 mute 20 topology subnet cp /lib/systemd/system/[email protected] /lib/systemd/system/openvpn-server@ systemctl daemon-reload systemctl start openvpn-server@ systemctl status openvpn-server@ ss -nlpt | grep 1194 systemctl enable openvpn-server@ mcedit /etc/sysctl.d/ # Network = 1 = 1 = 1 = 1073741824 = 1073741824 = 1048576 16777216 1073741824 = 1048576 16777216 1073741824 = 30 = 30 = 20 = 1048576 16770216 1073741824 = 1 mcedit /etc/iptables/ # Здесь 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/ Приводим к виду: #!/bin/bash /usr/sbin/iptables-restore ЗнакНеравенстваМеньше /etc/iptables/ chmod x /root/scripts/ crontab -e @reboot /root/scripts/ Отключение обнаруженного после перезагрузки сервера сервиса В нашем случае он не нужен systemctl disable Финальная перезагрузка, сервер готов!
Back to Top