[Linux] On-Prem 서버 외부 SSH 접속을 위한 Port Forwarding

[Linux] On-Prem 서버 외부 SSH 접속을 위한 Port Forwarding


Linux PortFowarding SSH

Intro

  • 저는 개인적인 용도로 집에 남는 노트북을 이용해서 서버를 한 대 운영하고 있습니다.
  • Ubuntu 20.04 기반의 서버인데요. 게임 서버랑 웹 서버를 돌리고 있습니다.
  • 다음은 서버실의 모습입니다.

  • 이 서버에는 보통 제 맥에서 SSH로 붙어서 작업해왔습니다.
  • 집 밖에서 작업을 한 적이 없기 때문에 내부 IP로 접속했습니다.
  • 밖에서도 접속이 가능하게 하려면, 몇 가지 설정을 해야합니다.

Port Forwarding

  • 포트 포워딩은 간단히 말해, 외부 IP : 포트 번호내부 IP : 포트번호를 연결해주는 기능입니다.
    • 하지 않으면 외부 IP가 접속을 시도할 때 내부에 어떤 프로세스 (서비스) 또는 기기와 연결할 지 알 수 없기 때문에 접근이 불가능합니다.

  • 집에서 흔히 쓰는 공유기는 외부에서 트래픽을 받아 공유기에 물려있는 모든 기기들에 사설 네트워크를 구축해주는 것입니다.
    • 사설 네트워크이므로 공인 IP 대역 대신 사설 IP 대역(흔히 192.168.X.X)을 사용합니다.
  • 저희 집에서는 컴퓨터를 사용하는 방의 벽에서 나오는 랜 포트에 무선 공유기가 연결되어 있고, 이 공유기에 서버를 물려놨습니다.
  • 그럼 이 벽면 랜 포트는 어디에 연결되어있냐?
    • 바로 집 전체에 트래픽을 분배하는 홈 게이트웨이에 연결되어 있습니다.

  • 이런 식의 구조인 것입니다.
  • 그러므로 저는 포트 포워딩을 두 번, 즉 컴퓨터 방 공유기와 홈 게이트웨이에서 포트 포워딩을 해야 합니다.

  • ipTIME 공유기의 설정 페이지는 보통 192.168.0.1에 접속하면 나옵니다.
  • 고급 설정 - 포트포워딩 설정에서 포트 포워딩을 할 수 있습니다.
  • 여기서 SSH를 위한 포트를 포워딩해줍니다.
    • 192.168.0.9 주소는 공유기에 유선으로 연결된 서버이고, 3은 무선으로 연결된 기기입니다.
    • 기본 SSH 포트는 22지만, 저는 서버에서 SSH를 다른 포트에서 리스닝하도록 설정해놨으므로, 그 포트를 포워딩합니다.
  • 맨 위에는 마인크래프트 서버의 기본 포트인 25565를 설정해놓았습니다.

  • 이제 홈 게이트웨이 설정 페이지에서 포트 포워딩을 하면 됩니다.
    • 그럼 여기에는 어떻게 접속할 수 있을까요?

  • 기본 설정 - 인터넷 설정 정보에 들어갑니다.
  • 외부 IP 주소를 메모해 놓습니다.
    • 상위 공유기에서 해당 주소로 포트 포워딩을 할 것입니다.
  • 기본 게이트웨이 주소로 접근하면 설정 페이지로 진입하니다.

  • IP 주소에는 메모해 놓은 ipTIME의 외부 IP 주소를 넣고, 포트도 적어주면 완료됩니다.

SSH 접속 테스트

© 2024 Seungwon Bae 🇰🇷