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는 VPN의 다른 "끝"인 것으로 알고 있는 ptp 주소입니다.
라우팅 테이블과 관련하여 나는 다음을 이해합니다.
- 기본적으로 모든 트래픽은 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을 시작할 때 자동으로 설정되도록 할 수 있나요?
이를 이해할 수 있도록 귀하의 제안과 지원에 감사드립니다.
한국, 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을 시작할 때 자동으로 설정되도록 할 수 있나요?
응, 위를 봐
제가 설명한 모든 옵션과 더 많은 옵션은 OpenVPN의 온라인 설명서에서 찾을 수 있습니다. https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage