Mac OS X Leopard에서 VPN을 통해 네트워크 트래픽을 선택적으로 라우팅하는 방법은 무엇입니까?


96

집에서 회사 네트워크 (VPN을 통해)에 연결되어있을 때 모든 네트워크 트래픽을 VPN으로 전송하고 싶지 않습니다. 예를 들어, 집에서 일할 때 모든 파일을 집의 Time Capsule에 백업하고 회사의 내부 네트워크에 계속 액세스 할 수 있기를 원합니다.

Leopard의 내장 VPN 클라이언트를 사용하고 있습니다. "VPN 연결을 통해 모든 트래픽 보내기"를 선택 해제했습니다. 그렇게하면 컬이나 웹 브라우저를 통해 회사의 내부 웹 사이트에 액세스 할 수 없게됩니다 (내부 IP는 여전히 도달 가능하지만). VPN을 통해 라우팅 할 IP 또는 도메인 집합을 선택적으로 선택하고 나머지는 내 네트워크에 유지할 수 있다면 이상적입니다. Leopard의 내장 VPN 클라이언트로이 기능을 사용할 수 있습니까? 소프트웨어 권장 사항이 있으면 그 내용도 듣고 싶습니다.


2
첫 번째 솔루션은 PPP VPN에서만 작동합니다. 다음 솔루션은 Cisco VPN (및 Cisco에만 해당되는 다른 유형)에서 작동합니다. superuser.com/questions/91191/…
dr jimbob

답변:


84

다음 내용으로 / etc / ppp / ip-up 파일을 작성하십시오 .

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

<SUBNET>서브넷으로 교체 할 때 VPN을 통해 라우팅하려고합니다 (예 : 192.168.0.0/16)

루트로 실행하십시오.

chmod 0755 /etc/ppp/ip-up

이 파일은 VPN에 연결할 때마다 실행됩니다.

스크립트에 제공된 매개 변수 :

  • $1다음 VPN 인터페이스 (예 ppp0)
  • $2: 알 수 없음, 0제 경우에는
  • $3: VPN 서버의 IP
  • $4: VPN 게이트웨이 주소
  • $5: LAN 연결을위한 일반 (비 VPN) 게이트웨이

1
Aleksei의 팁이 나를 위해 일했습니다. 첫 번째 줄 (#! / bin / sh)이 무엇을하고 있는지 궁금합니다. 주석 처리되지 않았습니까? 나는 간단한 더 나은 :-) 감사합니다 저희 회사에서 사용하기 위해이 문제를 설명하고 오전부터 나는, 에드가이 요청하고
에드가 Wieringa

1
@ EdgarWieringa : 답변을 의견으로 변환했습니다. 더 나은 희망! :)
studiohack

6
@ 에드가-아니오. 첫 줄은 특별하다. en.wikipedia.org/wiki/Shebang_(Unix)
James Moore

6
10.7 / Lion에서는 다음과 같이 운이 좋았습니다. / sbin / route add 172.16.0.0/16 -interface $ 1 ip-up을 얻는 인수는 다음과 같습니다. $ 1 = VPN 인터페이스, 예 : 'ppp0'$ 2 = '0'(not $ 3 = VPN IP $ 4 = VPN 공개 게이트웨이 IP 주소 $ 5 = 이더넷 / 와이파이의 기본 기본 게이트웨이
Gabe Martin-Dempesy

4
둘 이상의 VPN 연결을 구성하면 어떻게됩니까? /etc/ppp/ip-up그에 따라 경로를 추가 할 수 있도록 어떻게 구별 합니까? 친숙한 VPN 이름이 6 번째 인수 ( ipparam) 로 전달 됩니까?
Kal

11

나는 비슷한 일을하고 싶었다. VPN을 연결 한 다음 해당 VPN을 통해 추가 네트워크를 라우팅하십시오. 나는 다음과 같은 Applescript 비트로 끝났습니다.

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

당신은 변경해야 "Work", VPN 연결의 이름으로 192.168.1.1게이트웨이 주소 및 172.16.0.0/16네트워크의 주소로하는 당신은 경로에 할 수 있습니다. 다른 주소로 최종 라인을 반복하여 추가 네트워크를 추가 할 수 있습니다.


1
(이 IP 주소에 대해 궁금해하는 사람들을위한 미성년자 : 질문자가 이야기 한 것처럼 172.16.0.0/16은 10.xxx 및 192.168.xx와 같은 개인 주소 공간이므로 실제로 VPN의 일부입니다. 외부 웹 사이트 등은 아닙니다.)
Arjan

1
그래서 192.168.1.1당신은 VPN에 라우터 또는 LAN에있는 라우터는? 그리고 기본 경로를 LAN으로 다시 설정할 필요가 없습니까?
Jack M.

8

MacOS의 네트워크 환경 설정 에는 숨겨진 기능 이 있습니다 . 인터페이스를 정렬 할 수 있습니다 .

시스템 환경 설정-> 네트워크-> gear왼쪽 하단을 클릭하십시오 ->Set service Order...

<code> 서비스 오더 설정 ... </ code> VPN 주문

네트워크 인터페이스 를 원하는 순서대로 정렬 하는 것이 중요합니다 . LAN 이외의 모든 데이터를 VPN으로 보내려면 VPN 인터페이스를 맨 위에 놓습니다. 이렇게 정렬

  1. VPN
  2. 이더넷
  3. 공항

이건 아니야:

  1. 공항
  2. 이더넷
  3. VPN

이런 식으로 다음 설정을 확인할 필요가 없습니다 Session Options.

VPN 연결을 통해 모든 트래픽 보내기

L2TP VPNconnection 연결 테스트


나는이 질문에 응답 생각하지 않는 영업 이익 공항 (무선 연결) 이더넷을 통해 타임 머신을 백업 및 회사 네트워크보기로 연결됩니다하지 않는 한
조쉬 뉴먼

1
ppp 시작 트릭을 사용했지만 VPN 연결을 무선 연결 아래로 옮길 때까지 작동하지 않았습니다. 이것은 정답입니다.
Arosboro

정말 주요 답변이 될 것입니다! 대단히 감사합니다. 알아내는 것은 불가능합니다!
Andre Soares

1
L2TP IPSec VPN에서는 작동하지만 Cisco IPSec VPN에서는 작동하지 않습니다. "서비스 주문 설정"대화 상자에서 Cisco IPSec VPN을 사용할 수 없음
goofology

1

내가 찾을 수 있는지 온라인으로 살펴 보았는데, 이해할 수있는 한 컴퓨터를 평소처럼 사용할 수 있고 내부 회사 웹 사이트에 연결할 수있는 것처럼 보이기 때문에 맞춤 라우팅 테이블을 설정해야합니다.

이 링크는 분명히 10.4에만 적용되지만 명령 행 항목은 여전히 ​​작동 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.