Используя OpenVPN с systemd

Путем удаления /etc/yum Вы удалили всю конфигурацию к конфетке, неудивительной, что она не работает теперь. К счастью содержание того каталога является частью вкусного пакета (по крайней мере, на Fedora, близком родственнике), поэтому просто переустанавливание конфетки с помощью об/мин непосредственно должно зафиксировать это. Узнайте точную версию, которую Вы установили и затем делаете что-то как rpm -Uhv --replacepkgs http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm (это для CentOS 5, наведите справки в том сайте о своей версии если не 5). Если это не работает, хлам вокруг для обновлений в каталогах как http://mirror.centos.org/centos-5/5/updates/x86_64/RPMS/ для файла, названного подобным вышеупомянутому). После того как это работало, сделайте a yum update --skip-broken для удачи. Танец победы впоследствии является дополнительным. Движение к следующей стене и сильно ударение головы не: Это могло бы помочь помнить, что Linux делает точно, как сказали, даже если это не имеет никакого смысла. Вы, как предполагается, обеспечиваете, сказал смысл.

Не использовать --force на об/мин это говорит этому идти вперед, даже если dependecies не доступны, результатом является непоследовательная система (который очень вряд ли будет работать правильно). Не спрашивайте, когда это должно использоваться, это - нейтрализация последнего средства для отчаянных положений. Как выполнение хирургии со швейцарским ножом в парке.

24
08.08.2017, 14:43
7 ответов

Я думаю, что настройка Debian OpenVPN с systemd в настоящее время немного нарушена. Чтобы она работала на моих машинах, мне нужно было:

  1. Создать /etc/systemd/system/openvpn@.service.d (каталог) и поместить в него новый файл с этим:

    [Unit].
    Требуется=сеть.сервис
    After=networking.service
    Я вызвал свой файл local-after-ifup.conf. Он должен заканчиваться на .conf. (Это бит, который в настоящее время немного сломан.)
  2. Создайте файл в /etc/tmpfiles.d (я назвал свой local-openvpn.conf) с содержимым:

    # Аргумент Age Argument типа Path Mode UID GID.
    d /run/openvpn 0755 корневой корень -
    Это ошибка Debian 741938 (исправлено в 2.3.3-1).
  3. Создайте сим-ссылку в multi-user.target.want (самым простым способом является systemctl enable openvpn@CONF_NAME.service) Например, если у вас есть /etc/openvpn/foo.conf, вы используете openvpn@foo.service.

  4. Если у вас также есть скрипт SysV init в systemd, отключите его. Это ошибка Debian 700888 (исправлена в 2.3.3-1).

ПРИМЕЧАНИЕ: 2.3.3-1 или более поздняя версия ещё не находится в тестировании, хотя и находится в нестабильном состоянии.

.
13
27.01.2020, 19:41

Этот тип файла модуля является инстанцированным сервисом - более подробная информация доступна здесь

Ниже приведен файл модуля для openvpn на CentOS 7:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

и он находится в виде /usr/lib/systemd/system/openvpn@service. В файле %i заменяется строкой после @ в имени модуля.

Так как конфигурационный файл находится по адресу /etc/openvpn/myopenvpn. conf тогда служба начинается с:

systemctl start openvpn@myopenvpn.service
7
27.01.2020, 19:41

Создайте служебный файл, включив openvpn@.service.

Например, если файл конфигурации имеет значение /etc/openvpn/client.conf, то имя функции openvpn@client.service.

Из Архивной Вики

5
27.01.2020, 19:41

Не можете ли вы просто щелкнуть значок, который запустит xkbcomp или xmodmap , который загрузит макет?

Edit:

Я считаю, что это не такая простая задача. Необходимо подготовить метод развертывания файлов в местах, доступ к которым может получить только пользователь root. Возможно, лучше всего подготовить пакет системного программного обеспечения (например, .deb или .rpm). Я бы использовал марионетку; -) Это добавит раскладку клавиатуры xkb, тогда вам придется добавить новую раскладку в конфигурацию пользователей. Я не могу вам помочь с KDE, но в gnome есть простой инструмент, чтобы получить/установить настройки dconf - gnome setting store. Это gsettings и может устанавливать xkb источники ввода.

Пример:

считанные источники ввода:

`gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'pl'), ('xkb', 'us')]

установите новые раскладки клавиатуры:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'pl'),('xkb','us'),('xkb', 'de+mac')]"`

, и в «systray» пользователь сможет выбрать один из следующих вариантов: enter image description here

Но только для одного пользователя. Для выполнения таких настроек по всей системе необходимо подготовиться схема в /etc/dconf/db/localxkb :

[org/gnome/desktop/input-sources]
sources="[('xkb', 'pl'),('xkb','us'),('xkb', 'de+mac')]"

Один пакет программного обеспечения, который будет установлен пользователем с помощью программного обеспечения управления.

-121--56714-

Псевдоним можно использовать в .bashrc .
Но это работает только от интерактивных оболочек, а не в сценариях оболочек.

Для работы со сценариями можно создать symlink в каталоге, находящемся в PATH , например, в каталоге $ HOME/bin . (Если он отсутствует, он может автоматически включаться в PATH при следующем входе в систему.)

cd ~/bin
ln -s /path/to/M-script.sh M
-121--199968-

Надлежащим решением было бы использование systemd-ask-password Password Agents », которое обеспечивает системную компоновку, путь для передачи паролей/паролей службам.

Для этого потребуется OpenVPN 2.3.0 или более поздней версии .

0
27.01.2020, 19:41

На новой установке Jessie_8.0.0 я сделал:

  1. копируют старое /etc/openvpn/cluster.conf (плюс *.key и *.crt) файлы от хрипящего
  2. непрокомментированный AUTOSTART = «весь» в /etc/default/openvpn - я думаю, что это не имело никакого эффекта
  3. /lib/systemd/system-generators/openvpn-generator группа
  4. openvpn@cluster.service

перезапуска systemctl Теперь, тоннель произошел - я буду видеть то, что произойдет после перезагрузки, но я не могу перезагрузить в этот момент

0
27.01.2020, 19:41
  1. Поместите все файлы openvpn * .conf в / etc / openvpn / .
  2. Отредактируйте / etc / default / openvpn . Раскомментируйте это:

     AUTOSTART = "all" 
     
  3. Запустите systemctl daemon-reload .

  4. Запустить сервис openvpn start .
8
27.01.2020, 19:41

Мне повезло больше, если я использовал опцию openvpn's --auth-user-passдля ссылки на файл конфигурации вместо использования скрипта expect, т.е.:

ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.conf --auth-user-pass /etc/openvpn/credentials.txt

где /etc/openvpn/credentials.txt— это текстовый файл, в котором мое имя пользователя находится в строке 1, а мой пароль — в строке 2.

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

0
02.02.2021, 00:58

Теги

Похожие вопросы