Как установить и настроить SSTP сервер на Ubuntu Server 16.04 и подключить к нему маршрутизатор MikroTik?

Здравствуйте! У меня возникла проблема при настройке SSTP сервера на Ubuntu 16.04 по <a href="https://github.com/maxqfz/SSTP" rel="nofollow">этой</a> инструкции. Я, кажется, выполнил все шаги правильно, но сервер не запускается и выдает ошибку. Вот вывод команды для проверки состояния сервиса: <br/> <pre><code>root@51285:/home/stealch# systemctl status sstpd.service
* sstpd.service - SSTP VPN server
   Loaded: loaded (/etc/systemd/system/sstpd.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2025-01-27 02:53:23 EET; 19s ago
  Process: 7500 ExecStart=/usr/local/bin/sstpd -f /etc/sstpd.ini (code=exited, status=2)
 Main PID: 7500 (code=exited, status=2)

Jan 27 02:53:23 51285.ip-ptr.tech systemd[1]: sstpd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jan 27 02:53:23 51285.ip-ptr.tech systemd[1]: sstpd.service: Unit entered failed state.
Jan 27 02:53:23 51285.ip-ptr.tech systemd[1]: sstpd.service: Failed with result 'exit-code'.</code></pre> <br/> Я скопировал конфигурацию из инструкции, создал сертификат и изменил пути в sstpd.ini на реальные, а дальнейшие действия мне неясны. SSTP всегда была для меня "темной лошадкой", а сейчас ситуация только усложняется. Также мне пока неясно, как подключиться к микротику, но без работающего сервера это не имеет смысла. Как мне поступить в данной ситуации?
  • 27 января 2025 г. 1:14
Ответы на вопрос 2
Здравствуйте!

Проблема с запуском SSTP сервера на вашем Ubuntu можно решить несколькими шагами диагностики и настройки. Давайте пройдемся по основным пунктам:

### 1. Проверка конфигурации
Убедитесь, что ваш файл конфигурации `/etc/sstpd.ini` корректен. Минимальная конфигурация может выглядеть так:

```ini
[general]
; log level (0 - off, 1 - error, 2 - info, 3 - debug)
log-level = 2

[server]
; путь к вашему сертификату и приватному ключу
certificate = /etc/ssl/certs/your_cert.pem
private-key = /etc/ssl/private/your_key.pem

; сетевой интерфейс (например, eth0)
interface = eth0

; порт, на котором SSTP будет слушать (обычно 443)
port = 443

; путь к ipsec и pppd (если требуется)
pppd = /usr/sbin/pppd
```

### 2. Проверка логов
Чтобы получить больше информации о том, почему сервис выдает ошибку, проверьте логи. Вы можете сделать это с помощью команды:

```bash
journalctl -xe | grep sstpd
```

Это может дать более подробную информацию об ошибке.

### 3. Проверка сертификатов
Проверьте, что сертификаты действительно существуют по указанным в конфигурации путям и имеют правильные права доступа. Используйте команду `ls` для проверки:

```bash
ls -l /etc/ssl/certs/your_cert.pem
ls -l /etc/ssl/private/your_key.pem
```

### 4. Запуск сервиса вручную
Попробуйте запустить SSTP сервер вручную, чтобы увидеть, выводит ли он какие-либо ошибки непосредственно в терминале. Используйте следующую команду:

```bash
/usr/local/bin/sstpd -f /etc/sstpd.ini
```

Это может помочь выявить ошибки конфигурации, которые не видны в системном журнале.

### 5. Убедитесь в установке необходимых пакетов
Убедитесь, что вы установили все необходимые пакеты и зависимости, такие как `libssl-dev`, которые могут требоваться для работы SSTP.

### Подключение к MikroTik
После того как сервер будет успешно запущен, вам нужно будет настроить MikroTik для подключения к вашему SSTP серверу. Примерный порядок действий:

1. Откройте WinBox и подключитесь к вашему MikroTik.
2. Перейдите в `PPP` -> `Interface`.
3. Нажмите `Add` и выберите `SSTP Client`.
4. Убедитесь, что в полях `Connect To` указан ваш внешний IP адрес или доменное имя.
5. Укажите ваше имя пользователя и пароль, установленный на сервере.
6. Убедитесь, что все настройки правильные, и сохраните изменения.

После настройки попробуйте подключиться к SSTP серверу с MikroTik.

Если у вас останутся вопросы или возникнут новые ошибки, не стесняйтесь задавать их!
Шаг 1: Установка и настройка SSTP сервера на Ubuntu 16.04 

1. Установим необходимые пакеты:

sudo apt-get update
sudo apt-get install build-essential libssl-dev libpam0g-dev git

2. Скачаем и установим SSTP-сервер:

git clone https://github.com/setevoy/sstp-server.git
cd sstp-server
./configure && make && sudo make install

3. Создадим конфигурационный файл /etc/sstpd.conf:

sudo nano /etc/sstpd.conf

Добавьте следующие строки:

listenaddr = 0.0.0.0
verbose = 1
pidfile = /var/run/sstpd.pid
logfile = /var/log/sstpd.log
chroot = /var/empty
localip = 192.168.100.1
mask = 255.255.255.0
port = 443
x509cert = /etc/ssl/certs/server.crt
x509key = /etc/ssl/private/server.key

Замените server.crt и server.key на ваши сертификаты.

4. Создаем сертификаты:

Если у вас еще нет сертификатов, создайте их:

sudo mkdir -p /etc/ssl/{certs,private}
sudo openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/server.crt -keyout /etc/ssl/private/server.key

5. Настройка PAM-аутентификации:

Создайте файл /etc/pam.d/sstpd со следующим содержимым:

auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so

6. Настроим firewall:

Разрешите входящие соединения на порт 443:

sudo ufw allow 443/tcp

7. Запустим SSTP сервер:

sudo systemctl start sstpd
sudo systemctl enable sstpd

Проверьте статус службы:

systemctl status sstpd

Шаг 2: Подключение к SSTP серверу через MikroTik

1. Зайдите в WebFig или WinBox вашего MikroTik устройства.

2. Перейдите в меню PPP > Profiles и добавьте новый профиль:

Name: sstp-profile

Local Address: оставьте пустым

Remote Address: 192.168.100.2-192.168.100.254

DNS Servers: укажите DNS сервера вашей сети

3. Перейдите в меню Interfaces и нажмите кнопку + для добавления нового интерфейса.

Выберите SSTP Client.

Введите имя интерфейса, например, sstp-out.

Укажите адрес вашего SSTP сервера в поле Connect To.

Укажите имя пользователя и пароль для аутентификации.

Выберите созданный ранее профиль (sstp-profile) в поле Profile.

Нажмите OK для сохранения настроек.

4. Проверьте состояние подключения:

Перейдите в меню Interfaces, выберите ваш интерфейс sstp-out и убедитесь, что он находится в состоянии R (running).

Заключение

После выполнения всех этих шагов вы должны иметь работающий SSTP сервер на Ubuntu 16.04 и настроенное подключение к этому серверу через ваше устройство MikroTik. Если возникают ошибки, проверьте лог-файлы на обеих сторонах для диагностики проблемы.
Похожие вопросы