OpenVPN em uma instância do AWS quebra a conectividade

1

Resumo : Eu quero configurar um servidor OpenVPN em uma instância do EC2 ( Ubuntu 16.04 ). Falha ao configurar suas interfaces após uma reinicialização.

Detalhes :

  • a imagem é bem instalada, reinicia bem
  • apt update ; apt get openvpn traz o OpenVPN corretamente
  • uma configuração de teste mínima com uma chave compartilhada funciona quando iniciado a partir da linha de comando ( udp/1945 está escutando)

Nesta fase, tudo está bem.

Quando a reinicialização desta máquina falhar, suas verificações de status

Os registros do servidor mostram que a máquina não consegue levantar suas interfaces de rede:

(...)

[    6.624548] cloud-init[519]: Cloud-init v. 0.7.7 running 'init-local' at Mon, 06 Jun 2016 13:36:41 +0000. Up 6.36 seconds.
OK Started Initial cloud-init job (pre-networking).
OK Reached target Network (Pre).
         Starting Raise network interfaces...
OK Started ifup for tun0.
OK Found device /sys/subsystem/net/devices/tun0.
* A start job is running for Raise network interfaces (7s / 5min 1s)

(...)

* A start job is running for Raise network interfaces (30s / 5min 1s)
* A start job is running for Raise network interfaces (30s / 5min 30s)
FAILED Failed to start Raise network interfaces.
See 'systemctl status networking.service' for details.
DEPEND Dependency failed for Initial cloud... job (metadata service crawler).
OK Reached target Network.
         Starting OpenVPN service...
         Starting OpenBSD Secure Shell server...
(...)

Ubuntu 16.04 LTS ip-172-31-16-245 ttyS0

ip-172-31-16-245 login: 

O que é específico na forma como uma instância do EC2 configura suas interfaces?

A mesma configuração em um servidor de hardware funciona sem problemas, então eu suponho que isso deve ser algo específico para o EC2.

    
por WoJ 06.06.2016 / 16:10

1 resposta

4

O arquivo de serviço systemd para o OpenVPN ( /lib/systemd/system/[email protected] ) deve ser atualizado com uma entrada After=network.target network-online.target :

[Unit]
Description=OpenVPN connection to %i
PartOf=openvpn.service
ReloadPropagatedFrom=openvpn.service
Before=systemd-user-sessions.service
After=network.target network-online.target # This is needed
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO

Todo o crédito vai para sc250024 que postou um solution no fórum da AWS.

EDIT: um bug é arquivado com a Canonical. Nenhum progresso até agora.

    
por 06.06.2016 / 17:04