두 개의 서브넷에 있는 원격 위치에 서버가 있습니다(즉, 두 개의 네트워크 인터페이스 카드 NIC1과 NIC2가 있습니다. 예를 들어 A는 130.0.0.0에 있고 B는 192.168.1.10에 있습니다). 외부 페이싱 A를 통해 SSH를 통해 연결할 수 있습니다.
내 집 컴퓨터에서 서브넷 B의 리소스에 어떻게 액세스합니까? 예를 들어, 브라우저 인터페이스(192.168.1.0)를 통해 서브넷 B의 스위칭 허브에 액세스하고 싶습니다.
모든 머신은 Ubuntu 18.04를 실행하고 있습니다.
보안상의 이유로 원격 컴퓨터에 VPN 서버를 설정하고 싶지 않습니다. 나는 기존 SSH 터널을 통해 모든 작업을 수행하는 것을 선호합니다.
나는 sshuttle을 사용하기 전에 내 로컬(홈) 컴퓨터에서 SSH를 통해 tun 인터페이스를 생성할 수 있었다는 것을 알고 있습니다.
sshuttle -r user@remoteserver 0.0.0.0/0 -vv --dns
그러나 이렇게 하면 원격 서버의 "일반" 게이트웨이를 통해 HTTP 및 HTTPS 요청이 전달됩니다(즉, 인터넷에 정상적으로 액세스하면 내 IP가 서버의 IP로 나타납니다).
서브넷 B를 통해(브라우저를 통해) 스위칭 허브의 네트워크 인터페이스에 액세스하고 싶습니다.
이를 수행하는 직접적인 방법이 있습니까? 아니면 이 문제를 다른 방식으로 해결해야 합니까?
답변1
나는 실제로 내 독창적인 아이디어를 사용하여 단 한 가지 트릭으로 이를 달성할 수 있었습니다. 로컬 컴퓨터에서 ufw를 활성화해야 했습니다. 그렇지 않으면 셔틀이 잘못될 것입니다.
그래서 내 로컬 컴퓨터에서 다음을 수행했습니다.
sudo ufw enable
그 다음에,
sshuttle -r username@ipForSubnetA 0.0.0.0/0 -vv --dns
실제로 (무섭죠?) 이를 통해 내 로컬 컴퓨터에 있는 서브넷 B의 요소에 액세스할 수 있습니다.
원격 시스템은 완전히 방화벽으로 보호되어 있으며 하나의 포트를 통해 개인 키를 통한 SSH 액세스만 허용합니다.
sshuttle의 불안전한 측면을 알고 있는 사람이 있으면 언제든지 알려주시기 바랍니다. :)