【Windows】지정한 수신처의 통신만 VPN 경유로 한다

Windows에서 VPN 접속하면, 디폴트에서는 모든 목적지가 VPN 경유가 된다.
그렇다면 상대방의 대역을 먹고 사용법에 따라 보안적으로 좋지 않기 때문에 업무상 필요한 트래픽만 VPN 경유가 되도록 라우팅을 재검토하기로 했다.

절차



모든 대상에서 VPN을 사용하지 않도록 설정



일단, 외향의 통신 모두, VPN에 흘리지 않게 한다.
이것은 Windows GUI 화면에서 설정할 수 있다.

네트워크 연결 열기



파일 이름으로 실행에서 ncpa.cpl를 입력합니다.

해당 VPN 연결을 선택하고 오른쪽 클릭에서 속성을 엽니다.

TCP/IP 속성 열기





고급 설정 열기





원격 네트워크의 GW를 사용하지 않기



디폴트의 ​​설정에서는, VPN 접속중의 외향 통신은 모두 리모트 네트워크의 게이트웨이를 경유하게 되어 있으므로, 이것을 무효로 한다.
  • 원격 네트워크에서 기본 게이트웨이 사용 확인란 선택 취소
  • [클래스 기반 루트 추가 사용 안 함]을 선택합니다.



  • 클래스 기반 라우트 추가 비활성화를 선택하지 않으면 VPN과 동일한 네트워크 주소로 향하는 모든 통신이 VPN으로 흐릅니다.
    로컬 네트워크와 원격 네트워크에서 네트워크 주소 (예 : 192.168.1.0/24)가 같으면 이것이 편리하지 않으므로 확인하십시오.

    VPN을 통한 대상 설정



    VPN 경유로 통신시키고 싶은 목적지를 개별적으로 추가해 간다.
    커맨드 베이스로 설정하게 되지만, 이것에는 2가지의 방법이 있으므로 양쪽 소개하자.

    여기서는 로컬 네트워크 주소가 192.168.11.0/24이고 원격 네트워크 주소가 192.168.1.0/24에 있다고 가정합니다.

    PowerShell에서 추가하는 방법



    Windows8 이후의 OS에서는 Add-VpnConnectionRoute cmdlet을 사용할 수 있다.
    VPN 연결시에 루트를 자동으로 추가하고, VPN 연결이 끊어지면 루트를 자동으로 삭제해주기 때문에 한 번만 실행하면 된다.

    [예 1] 목적지 네트워크 추가



    사내에 많은 서버에 액세스해야하며 로컬 네트워크 주소를 덮지 않으면이 쓰기가 쉽고 좋습니다.
    Add-VpnConnectionRoute "VPN接続名" -DestinationPrefix 10.0.0.0/8
    Add-VpnConnectionRoute "VPN接続名" -DestinationPrefix 192.168.1.0/24
    

    [예 2] 대상 호스트별로 추가



    로컬의 네트워크 주소와 쓰이는 경우나, 접속원 IP 주소를 제한하고 있는 인터넷의 서버에 액세스 할 목적으로 VPN을 경유하고 있는 경우는, 호스트 마다 추가한다.
    Add-VpnConnectionRoute "VPN接続名" -DestinationPrefix 13.114.178.6/32
    

    ※ 예시의 13.114.178.6은 qiita.com의 주소이다.

    PowerShell에서는 CIDR 표기로 쓸 수 있다.
    VPN 연결 이름은 GUI에서 확인하는 것 외에도 Get-VpnConnection cmdlet에서 확인할 수 있습니다.
    설정된 루트 정보는 (Get-VpnConnection "VPN接続名").Routes 에서 볼 수 있다.
    삭제는 Remove-VpnConnectionRoute cmdlet에서 행한다. (PowerShell cmdlet에서는 Add에 대해서는 Remove라는 암시적 규칙이 있으므로 기억하자)

    명령 프롬프트에서 추가하는 방법



    지원이 종료되고 있는 Windows7 이전의 OS에서는, 옛날부터 친숙한 route add 커멘드를 사용한다.-p 옵션이 영구 지정이 되므로 한 번만 실행하면 되지만, PowerShell 쓰는 방법과 비교하면 조금 번거롭다.
    앞에서 설명한 PowerShell과 같은 것을 route add로 기술하면 다음과 같다.
    route -p add 10.0.0.0 mask 255.0.0.0 (VPNサーバのアドレス) metric 1 if (インターフェース番号)
    route -p add 192.168.1.0 mask 255.255.255.0 (VPNサーバのアドレス) metric 1 if (インターフェース番号)
    route -p add 13.114.178.6 mask 255.255.255.255 (VPNサーバのアドレス) metric 1 if (インターフェース番号)
    

    VPN 가상 NIC의 인터페이스 번호는 route print에서 확인하십시오.
    삭제는 route delete에서 행한다.

    좋은 웹페이지 즐겨찾기