Конфигурация VPN не работает и нет журналов Guix SD

Я пытаюсь настроить свою систему Guix для автоматического подключения к моему VPN-провайдеру путем запуска клиентской службы OpenVPN, но она не запускается, и я не могу определить, что происходит, потому что нет журналов для записи VPN /var/log/. Я также искал журналы VPN в /var/log/guix-daemon.logно он не показывает ничего, относящегося к запуску службы VPN.

К сожалению, shepherdне предоставляет много информации (которую я смог найти) о конкретном сбое, т.е. verboseвариант или что-нибудь, что я могу использовать, чтобы определить, что идет не так.

Моя конфигурация VPN в конфигурации моей системы такова:

      (openvpn-client-service
 #:config (openvpn-client-configuration
           (proto 'tcp)
           (ca 'disabled)
           (cert 'disabled)
           (key 'disabled)
           (auth-user-pass "/path/to/my/user/credentials")
           (comp-lzo? #f)
           (fast-io? #t)
           (remote (map (lambda (ip)
                          (openvpn-remote-configuration
                           (name ip)
                           (port 443)))
                        '("IP address 1" "IP address 2")))))

Глядя на руководство по информации о VPN, я не вижу, где я ошибаюсь. Любая помощь в любом из двух пунктов ниже очень ценится:

  1. Выясняем, как заставить пастыря писать логи.
  2. Определение того, почему моя конфигурация не работает.

ОБНОВИТЬ:

Я забыл упомянуть, что я думаю, что проблема с журналами может быть связана с ошибкой в ​​​​следующей функции в vpn.scm(но я все еще недостаточно знаком с Guix/Shepherd, чтобы знать, действительно ли это ошибка или нет):

Заметь log-fileобъявлен, но на самом деле не используется - если только он не используется в расширении макроса или что-то в этом роде, чего я не вижу.

      (define (openvpn-shepherd-service role)
  (lambda (config)
    (let* ((config-file (openvpn-config-file role config))
           (pid-file ((match role
                        ('server openvpn-server-configuration-pid-file)
                        ('client openvpn-client-configuration-pid-file))
                      config))
           (openvpn ((match role
                       ('server openvpn-server-configuration-openvpn)
                       ('client openvpn-client-configuration-openvpn))
                     config))
           (log-file (match role
                       ('server "/var/log/openvpn-server.log")
                       ('client "/var/log/openvpn-client.log"))))
      (list (shepherd-service
             (documentation (string-append "Run the OpenVPN "
                                           (match role
                                             ('server "server")
                                             ('client "client"))
                                           " daemon."))
             (provision (match role
                          ('server '(vpn-server))
                          ('client '(vpn-client))))
             (requirement '(networking))
             (start #~(make-forkexec-constructor
                       (list (string-append #$openvpn "/sbin/openvpn")
                             "--writepid" #$pid-file "--config" #$config-file
                             "--daemon")
                       #:pid-file #$pid-file))
             (stop #~(make-kill-destructor)))))))

0 ответов

Другие вопросы по тегам