인터넷을 통해 회사 OpenVPN 서버에 대한 OpenVPN 클라이언트 연결을 설정하면 여러 고정 경로가 푸시됩니다. 불행하게도 이 경로는 내 경로와 충돌하기 때문에 내 로컬 네트워크 환경에서 일부 연결이 끊어졌습니다. 이 경로를 어떻게 거부할 수 있나요?
답변1
시간이 흘러 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 서버를 무시하는 데 이것을 사용합니다.
답변2
매뉴얼을 광범위하게 조사한 후 openvpn
내 질문에 대한 답을 찾았습니다.
라우팅을 자동화하지 않고 대신 자체 도구로 처리하려면 다음 옵션을 사용하십시오.
--경로-noexec
경로를 자동으로 추가하거나 삭제하지 마세요. 대신
--route-up
환경 변수를 사용하여 스크립트에 경로를 전달하세요.
경로를 제외하고 서버에서 푸시한 모든 항목을 수락하려면 다음 옵션을 사용하세요.
--경로-노풀
--client
또는 와 함께 사용하면--pull
서버에서 푸시한 옵션을 허용합니다(라우팅 제외).클라이언트에서 이 옵션을 사용하면 서버가 클라이언트의 라우팅 테이블에 경로를 추가하는 것을 효과적으로 비활성화할 수 있지만, 이 옵션을 사용하면 여전히 서버가 클라이언트 TUN/TAP 인터페이스의 TCP/IP 속성을 설정할 수 있습니다.
답변3
--push
개별 경로를 거부할 수는 없지만 OpenVPN 구성을 편집할 수 있는 권한이 있는 경우 구성의 모든 인스턴스를 삭제하거나 구성에서 제거하여 서버가 구성에 액세스하는 것을 효과적으로 중지할 수 있습니다 . 이 지시문이 구성에 아직 존재하지 않는 경우(단순한 ,의 동의어) 이를 추가해야 합니다.client
pull
tls-client
client
pull
tls-client
물론 이렇게 하면 push
일반적으로 제공되는 모든 라우팅과 기타 구성이 손실되므로 터널이 시작된 후 이러한 설정을 수동으로 구성해야 합니다.