SSH 역방향 터널을 통해 VPN에 연결할 수 있나요?

SSH 역방향 터널을 통해 VPN에 연결할 수 있나요?

Linux를 실행하는 두 대의 컴퓨터가 있다고 가정해 보겠습니다.

머신 A는 VPN 서버를 실행 중이며 NAT 뒤에 있습니다.

머신 B는 VPN 클라이언트입니다.

머신 A는 머신 A에서 실행 중인 VPN에 다시 연결되는 머신 B의 포트를 노출하여 자체에서 머신 B로의 역방향 SSH 터널을 생성합니다.

SSH 역방향 터널을 통해 머신 B에서 머신 A의 VPN 서버에 어떻게 연결할 수 있나요?

답변1

SSH 터널은 TCP에서만 작동하므로 연결에 TCP를 사용하도록 VPN 서버를 구성해야 합니다. 머신 A에 연결하는 것처럼 머신 B의 터널 끝점을 연결합니다. 즉, 클라이언트 구성에서 IP 주소와 대상 포트를 바꾸면 됩니다.

답변2

다음과 같은 설정이 있다고 가정해 보겠습니다.

  • 머신 B에는 공용 도메인 machine.b가 있으며 포트 22는 머신 B의 SSH 서버에 액세스합니다.
  • 머신 A의 로컬 IP 주소는 192.168.10.2이고 해당 VPN 서버는 포트 1194를 사용합니다.

역방향 SSH 연결을 통해 VPN 연결을 설정하는 단계:

  • 머신 A는 다음 명령을 사용하여 머신 B에 대한 SSH 연결을 설정합니다. ssh -i "/path/to/key/file" -R 2500:192.168.10.2:1194[이메일 보호됨]-p 22
  • 머신 B는 127.0.0.1:2500에 대한 VPN 연결을 설정합니다.

결과적으로 Machine B에서 localhost(127.0.0.1)의 포트 2500으로의 연결은 SSH 터널을 통해 리디렉션되고 Machine A의 VPN 서버인 Machine A의 192.168.10.20의 포트 1194로 이동합니다.

회사의 VPN이 유지 관리되는 경우를 대비하여 저는 항상 이 설정을 DIY VPN 서버로 사용합니다.

관련 정보