Estou tentando executar o cliente OpenVPN em um contêiner Docker com parâmetros --up/--down
para executar um aplicativo. A conexão está sendo estabelecida, mas todo o tráfego do aplicativo ainda está passando pelo gateway padrão.
O servidor OpenVPN está empurrando "redirecionamento-gateway def1" quando a conexão é estabelecida, mas o cliente OpenVPN não está criando rotas adicionais para sobrescrever o gateway padrão.
Eu tentei fazer com que meu aplicativo discasse pelo dispositivo de encapsulamento, e isso está expirando. Isso estava funcionando quando tentei na máquina host.
Então, em vez disso, tentei estabelecer as rotas manualmente (1 rota estática para o servidor openvpn e duas rotas 0.0.0.0/1, 128.0.0.0/1 para todos os outros tráfegos, assim como estava criando quando tentei na máquina host ), e reverteu a aplicação para seguir as rotas padrão, e foi o tempo limite ainda.
Quando eu uso o mesmo arquivo de configuração ovpn para conectar a partir da máquina host, as rotas adicionais são estabelecidas. Todo o tráfego está passando pelo túnel vpn sem nenhum tempo limite.
Eu tentei as mesmas configurações do docker no fedora: latest, ubuntu: latest, alpine: latest.
Como posso fazer o túnel funcionar dentro do Docker?
Atualização:
Eu percebi que as rotas ausentes são porque eu estava executando o openvpn com --up/--down
parameters. Depois de removê-los e executar o openvpn como um daemon e meu programa como o processo de bloqueio, as rotas estão sendo criadas, mas as solicitações ainda atingem o tempo limite. Eu testei a mesma coisa em uma VM e ela funciona lá.