VPN 자체를 통해 모든 트래픽(openvpn 서버 자체까지)을 라우팅하는 방법

VPN 자체를 통해 모든 트래픽(openvpn 서버 자체까지)을 라우팅하는 방법

예를 들어 공용 IP 주소가 101.102.103.104인 서버가 있습니다. 이 서버는 OpenVPN 서버와 공용 IP 네트워크 장치 포트에서 수신 대기하는 기타 여러 가지 항목을 실행하고 있습니다.

내가 하고 싶은 일은 일단 101.102.103.104에 연결하고 VPN을 통해 향후 모든 트래픽을 이 IP로 라우팅하는 것입니다.

예를 들어 curl101.102.103.104:8080이면 VPN 연결을 통해 이동합니다.

나는 push route다음과 같이 server.conf에 a를 추가하려고 시도했습니다.

push "route 101.102.103.104 255.255.255.255"

제외 경로를 추가해 보기도 했습니다.

push "route 101.102.103.104 255.255.255.255 net_gateway"

하지만 그것은 작동하지 않는 것 같았습니다. running은 sudo route -n여전히 ​​내 홈 라우터를 통해 가는 경로를 보여주었습니다.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
101.102.103.104  192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

이 작업을 어떻게 수행할 수 있는지에 대한 의견이 있으십니까? VPN 서버를 통해 트래픽을 VPN 서버 자체로 라우팅하여 일종의 무한 루프를 형성하려고 한다는 사실이 문제일 가능성이 높다고 생각했지만 이는 단지 추측일 뿐입니다.

답변1

명확하게 표시된 라우팅 테이블은 첫 번째 줄에 표시된 것처럼 VPN을 통해 모든 트래픽을 라우팅하지 않습니다. 현재 구성에서는 클라이언트가 LAN에 액세스할 수 있도록 허용하는 것이 전부입니다.

제3자에 대한 모든 트래픽을 포함하여 OpenVPN을 통해 모든 클라이언트 트래픽을 라우팅하는 명령(, VPN 서버의 LAN이 아님)

  push "redirect-gateway def1"

이는 서버 구성 파일에 추가됩니다(변경 사항을 적용하려면 OpenVPN 프로그램을 다시 시작해야 합니다).

또한 브리지된 OpenVPN이 아닌 라우팅된 OpenVPN을 설정했으므로 서버에서 NATting을 활성화해야 합니다.

  iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

이는 인터넷상의 OpenVPN 서버 인터페이스(IP 주소가 101.102.103.104인 것)이 호출됩니다.eth0. 그에 따라 조정하십시오.

구성을 확인하려면 OpenVPN 서버에 대한 연결이 설정된 후 다음 명령을 실행하십시오.

 wget 216.146.39.70:80 -O - -o /dev/null

그러면 명백한 IP 주소가 출력됩니다. 출력에 101.102.103.104가 포함되어 있으면 완료된 것입니다.

관련 정보