Você pode usar scripts de gerenciamento de rede padrão da sua distribuição. Eu resolvi esse problema no CentOS 6.6 e o truque era usar um nome de interface diferente de tap0. O problema é que os scripts assumem que as interfaces tap * são ativadas durante a inicialização e isso impede que os scripts de hotplug configurem a interface openvpn. Então,
No arquivo /etc/openvpn/client.conf, escreva:
dev priv0
dev-type tap
em vez de:
dev tap0
Em seguida, crie o arquivo de configuração / etc / sysconfig / network-scripts / ifcfg-priv0
DEVICE=priv0
BOOTPROTO=dhcp
ONBOOT=no
PERSISTENT_DHCLIENT=1
HOTPLUG=yes
E você está feito! O script /etc/sysconfig/network-scripts/net.hotplug irá chamar "ifup priv0" depois que o serviço openvpn tiver criado a interface priv0. O problema, entretanto, é que as concessões de dhcp não são liberadas quando o serviço openvpn é desativado. Isso porque a interface já é removida quando o script net.hotplug é informado, portanto o cliente dhcp não pode passar nenhum dado através do túnel. Isso pode ser corrigido adicionando-se o script pre-down, como "ifdown priv0", à configuração openvpn. Eu tinha o selinux em execução e não me preocupei em treinar novas regras para permitir o script ifdown de chamada do processo openvpn.