네트워크 공부 & 실습/네트워크 이론

[Network] VPN 과 외부 네트워크가 같은 대역의 (공인) IP 를 사용한다면?

강_토발즈 2025. 6. 24. 23:58

 

1. 현재 구축 상황

 

외부에서도 집 안에 있는 기기들에 접속하기 위해서 RaspberryPi 를 VPN 의 Endpoint 로 만들고, 외부 네트워크에 연결한 후, 가상의 네트워크 인터페이스를 통해 집의 사설IP 로 접근하면 미리 설정된 포트 포워딩을 통해 집에 있는 NAS 라던가, 실행 중인 컴퓨터에 접속 할 수 있는 환경을 만들었었다. 

 

2. 문제 발생: 외부 네트워크도 같은 192.168.0.0/24를 사용한다

 

회사, 카페, 스마트폰 핫스팟 등 외부 네트워크들 대부분이 192.168.0.x와 같은 흔한 사설 IP 대역을 사용하고 있다.
VPN 연결 자체는 잘 되지만, 집안의 NAS나 프린터 같은 장비로 접근하려 하면 실패하는 문제가 발생한다.

이는 외부와 내부망이 동일한 IP 대역을 사용하고 있기 때문에 발생하는 문제이다.

 

즉 외부에서도 우리 건물에서 나가면 왼쪽에 화장실이 있어요, 라는 말과 우리집에서도 왼쪽에 화장실이 있어요 라고 같은 방향을 말하지만, 실제로는 다른 화장실을 가르키고 있다는 것이다. 공인 IP 대역이고 자주 사용하는 IP 대역이기 때문에 외부에서 192.168.x.x /24 로 접속한 상태에서 집 내부에 있는 서브넷 192.168.x.x/24 에 접속하려 하면, 같은 IP 이기 때문에 어떤 인터페이스로 패킷이 향할 지 ( 인터넷에 연결된 인터페이스로 갈지, VPN 으로 향하는 인터페이스로 갈지) 햇갈리게 된다.

 

3. 원인 분석: 라우팅 테이블의 충돌

 

운영체제는 목적지 IP에 따라 어느 네트워크 인터페이스로 패킷을 보낼지 결정한다. 그런데 외부망에서도 192.168.0.x, 집 내부망도 192.168.0.x를 사용하고 있다면, 운영체제는 해당 IP를 '내 로컬망에 있는 IP'라고 판단하게 되고 VPN 터널을 거치지 않게 된다.

즉, VPN을 통해 접근해야 할 트래픽이 VPN을 통하지 않고 외부망으로 나가버리는 것이다.

 

즉 VPN 설정이 제대로 되어 있더라도, 인터넷과 연결된 인터페이스로 먼저 연결이 되기 때문에 집안에 있는 기기들에 접속이 우선적으로 되지 않는 문제가 발생하였다.

 

4. 해결 방법

 

4-1. 내부망의 IP 대역을 희귀한 사설 대역으로 변경하기 

 

검색해보니 가장 근본적이고 확실한 해결 방법이다. 즉 집 공유기의 내부 IP 대역을 192.168.0.0/24에서 10.200.200.0/24나 172.31.0.0/16처럼 외부망에서 잘 사용하지 않는 대역으로 변경한다.

그 후 WireGuard 설정에서 AllowedIPs도 내부망 대역에 맞게 조정한다.

  • 장점: 라우팅 충돌 문제를 근본적으로 제거할 수 있다.
  • 단점: 내부 장비들의 IP 주소를 모두 다시 설정해야 할 수 있다.

 

4-2. DNAT/NAT 방식으로 특정 장비에만 접근 허용하기

 

내부망을 변경하지 않고도 외부에서 접근할 수 있는 방법이다.
VPN 클라이언트가 내부망 IP를 직접 보는 것이 아니라, WireGuard 서버가 특정 주소에 대해 내부망으로 포워딩하는 방식이다.

예를 들어, 외부에서 10.0.0.100에 접근하면 이를 내부의 192.168.0.20으로 포워딩하도록 설정한다.

 
  • 장점: 내부망 구조를 바꾸지 않아도 된다.
  • 단점: 접근 가능한 장비를 일일이 지정해야 하며, 포트 포워딩 관리가 번거롭다.

 

4-3.  VPN 클라이언트의 AllowedIPs 설정만 조정하기

 

이렇게 설정하면 VPN을 통해 내부망 트래픽을 보내는 것처럼 보이지만, 라우팅 테이블 충돌이 있는 경우 운영체제가 내부망이 아닌 외부망으로 트래픽을 보내기 때문에 효과가 없다. 라우팅 충돌을 해결하지 않은 상태에서 AllowedIPs만 수정하는 것은 의미가 없다.

 

5. 시도할 방법

 

나는 집 내부망의 IP 대역을 잘 사용하지 않는 IP 대역으로 변경 할 예정이다.  그 이후 WireGuard의 설정 파일에서도 AllowedIPs를 변경된 내부망 대역으로 수정하려고 한다. 이후부터는 외부의 어떤 네트워크에 연결되어 있든, 집안의 NAS나 라즈베리파이에 문제 없이 접근할 수 있게 될 것이다.

 

6. 마무리 

 

VPN을 구성할 때 흔히 놓치기 쉬운 부분이 바로 내부망과 외부망의 IP 대역 충돌이였다. 사설 IP 대역은 자유롭게 구성할 수 있기 때문에, 가능한 한 흔하지 않은 대역을 내부망에 사용하는 것이 가장 효과적인 해결책이라고 생각한다. 오늘은 집에 늦게 들어와서 실제로 IP 대역 변경 작업을 하려면 시간이 많이 걸릴 수도 있으니, 대안과 방법에 대해 정리하였고, 내일이나 주말에 본격적으로 집 내부에 있는 기기들에 대해 IP 대역과 서브넷을 다시 셋팅하도록 하자!