[네트워크] 두 대의 동일 공유기 사용 시 VPN 연결을 통한 서버 접속 불능
빠른 결론 1) 동일한 내부 IP 주소 규칙에 따른 충돌 발생
빠른 결론 2) 하나의 공유기에 대해 내부 IP 주소 규칙을 변경하여 해결 가능
현재 집에서 자그마한 워크스테이션을 사용하고 있다.
이 워크스테이션에는 모니터와 키보드 등을 연결하지 않고
다른 컴퓨터로 SSH 접속을 통해 사용한다.
그래서 이하 내용에서는 이 워크스테이션을 "서버"라고 하겠다.
보통 나는 집에서든 밖에서든 이 서버에 접속하여 주로 작업을 하기 때문에
외부에서 접속할 수 있도록 만들어두었다.
가장 쉬운 방법은 VPN 서버를 지원하는 공유기에 서버를 물리는 것인데,
나 또한 그렇게 사용하고 있다.
(VPN 서버와 VPN 클라이언트는 다른 듯하다.)
문제는 집에서는 동일한 제조사의 공유기를 두 대 사용하고 있다는 점이다.
간단하게 그려보자면 아래 그림과 같다.
두 대의 공유기 모두 ipTIME이며, 모델만 서로 다르다.
거실에 있는 ipTIME 1은 온 가족이 사용하는 주된 공유기이다.
그와 달리 방1에 있는 ipTIME 2는 오직 서버의 원격접속만을 위한 공유기다.
집 밖에서 원격접속을 할 때에는 큰 문제가 없다.
ipTIME 2의 VPN 기능으로 서버에 바로 접속할 수 있으니 아주 편하다.
하지만, 문제는 집 안에서 접속할 때 발생한다.
나는 주로 방2에서 별도의 컴퓨터를 이용해 서버에 원격접속하는데,
ipTIME 1을 통해 인터넷 연결 후, ipTIME 2의 VPN을 사용한다.
전자는 순전히 인터넷 연결만을 위한 기능이고,
후자는 서버 원격접속을 위한 기능이라 할 수 있다.
사실 컴퓨터로 ipTIME 2 공유기에 직접 인터넷 연결을 한다면
(ipTIME 1을 경유하지 않고)
VPN을 거칠 필요 없이 곧바로 서버에 접속할 수 있다.
서버와 컴퓨터는 동일한 네트워크에 존재하게 되는 것이기 때문이다.
하지만 ipTIME 2는 방2에 있는 컴퓨터에서 연결하기엔
연결성이 떨어진다.
멀기도 하고, 방 문이라도 닫으면 끊기기 일쑤다.
그렇다고 확장기를 달자니 그건 좀 낭비인 것 같았다.
그래서 어쩔 수 없이 ipTIME 1에 인터넷 연결 후
ipTIME 2의 VPN 연결, 서버 접속을 거친다.
이렇게 써두면 복잡한데,
사실 ipTIME 1에 인터넷 연결하는 건 컴퓨터 키는 순간 자동으로 된다.
그냥 인터넷 연결이니까.
그리고 클릭 두 번이면 VPN 연결이 되고 ipTIME 2 네트워크에 접속하게 되는 것이라
사실 편리하다.
문제는 그렇게 할 경우 위의 그림처럼 네트워크 충돌이 발생한다.
설명하자면,
ipTIME 1 네트워크에 속해 있는 컴퓨터 1은
ipTIME 2 네트워크에 있는 서버에 접속하기 위해 ipTIME 2의 VPN 기능을 사용하는 순간,
짐작컨대 서버 IP인 192.168.0.200을 제대로 찾지 못 하는 경우가 발생한다.
(사실 이렇게 표현해도 맞는 것인진 모르겠지만, 오류를 무시하고 대충 표현했다.)
이 경우, 인터넷 자체는 잘 되기 때문에 유튜브 시청 등은 원활히 가능하지만
내부망에 있는 서버 접속이 불가능하다.
위의 그림에서는 컴퓨터 2와 서버가 서로 IP 충돌이 일어난 것처럼 묘사했지만,
ipTIME 1의 네트워크에 ipTIME 2에 연결된 서버와 동일한 IP가 없더라도
접속이 불가능하더라.
그래서, 초보적인 방법이지만
나는 ipTIME 2의 내부 IP 주소 규칙을 바꾸기로했다.
ipTIME 공유기들은 내부 IP 주소 규칙의 기본값으로
192.168.0.2 ~ 192.168.0.254가 생성되도록 설정되어 있다.
나는 이를 192.168.100.2 ~ 192.168.100.254가 되도록 바꾼 것이다.
그리고 결론을 말하자면, 이를 통해 접속 불가능했던 문제를 해결했다.
ipTIME 설정 페이지에 들어가
"고급 설정" > "네트워크 관리" > "내부 네트워크 설정" 으로 접근한다.
그러면 "내부 IP주소" 항목이 수정 가능할텐데,
나는 이를 192.168.0.1에서 192.168.100.1로 수정하였다.
이때부터 이 공유기의 설정 페이지 주소는
192.168.100.1로 변경된다.
이후 적용을 한 다음 다시 설정 페이지로 들어온다.
그 후 "DHCP 서버 설정" 에서 "IP주소 대여 범위" 항목을 통해
내부 IP 주소 규칙이 어떻게 되어 있는지 확인할 수 있다.
그리고 VPN 서버 설정과 VPN 접속 계정 설정까지
모두 다시 설정해주었다.
참고로 ipTIME은 VPN 접속 계정 하나 당 하나의 접속만을 지원하는 듯하다.
그래서 두 개 생성해줬다.
동시에 두 개의 기기로 접속할 일이 꽤 있기 때문이다.
하는 김에 DDNS 설정까지 해줬다.
DDNS 설정을 하면
내가 설정한 "호스트이름"을 공유기의 외부 IP 대신 사용할 수 있어 편리하다.
DDNS 접속 상태까지 정상적인 것을 확인했다면
모든 설정은 끝났다.
이제 신나게 일하면 된다.
사실 다른 더 좋고 편리하고 보안성 높은 방법이 있을 것이다.
포트포워딩을 통한 방법도 있을 것 같고...
하지만 나는 이쪽에 대해선 갈통이기 때문에
가장 원초적인 방법으로 문제를 해결해보고자 했다.
서로 다른 공유기를 사용했다면
이런 문제는 맞딱뜨리지 않았을지도 모르겠다.
공유기마다 내부 IP 주소 규칙이 다를 수 있기 때문이다.
경험에 따르면, ASUS 공유기와 ipTIME 공유기는 그 규칙이 다르기 때문에
이런 일이 발생하지 않았다.
그런데 ASUS 공유기는 특정 기종 이외에는 VPN 서버 중 L2TP를 지원하지 않고,
하필이면 내가 갖고 있는 ASUS 공유기는 지원하지 않았다.
그래서 여분으로 갖고 있던 ipTIME 공유기를 하나 꺼내서 사용하게 된 것이고,
이런 상황이 발생한 것이다.
어쨌든 해결했으니 코딩할 시간이다.
- 끝 -