Os tempos mudaram e, a partir de 2017 (OpenVPN 2.4), isso é possível com
pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "
Este (exemplo inventado) permitirá que as rotas sejam aprendidas que começam com 192.168, ignoram todas as 172. rotas, permitem outras rotas para 1. qualquer coisa e depois ignoram todas as outras rotas.
Para ignorar, redirect-gateway
você pode:
pull-filter ignore redirect-gateway
Esses comandos são adicionados ao seu arquivo de configuração do cliente.
Da mesma forma, você pode usar a palavra-chave reject
que informa ao servidor VPN que ela não foi aceita. Não tenho certeza do uso disso.
E, finalmente, você pode filtrar outras opções de configuração também. Usei isso para ignorar os servidores DNS oferecidos, porque o DNS é tratado por um servidor local para mim.
Após um extenso estudo do
openvpn
manual, encontrei uma resposta para minha pergunta:Você não deseja que as rotas sejam executadas automaticamente, mas manipuladas por sua própria ferramenta, use a seguinte opção:
Se você estiver aceitando tudo o que é enviado pelo servidor, exceto as rotas, use a seguinte opção:
fonte
route-nopull
no arquivo de configuração .opvn: stackoverflow.com/questions/35698215/…Você não pode recusar rotas individuais, no entanto, se você tem acesso para editar a configuração do OpenVPN, então você pode efetivamente parar o servidor
--push
ing qualquer configuração para você, removendo todas as instânciasclient
oupull
de sua configuração. Você vai precisar de, em vez de adicionartls-client
se esta directiva ainda não existir na sua configuração (client
é apenas um sinônimo parapull
,tls-client
).Obviamente, se você fizer isso, perderá todas as rotas e qualquer outra configuração que normalmente seria
push
editada para você; portanto, você precisará definir manualmente essas configurações após a abertura do seu túnel.fonte