답변:
시간이 흐르고 2017 년 (OpenVPN 2.4)부터는 가능합니다.
pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "
이 예제는 192.168로 시작하는 경로를 학습하고 172 개의 경로를 모두 무시하고 다른 경로를 1.anything으로 허용 한 다음 다른 모든 경로를 무시합니다.
무시하려면 redirect-gateway
다음을 수행하십시오.
pull-filter ignore redirect-gateway
이 명령은 클라이언트 구성 파일에 추가됩니다.
마찬가지로 reject
VPN 서버가 수락되지 않았 음을 알려주 는 키워드 를 사용할 수 있습니다 . 이것을 사용하는지 확실하지 않습니다.
마지막으로 다른 구성 옵션도 필터링 할 수 있습니다. DNS는 로컬 서버에서 처리하기 때문에 제공되는 DNS 서버를 무시하기 위해 이것을 사용했습니다.
openvpn
매뉴얼을 광범위하게 연구 한 결과, 질문에 대한 답을 찾았습니다.
경로가 자동으로 실행되는 것을 원하지 않지만 자신의 도구로 처리하려면 다음 옵션을 사용하십시오.
--route-noexec Don't add or remove routes automatically. Instead pass routes to --route-up script using environmental variables.
경로를 제외하고 서버에서 푸시 한 모든 내용을 수락하는 경우 다음 옵션을 사용하십시오.
--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.
route-nopull
.opvn 구성 파일 에서도 사용할 수 있습니다 . stackoverflow.com/questions/35698215/…
당신은 당신이 당신이 효과적으로 서버 중지 할 수 있습니다 당신의 OpenVPN 구성을 편집 할 수 있습니다 그러나 경우, 각각의 경로를 거부 할 수 없습니다 --push
의 모든 인스턴스를 제거하여 모든 구성을 보내고을 client
하거나 pull
구성에서합니다. 추가 대신해야합니다 tls-client
이 지시문은 사용자 구성에 이미 존재하지 않는 경우 ( client
단지 동의어입니다 pull
, tls-client
).
물론 push
그렇게하면 일반적으로 제공되는 모든 경로와 기타 구성이 손실 되므로 터널이 시작된 후 이러한 설정을 수동으로 구성해야합니다.