In 18.04, strongswan.service is the legacy systemd unit that controls starter/charon and loads configuration from ipsec.conf. The strongswan-swanctl.service unit instead controls the charon-system daemon and is configured via swanctl.conf, which the unit loads via `swanctl --load-all` automatically. The legacy daemons are not necessary if that's used and will actually conflict as both will try to listen on UDP ports 500/4500. If you configure via ipsec.conf, disable the strongswan-swanctl.service unit (or just uninstall charon-systemd as you won't need it) and use the legacy strongswan.service unit instead.
In 18.04, strongswan.service is the legacy systemd unit that controls starter/charon and loads configuration from ipsec.conf. The strongswan- swanctl. service unit instead controls the charon-system daemon and is configured via swanctl.conf, which the unit loads via `swanctl --load-all` automatically. The legacy daemons are not necessary if that's used and will actually conflict as both will try to listen on UDP ports 500/4500. If you configure via ipsec.conf, disable the strongswan- swanctl. service unit (or just uninstall charon-systemd as you won't need it) and use the legacy strongswan.service unit instead.