Jak odrzucić trasy, które są PUSHed przez serwer OpenVPN?


27

Kiedy ustanawiam połączenie klienta OpenVPN przez Internet z naszym korporacyjnym serwerem OpenVPN, przesuwa on kilka tras statycznych. Niestety trasy te przerywają niektóre połączenia w moim lokalnym środowisku sieciowym, ponieważ kolidują z moimi własnymi trasami. Jak mogę odrzucić te trasy?

Odpowiedzi:


30

Czasy się zmieniły, a od 2017 r. (OpenVPN 2.4) jest to możliwe dzięki

pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "

Ten (wymyślony przykład) pozwoli nauczyć się tras rozpoczynających się od 192.168, ignoruje wszystkie 172. trasy, pozwala innym trasom na 1. dowolne, a następnie ignoruje wszystkie inne trasy.

Aby zignorować redirect-gateway, możesz:

pull-filter ignore redirect-gateway

Te polecenia są dodawane do pliku konfiguracyjnego klienta.

Podobnie możesz użyć słowa kluczowego, rejectktóre informuje serwer VPN, że nie został zaakceptowany. Nie jestem pewien, czy to wykorzysta.

Na koniec możesz też filtrować inne opcje konfiguracji. Użyłem tego, aby zignorować oferowane serwery DNS, ponieważ DNS jest dla mnie obsługiwany przez serwer lokalny.


3
Uwaga, działa to tylko w OpenVPN 2.4.x.
ab77

Pracowałem na OpenVPN 2.4.7, używając GUI OpenVPN 11.13.0 w systemie Windows 10, aby rozwiązać konflikt podsieci między dwoma serwerami OpenVPN Access, używając obu domyślnych konfiguracji, których potrzebuję w tym samym czasie. Dziękujemy za dostarczenie ostatniego elementu, aby działał!
flickerfly

24

Po dogłębnym przestudiowaniu openvpninstrukcji znalazłem odpowiedź na moje pytanie:

Jeśli nie chcesz, aby trasy były wykonywane automatycznie, ale są obsługiwane przez własne narzędzie, użyj następującej opcji:

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

Jeśli akceptujesz wszystko, co jest przesyłane przez serwer oprócz tras, użyj następującej opcji:

  --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.

2
fyi można również użyć route-nopullw pliku konfiguracyjnym .opvn: stackoverflow.com/questions/35698215/…
knocte

1

Nie możesz odmówić pojedynczym trasom, jednak jeśli masz dostęp do edycji konfiguracji OpenVPN, możesz skutecznie zatrzymać serwer, który --pushkonfiguruje dowolną konfigurację, usuwając wszystkie wystąpienia clientlub pullz konfiguracji. Zamiast tego musisz dodać, tls-clientjeśli ta dyrektywa nie istnieje jeszcze w twojej konfiguracji ( clientjest tylko synonimem pull, tls-client).

Oczywiście, jeśli to zrobisz, stracisz wszystkie trasy i wszelkie inne konfiguracje, które normalnie byłyby pushdla Ciebie edytowane, więc będziesz musiał ręcznie skonfigurować te ustawienia po uruchomieniu tunelu.


hej Mike, a jak ręcznie skonfigurować trasę do podsieci, którą jestem zainteresowany? (10.0.0._) jakikolwiek sposób, aby to skonfigurować w pliku .opvn?
knocte

trasa 10.0.0.0 255.0.0.0
markhorrocks
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.