Если группа пуста, вы можете просто удалить ее, а затем запустить команду dpkg
. Поскольку сама команда, очевидно, создает группу, после ее выполнения все должно быть в порядке. Итак, сначала:
sudo delgroup --only-if-empty systemd-journal
А затем
sudo dpkg --configure -a
После ее выполнения убедитесь, что группа была создана заново, и, если нет, создайте ее снова.
Да, конфигурация OpenVPN клиент-сервер выглядит как ваша вторая диаграмма. Туннели находятся между сервером OpenVPN и клиентами OpenVPN. Сервер OpenVPN расшифровывает данные, поступающие из одного туннеля, и шифрует их в другом туннеле.
Вы можете реализовать первую схему с OpenVPN, используя архитектуру peer-to-peer вместо клиент-серверной. Вам нужно настроить VPN-туннель для каждой пары машин в вашей сети: каждый узел имеет n VPN-туннелей, итого n² туннелей (что не очень удобно).
Ваш анализ происходящего в основном верен, за исключением одной части. Открытые/закрытые ключи не используются (напрямую) для шифрования/дешифрования пакетов в/из туннеля. Вместо этого они используются для аутентификации туннеля и создания симметричных сеансовых ключей, используемых для фактического шифрования/дешифрования (и MAC).
Вы правы. В вашей настройке у вас есть набор «точка-точка» VPN между вашими клиентами и сервером. Связь между клиентами должна осуществляться на сервере.
Действительно, по умолчанию клиенты не могут видеть друг друга, если сервер не разрешает это. Из справочной страницы:
--client-to-client
Because the OpenVPN server mode handles multiple clients through
a single tun or tap interface, it is effectively a router. The
--client-to-client flag tells OpenVPN to internally route
client-to-client traffic rather than pushing all client-origi-
nating traffic to the TUN/TAP interface.
When this option is used, each client will "see" the other
clients which are currently connected. Otherwise, each client
will only see the server. Don't use this option if you want to
firewall tunnel traffic using custom, per-client rules.