Limitando processos específicos à conexão OpenVPN?

Limitando processos específicos à conexão OpenVPN?

Existe alguma maneira de forçar um processo específico a usar uma conexão OpenVPN, mas permitir que todos os outros processos em um sistema usem a conexão de rede padrão no Ubuntu Linux?

Tenho um aplicativo Python personalizado em execução na AWS que estou tentando integrar a um serviço PostgreSQL externo. O serviço fornece uma VPN configurada com OpenVPN para que eu possa acessar o servidor PostgreSQL.

Pelo que entendi, por padrão, o OpenVPN força todo o tráfego de rede no servidor a usar a VPN, que normalmente é exatamente o que você deseja. Porém, como meu aplicativo está rodando na AWS, que gerencia sua própria segurança e tem roteamento de rede otimizado, se eu configurar meu servidor para usar essa VPN para tudo, estarei forçando todo o meu tráfego para essa conexão externa, o que irá ficar lento tudo fora do ar e provavelmente resultaria em dores de cabeça de acesso à segurança, pois o acesso do servidor aos meus outros recursos da AWS pareceria vir de fora da minha conta.

Qual é a maneira mais simples de criar uma interface de rede VPN, mas evitando que todos, exceto um processo específico, a utilizem?

Responder1

Você pode usar o route-nopullcomando na configuração do cliente para evitar a criação de entradas de rota. Depois disso, você pode adicionar manualmente aquele que aponta para o servidor de banco de dados. Dessa forma, qualquer coisa que acesse o servidor de banco de dados usará VPN e todo o resto usará as rotas usadas antes.

Por exemplo, supondo que o servidor de banco de dados esteja em 192.168.111.111 (atrás do servidor VPN), você precisa incluir isto na configuração do seu cliente:

route-nopull
route 192.168.111.111 255.255.255.255

informação relacionada