sudo dnf install wget make gcc binutils tar -y
(При необходимости можно заранее включить EPEL-репозиторий для дополнительных пакетов:)
sudo dnf install epel-release -y
wget "https://www.softether-download.com/files/softether/v4.41-9787-rtm-2023.03.14-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.41-9787-rtm-2023.03.14-linux-x64-64bit.tar.gz" tar -xzf softether-vpnserver-*.tar.gz cd vpnserver make cd .. sudo mv vpnserver /usr/local/
sudo chmod -R 600 /usr/local/vpnserver/* sudo chmod 700 /usr/local/vpnserver/vpnserver /usr/local/vpnserver/vpncmd #sudo chcon -Rv -u system_u -t bin_t /usr/local/vpnserver/vpnserver #sudo semanage fcontext -a -t bin_t '/usr/local/vpnserver/vpnserver' #sudo restorecon -v '/usr/local/vpnserver/vpnserver' sudo semanage fcontext -a -t bin_t '/usr/local/vpnserver(/.*)?' sudo restorecon -Rv '/usr/local/vpnserver'
Создаём файл /etc/systemd/system/softether-vpnserver.service со следующим содержимым:
[Unit] Description=SoftEther VPN server After=network-online.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target
Перезагрузим демона и включим автозапуск:
sudo systemctl daemon-reload sudo systemctl enable softether-vpnserver sudo systemctl start softether-vpnserver
SSTP работает поверх SSL/TLS на TCP 443:
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent sudo firewall-cmd --reload
Запускаем утилиту управления:
sudo /usr/local/vpnserver/vpncmd /SERVER
В интерфейсе:
HubCreate SSTP
ServerPasswordSet
SecureNatEnable
Hub SSTP UserCreate <имя_пользователя> UserPasswordSet <имя_пользователя>
ServerCertRegenerate yourdomain.com ServerCertGet yourdomain.com.cer
SstpEnable yes
exit
Перезапустить службу softether-vpnserver:
sudo systemctl restart softether-vpnserver
net.ipv4.ip_forward = 1
sudo sysctl --system
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 \ -s 192.168.30.0/24 -o eth0 -j MASQUERADE
sudo firewall-cmd --reload
sudo dnf install nginx certbot python3-certbot-nginx -y
sudo systemctl enable --now nginx
sudo firewall-cmd --zone=public --add-service=http --permanent #sudo firewall-cmd --zone=public --add-service=https --permanent sudo firewall-cmd --reload
sudo certbot --nginx -d sstp.virtlab.space
sudo mkdir -p /etc/letsencrypt/renewal-hooks/deploy sudo tee /etc/letsencrypt/renewal-hooks/deploy/softether-reload.sh > /dev/null <<'EOF' #!/bin/bash LE_DIR="/etc/letsencrypt/live/sstp.virtlab.space" VPN_DIR="/usr/local/vpnserver" # Копируем свежий сертификат и ключ cp "$LE_DIR/fullchain.pem" "$VPN_DIR/server.crt" cp "$LE_DIR/privkey.pem" "$VPN_DIR/server.key" # Ставим правильные права chmod 600 "$VPN_DIR/server.crt" "$VPN_DIR/server.key" chown root:root "$VPN_DIR/server.crt" "$VPN_DIR/server.key" # Перезапускаем SoftEther, чтобы он подхватил новые файлы systemctl restart softether-vpnserver EOF sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/softether-reload.sh
sudo cp /etc/letsencrypt/live/sstp.virtlab.space/fullchain.pem /usr/local/vpnserver/server.crt sudo cp /etc/letsencrypt/live/sstp.virtlab.space/privkey.pem /usr/local/vpnserver/server.key sudo chmod 600 /usr/local/vpnserver/server.{crt,key} sudo chown root:root /usr/local/vpnserver/server.{crt,key}