내부망의 호스트에게 인터넷 잠시 공급하기..

이를테면 외부와의 접속은 금지시키는데 VPN 같은 것으로 접속은 허가해주는 네트워크를 사용할 때, 해당 네트워크 내의 호스트가 어쩔 수 없이 인터넷에 접속해야 하는 경우에 대한 팁이다.

이를테면 내부망에 있는 호스트가 외부에 있는 소스를 가져다가 빌드를 해야한다거나 OS 업데이트 같은 걸 시켜야 하는 상황을 예로 들 수 있다.

어떻게 하냐고? 많은 방법이 있을 수 있겠지만, 관리자에게 들키지 않게 하려면 ssh로 리버스 터널을 뚫어주는 방법을 생각해 볼 수 있다.

이를테면 내가 사용하는 호스트에는 인터넷 접속이 가능하다고 하면, tinyproxy 같은 것을 급하게 설치하고 해당 서비스와 연결이 가능한 포트를 ssh로 리버스 터널을 상대방 호스트의 로널 포트로 뚫고 해당 호스트에서는 이 포트를 이용해서 인터넷 프락시를 사용하게 하면 되는 것이다.

리눅스에서는 생각보다 연결이 간단하다. http_proxy, https_proxy라는 환경 변수를 쓰면 브라우저를 쓸 수도 있고 wget 같은 것도 사용할 수 있어서 편리해진다.

물론 이보다 단수가 올라가야 된다고 하면 udp/tcp 터널을 리버스로 뚫고 해당 터널로 socks라든가 ikev 같은 것들로 또 다른 vpn을 뚫어야 되는데, 이건 과정이 좀 더 늘어나야 되고 해당 호스트에 관련 패키지들이 잘 설치되어있어야 하는 문제가 있다. 물론 docker container를 쉽게 가져올 수 있는 환경이 된다면 도전해 볼 수도 있겠지만.