O primeiro erro é claro; a linha que você comentou dá a permissão que a auditoria diz que está faltando.
A segunda parte é mais interessante, mas o que eu suspeito é que o problema é o contexto de destino do socket que você está modificando (de propriedade de unconfined_u). Como você mudou para nós de dispositivos estáticos, suas interfaces não são mais criadas pelo processo openvpn que irá modificá-las, então não acho que o self: tun_socket seja mais suficiente. Você também pode consertar isso modificando os contextos de seus nós para serem de propriedade de system_u.
Se toda a sua configuração de rede é tratada em um script e tudo funciona no boot, você pode definitivamente usar run_init /etc/init.d/openvpn start
no crontab do root para fazer este trabalho. run_init
garante que o script seja executado no mesmo contexto que teria sido na inicialização.
EDIT: Se você quer que o sensitve falhe e seus daemons possuam pidfiles, você pode usar alguns inotify
magic em / proc / pid para notar quando eles desaparecem e então chamar o script de reinicialização. waitpid
seria melhor, mas só funciona em processos filhos.