OpenVPN - 라우팅 테이블 이해 + VPN을 통해 특정 IP로만 트래픽을 라우팅하는 방법

OpenVPN - 라우팅 테이블 이해 + VPN을 통해 특정 IP로만 트래픽을 라우팅하는 방법

OpenVPN을 사용하여 VPN 서비스에 연결하고 있는데 모든 것이 잘 작동하고 있습니다. 연결되면 다음 규칙이 자동으로 설정됩니다.

root@linux:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:1B:01:AC:FB  
          inet addr:192.168.1.201  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46867 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29742 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37977382 (36.2 MiB)  TX bytes:5098121 (4.8 MiB)
          Interrupt:16 

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.7.126  P-t-P:10.7.7.125  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:23284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:31366374 (29.9 MiB)  TX bytes:308591 (301.3 KiB)

root@linux:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.7.7.125      128.0.0.0       UG    0      0        0 tun0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
5.120.121.114   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
10.7.7.1        10.7.7.125      255.255.255.255 UGH   0      0        0 tun0
10.7.7.125      *               255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.7.7.125      128.0.0.0       UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

이것이 나의 이해이다:

  • 내 로컬 IP 주소는 192.168.1.201입니다.
  • 로컬 게이트웨이는 191.168.1.1입니다.
  • 5.120.121.114는 VPN 공용 네트워크 IP입니다.
  • tun0은 VPN 터널이고 내 컴퓨터의 주소는 10.7.7.126입니다.
  • 10.7.7.125는 ptp 주소이며, VPN의 다른 "끝"인 것으로 알고 있습니다.

라우팅 테이블에 대한 나의 이해는 다음과 같습니다.

  • 기본적으로 모든 트래픽은 tun0 인터페이스에서 10.7.7.125를 통해 전송됩니다(그러나 이 마스크를 사용하는 이유는 무엇입니까?)
  • 10.7.7.1 tun0을 통해 액세스 가능
  • VPN의 공용 IP는 eth0을 통해 액세스할 수 있습니다.

VPN이 활성화되지 않았을 때의 기본 게이트웨이인 두 번째 기본 게이트웨이를 그냥 우회하는 것인지 이해가 되지 않습니다.

10.7.7.1 어떻습니까? VPN 게이트웨이인 것 같습니다...

대상이 128.0.0.0인 이유는 무엇입니까?

OpenVPN은 이러한 모든 규칙을 자동으로 생성합니다. 그러나 그것들은 무엇에 기초하고 있습니까?

VPN의 서버측은 제어할 수 없고 클라이언트 구성만 제어할 수 있습니다.

이제 내가 원한다면:

  • 216.58.213.174에 대한 모든 트래픽이 VPN tun0을 통과하도록 강제하고 다른 모든 트래픽은 eth0을 통과하도록 하시겠습니까?
  • VPN을 시작할 때 자동으로 VPN을 설정할 수 있나요?

이를 이해할 수 있도록 귀하의 조언과 지원에 감사드립니다.

한국, dk

편집하다:

root@linux:~# ip route list
0.0.0.0/1 via 10.7.7.125 dev tun0 
default via 192.168.1.1 dev eth0 
5.152.210.249 via 192.168.1.1 dev eth0 
10.7.7.1 via 10.7.7.125 dev tun0 
10.7.7.125 dev tun0  src 10.7.7.126 
128.0.0.0/1 via 10.7.7.125 dev tun0 
192.168.1.0/24 dev eth0  src 192.168.1.201 

답변1

VPN이 활성화되지 않았을 때의 기본 게이트웨이인 두 번째 기본 게이트웨이를 그냥 우회하는 것인지 이해가 되지 않습니다.

이는 OpenVPN이 기본 게이트웨이를 유지하면서 터널을 통해 트래픽을 라우팅하는 데 사용하는 트릭입니다. 0.0.0.0/1 및 128.0.0.0/1 경로는 모든 주소와 일치하면서도 더 구체적이기 때문에 0.0.0.0/0 경로보다 우선합니다. 자세한 내용은 OpenVPN 문서에서 "def1"을 검색하세요.

10.7.7.1 어떻습니까? VPN 게이트웨이인 것 같습니다...

아마도

OpenVPN은 이러한 모든 규칙을 자동으로 생성합니다. 그러나 그것들은 무엇에 기초하고 있습니까?

서버에서 푸시될 수 있습니다. 클라이언트가 시작될 때 구성 파일과 함께 클라이언트의 출력을 제공할 수 있다면 더 많은 정보를 제공할 수 있습니다.

VPN의 서버측은 제어할 수 없고 클라이언트 구성만 제어할 수 있습니다.

예, 하지만 클라이언트는 고도로 구성 가능하므로 서버가 클라이언트에 수행하기를 원하는 거의 모든 작업을 재정의할 수 있습니다. 하지만 연결하려면 공급자의 기본 요구 사항을 충족해야 합니다. 또한 공급자를 화나게 하지 않도록 공급자의 이용 약관을 확인해야 합니다.

이제 내가 원한다면:

216.58.213.174에 대한 모든 트래픽이 VPN tun0을 통과하도록 강제하고 다른 모든 트래픽은 eth0을 통과하도록 하시겠습니까?

예, 구성에 "경로 216.58.213.174 255.255.255.255 10.7.7.125"를 포함하세요. 그러면 원하는 경로가 설정됩니다. 구성에서 "redirect-gateway" 옵션을 제거하여 다른 경로를 유지할 수 있어야 합니다.

VPN을 시작할 때 자동으로 VPN을 설정할 수 있나요?

예, 위를 참조하세요

제가 설명한 모든 옵션과 더 많은 옵션은 OpenVPN의 온라인 설명서에서 찾을 수 있습니다. https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage

관련 정보