내 서버를 통해 특정 포트를 터널링하려고 하는데 어디서부터 시작해야 할지 또는 SSH를 사용하기에 적합한지 잘 모르겠습니다.
나의 현재 상황은 이렇습니다.
- 미디어 서버는 다음 위치에 있습니다.http://example.com:3535(실제 도메인 이름이 아님)
- 이 도메인에 대한 액세스가 네트워크에서 차단되었습니다.
- 런던에 OpenVPN을 실행하는 VPS가 있고 해당 VPS에 연결하면 다음에서 무엇이든 액세스할 수 있습니다.http://example.com
- 나는 사람들이 자신의 시간에 무엇을 하는지 알고 있는 Monkeysplat.com에 액세스할 수 있도록 다른 사람에게 내 VPN을 공개하고 싶지 않습니다. 나는 그것의 일부가되고 싶지 않습니다!
트래픽을 라우팅해야 하는 대체 도메인 이름을 사용할 수 있습니까?example.com내 VPS를 통해? 따라서 내 VPS에 연결되는 것처럼 보이는 네트워크 차단을 우회합니다.
그렇다면 어떻게 해야 할까요? 내 VPS는 Ubuntu 14.04를 실행하고 있습니다(도움이 되는 경우).
답변1
ssh -L 3535:example.com:3535 -p port [email protected]
(*)를 사용하면 localhost의 포트 3535를 통해 example.com:3535에 연결할 수 있습니다. 추가 도메인 이름이 필요하지 않으며 IP 주소만 사용하여 VPS에 연결할 수 있습니다.
(*) 실제 도메인 이름이 없습니다.
답변2
SSH(이미 VPN이 있으므로)나 DNS가 필요하지 않습니다. VPN 엔드포인트가 사용자가 대화하려는 사람을 알고 있으면 도움이 됩니다.
라우팅이 필요합니다. example.com이 1.2.3.4이고 VPN 피어 주소가 192.168.42.1인 경우 다음과 같이 경로 테이블을 변경할 수 있습니다(OpebVPN 구성에 통합 가능).
ip route add 1.2.3.4/32 via 192.168.42.1
답변3
나는 이 기사의 도움으로 터널을 만들었습니다.http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel
다음은 원격 서버 측에 앉아 있는 친구가 서버에서 실행해야 하는 명령입니다.
ssh -fN -R 7000:localhost:22 사용자 이름@yourMachine-ipaddress
따라서 원격 서버에서 컴퓨터로의 SSH 연결 요청은 컴퓨터의 포트 7000에 대한 SSH 연결 요청이 원격 서버의 포트 22로 전달되도록 합니다.
이제 포트 7000에서 귀하의 컴퓨터에서 귀하의 컴퓨터로 SSH 연결 요청을 하십시오:
SSH 사용자 이름@localhost -p 7000