
모든 클라이언트 연결을 양말 포트를 통해 라우팅하도록 openVPN을 구성할 수 있습니까? 즉, 다음과 같이 설정하고 싶습니다.
Client -> openvpn server -> localhost socks5 port -> socks5 port forward -> the internet
machine 1 machine 2 machine 2 machine 3
어떻게 하면 될까요?
지금까지 나는 동일한 작업을 수행했지만 VPN 대신 SSH 터널을 사용했으며 제대로 작동하는 동안 SSH 터널링과 VPN을 수행하지 않는 새 장치를 추가할 예정입니다.
답변1
내 생각엔 당신이 할 수 없을 것 같아요.
SOCKS는 네트워킹(계층 3) 프로토콜이 아니라 나머지 응용 프로그램과 함께 계층 4 프로토콜입니다. OpenVPN(레이어 3에서 작동)을 제외하면 클라이언트가 SOCKS 프록시를 통해 트래픽을 라우팅하려는 경우 일반적으로 SOCKS를 인식해야 합니다. 클라이언트 소프트웨어의 각 부분은 SOCKS 프록시가 어디에 있는지 알아야 하며, 해당 프록시를 통해 SOCKS 연결을 여는 방법 등을 알아야 합니다.
OpenVPN을 그림에 추가한다고 해서 갑자기 최종 클라이언트 애플리케이션이 더 밝아지는 것은 아닙니다. 원격 OpenVPN 서버에는 전달되는 클라이언트 트래픽에 대해 마술처럼 SOCKSification을 수행할 수 있는 기능도 없습니다.
오픈VPN~이다로컬 SOCKS 프록시를 통해 원격 엔드 노드에 대한 터널을 구축할 수 있는 정도까지 SOCKS를 인식하지만, 나는 그것이 한계라고 믿습니다.
답변2
MadHatter의 답변은 정확하지만 이것이 다음과 같은 경우라고 생각됩니다.XY 문제. 트래픽을 라우팅하고 NAT할 수 있는 시스템(읽기: 모든 최신 서버 운영 체제)에서 OpenVPN을 종료하는 경우 클라이언트 연결이 나타난다는 점에서 OpenVPN과 해당 시스템이 네트워크 프록시 역할을 하도록 구성하는 것이 절대적으로 가능합니다. 마치 프록시 시스템에서 오는 것처럼 공용 인터넷에서. 이것이 해결하려는 문제라면 iptables NAT 및 일부 라우팅 조정이 나에게 적합합니다.