Como recusar rotas que são PUSHed pelo servidor OpenVPN?

25

Quando eu estabeleço uma conexão de cliente OpenVPN pela Internet para o nosso servidor corporativo OpenVPN, ele empurra várias rotas estáticas. Infelizmente, essas rotas quebram alguma conectividade em meu ambiente de rede local, pois elas colidem com minhas próprias rotas. Como posso recusar essas rotas?

    
por mbaitoff 12.07.2011 / 04:38

3 respostas

22

Após um extenso estudo do manual openvpn , encontrei uma resposta para minha pergunta:

Eu não quero que as rotas sejam executadas automaticamente, mas para serem gerenciadas por sua própria ferramenta, use a seguinte opção:

   --route-noexec
          Don't add or remove routes automatically.  Instead pass routes to --route-up script using environmental variables.

Se você está aceitando tudo o que é enviado pelo servidor, exceto as rotas, use a seguinte opção:

  --route-nopull
          When used with --client or --pull, accept options pushed by server EXCEPT for routes.
          When used on the client, this option effectively bars the server from adding routes to the client's routing table, however note that
          this option still allows the server to set the TCP/IP properties of the client's TUN/TAP interface.
    
por 24.07.2011 / 10:30
19

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, ignora todas as rotas de 172., permite outras rotas para 1. qualquer coisa e então ignora todas as outras rotas.

Para ignorar redirect-gateway , você pode:

pull-filter ignore redirect-gateway

Estes 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 ele não foi aceito. Não tenho certeza sobre o uso disso.

E, finalmente, você também pode filtrar outras opções de configuração. Eu usei isso para ignorar os servidores DNS que estão sendo oferecidos, porque o DNS é manipulado por um servidor local para mim.

    
por 16.01.2017 / 05:34
1

Você não pode recusar rotas individuais; no entanto, se você tiver acesso para editar sua configuração do OpenVPN, poderá efetivamente interromper o servidor --push ing qualquer configuração removendo todas as instâncias de client ou pull de sua rota. configuração. Você precisará adicionar tls-client se esta diretiva ainda não existir na sua configuração ( client é apenas um sinônimo para pull , tls-client ).

É claro que, se você fizer isso, perderá todas as rotas e qualquer outra configuração que normalmente seria push ed para você, portanto, será necessário definir manualmente essas configurações depois que seu túnel aparecer.

    
por 22.07.2011 / 17:12