Centos 7 і OpenVPN: як подружитися?


1

Я намагаюся встановити сервер OpenVPN на Centos 7 і зіткнувся з наступною проблемою:

[root@msk ~]# /etc/init.d/openvpn start
Starting openvpn (via systemctl):                          [  OK  ]
[root@msk ~]# ps aux | grep openvpn
root      5639  0.0  0.0 112640   980 pts/6    S+   12:54   0:00 grep --color=auto openvpn
[root@msk ~]# service openvpn start
Starting openvpn (via systemctl):                          [  OK  ]
[root@msk ~]# ps aux | grep openvpn
root      5657  0.0  0.0 112640   980 pts/6    S+   12:54   0:00 grep --color=auto openvpn
[root@msk ~]#

Як бачите - нічого не відбувається.

Але якщо я спробую запустити його однією командою: openvpn --daemon --writepid /var/run/openvpn/openvpn.pid --config /etc/openvpn/server.conf --cd /etc/openvpnце добре працює.

Я думаю, проблема є selinux. І я зовсім не хочу його відключати.

Не могли б ви вказати мені, де помилка?


Якщо ви вважаєте, що проблема полягає в SELinux, ви шукали в журналі аудиту відповідні повідомлення?
user619714

так. і я зробив це:cat /var/log/audit/audit.log | grep openvpn | grep denied | audit2allow -M myopenvpn; semodule -i myopenvpn.pp
Психозой

Можливо, вам знадобиться тимчасово перевести SElinux в режим дозволу, щоб ви могли зібрати всі відповідні записи журналу, але вам також слід перевстановити, використовуючи нативний пакет openvpn.
user619714

Маленька хитрість; a grep -v grepможе відфільтрувати grepз вашого ps uxaвиводу.
пітер

Відповіді:


6

CentOS 7 використовує systemd для управління демонами системного обслуговування. Те, що ви використовуєте скрипти init, говорить про те, що ви встановили openvpn без використання керування пакетом (openvpn-2.3.2-4.el7 rpm не містить сценаріїв init)

Я думаю, що на даний момент, замість того, щоб намагатися налагоджувати та використовувати скрипти init, було б краще видалити поточну установку, а потім встановити та налаштувати пакет, що підтримується. Щось на зразок

yum install openvpn
systemctl enable openvpn@service.service

systemctl start openvpn@server.service
systemctl status -l openvpn@server.service

Зверніть увагу на використання openvpn @ сервера, це стосується файлу конфігурації / etc / openvpn, який у цьому випадку, як очікується, буде /etc/openvpn/server.conf. Якби, наприклад, ви слухали openvpn через порт 443, ви могли б

systemctl enable openvpn@port443.service

і ти доповнив би це a /etc/openvpn/port443.conf.


Дякую!!! так швидко), але я помітив різну версію сервера vpn: `[root @ msk local] # yum встановити openvpn Завантажені плагіни: найшвидший дзеркал Завантаження швидкості дзеркала з кешованого файлу хоста * база: mirror.logol.ru * додатки: mirror.logol.ru * rpmforge: mirror.awanti.com * оновлення: mirror.yandex.ru Пакет, що відповідає openvpn-2.2.2-1.el6.rf.x86_64 вже встановлений. Перевірка на оновлення. Нічого не робити` Що репо рекомендуєте використовувати?
Психозой

Я не знаю, як у вас el6 об / хв у системі el7. Ви оновили el6 до el7? це справді система el7?
user619714

@lain так, здається , так: [root@msk /]# uname -a Linux host.msk.ru 3.10.0-123.6.3.el7.x86_64 #1 SMP Wed Aug 6 21:12:36 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux. І ні, він був встановлений із зображення. Без оновлень
Психозой

Дякую!!! Я виправив це, повністю встановивши openvpn з нуля. і я виявив, як стара система прийшла в систему.
Психозой

У мене така ж проблема. Я встановив EPEL openvpn. У мене є дійсний (перевірений) файл конфігурації в /etc/openvpn/client.conf. Але намагаючись запустити послугу через systemd незмінно створює "Process: 16437 ExecStart = / usr / sbin / openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd / etc / openvpn / --config % i.conf (код = вийшов, статус = 1 / ПОМИЛКА) ... Помилка параметрів: В [CMD-LINE]: 1: Помилка відкриття конфігураційного файла: client.conf ", навіть якщо команда видається правильною.
qu1j0t3
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.