[지난 포스팅에 이어 온프레미스 서버를 더 뜯어보기]
서버의 전제부터 다시 정의
서버란 무엇일까.
서버 = 외부(또는 다른 시스템)에서
네트워크로 접근 가능한 컴퓨터
정확히 말하면 서버란 네트워크 상에서 식별되고(route), 도달 가능한(endpoint) 컴퓨터다.
이 정의에 따르면 전원이 켜져 있고 OS가 설치돼 있다는 것만으로는 서버가 아니다.
이전 포스팅에서 우리는 이미 전원과 OS 상태를 확인했다.
이제 남은 조건은 하나다.
네트워크
네트워크가 없으면 서버가 아니다
서버가 네트워크에 연결되어 있는지 확인하기 위해
가장 먼저 실행한 명령어는 다음이다.
ip addr
이 명령어는 이 컴퓨터가 어떤 네트워크 인터페이스를 가지고 있고, 어떤 IP 주소를 부여받았는지를 보여준다.
출력 결과 중 서버 관점에서 중요한 부분은 하나다.
wlp2s0
inet 192.168.45.34/24 dynamic
wlp2s0는 무선 랜 인터페이스 이름이다. (원래 서버는 유선으로 연결되어 있었음)
아무튼, 이 서버가 실제로 연결되어 있는 네트워크의 출입구다. 여기에 할당된 IP를 분해해 보자.
192.168.45.34
- RFC 1918에 정의된 사설 IP
- 집이나 사무실 내부 네트워크에서만 사용됨
/24
- 같은 네트워크 대역
- 192.168.45.0 ~ 192.168.45.255
dynamic
- 공유기(DHCP 서버)가 자동으로 IP를 할당
여기서 얻을 수 있는 결론
이 노트북은
- 인터넷에 직접 연결된 서버가 아니다
- 공유기 뒤 사설망(192.168.x.x) 안에 있다
즉,이 상태의 노트북은 외부에서 접근할 수 없는 컴퓨터다.
네트워크 관점에서는 그냥 집 PC와 완전히 동일한 위치에 있다.
- 공인 IP
→ 인터넷 라우팅 테이블에 존재
→ 전 세계 어디서든 도달 가능 - 사설 IP
→ 인터넷 라우팅 대상 아님
→ 내부 네트워크에서만 의미 있음
이를 기억해두자.
그런데…. 나는 SSH로 접속했다
사설망에 있는 컴퓨터는 원래 외부에서 접근할 수 없어야 한다.
그런데 나는 실제로 외부에서 이 서버로 SSH 접속을 했다.
왜 이런 일이 가능했을까?
공유기 = NAT
이 모순을 풀기 위해 먼저 공유기가 어떤 역할을 하는지 보자.
공유기는 단순한 라우터가 아니다. 주소를 변환하는 장치, 즉 NAT(Network Address Translation)다.
정확히는 사설망과 공인망을 나누는 네트워크 경계(boundary) 다.
- 집에는 공인 IP 하나
- 내부에는 사설 IP 여러 개
- 공유기가 주소를 변환해 통신을 중계
구조는 다음과 같다.
[ Internet ]
↓
[ 공인 IP ]
[ 공유기 (NAT) ]
↓
[ 192.168.45.34 ]
하지만 여기까지는 아직 접속이 안 된다.
공유기는 기본적으로 외부에서 시작된 연결을 전부 막는다.
포트포워딩
여기서 등장하는 것이 포트포워딩이다.
포트포워딩은 공유기에 추가하는 예외 규칙이다.
예를 들면 다음과 같다.
[공인 IP]:22 → 192.168.45.34:22
의미는 단순하다.
외부에서 22번 포트로 들어오는 요청은
이 사설 IP 서버로 전달하라.
이 규칙이 추가되는 순간,
- 사설망 안에 있던 컴퓨터가
- 인터넷에서 도달 가능한 대상이 된다

온프레미스 서버로 처음 서비스 구동시킬 때 다들 한번씩 겪게 되는 삽질...
결론
이 노트북은 OS 관점에서는 이미 서버였다.
하지만 네트워크 관점에서는 식별되지도, 도달되지도 않는 존재였다.
사설 IP는 내부 식별자일 뿐, 인터넷 기준의 주소가 아니다.
포트포워딩은 이 컴퓨터에 “외부에서 들어오는 길”을 처음으로 만들어준 설정이었고,
그 순간부터 이 노트북은 네트워크 상의 서버가 되었다.
그럼 여기서 끝일까? 아직 아니다.
하루는 외부에서 이 서버로 접속하려고 했다.
노트북이 아닌, 전혀 다른 네트워크에서였다.
SSH 명령을 치려다 문득 멈췄다.
“어디로 접속하지?”
이 서버의 IP는 192.168.45.34였다.
하지만 이 주소는 인터넷에 존재하지 않는다.
외부에서는 이 서버를 찾을 수 없다. 그 순간 깨달았다.
인터넷에서 이 서버는
다른 주소로 불리고 있다.
인터넷에서 보이는 주소는
- 외부에서 접속할 때 사용하는 유일한 식별자이며
- 포트포워딩 규칙이 매달리는 기준점이고
- 방화벽과 보안 정책이 적용되는 경계이며
- 이 서버가 어디까지 노출돼 있는지를 결정하는 선이다.
이 주소를 모르면 서버에 들어갈 수도 없고,
서버를 지킬 수도 없다. 다음 글에서는 이 서버가 인터넷에서 실제로 어떤 주소로 보였는지,
그리고 그 주소 하나로 무엇이 가능해지고 무엇이 위험해졌는지를 살펴본다.
'DevOps' 카테고리의 다른 글
| 노트북 한 대가 온프레미스 서버가 되기까지 네트워크 2편 – 공인 IP, SSH 보안, VPN (0) | 2026.02.02 |
|---|---|
| 사용중인 리눅스 서버 뜯어보기 (Ubuntu 22.04 LTS) (0) | 2026.02.02 |
| AWS Ec2가 왜 갑자기 연결이 안 되는 거야 (0) | 2024.10.10 |