지난 실습을 통해 openVPN 프로토콜을 통해, NAS의 VPN 서버 연결에 성공하고, IP 까지 부여 받았다. NAS와 같은 네트워크인 데스크탑에서도 연결이 되었고,
LTE 휴대전화로 테더링 한 노트북으로(NAS와 다른 네트워크) 에서도 집안에 있는 NAS의 VPN 서버에 연결하여, VPN 서버의 IP를 부여 받았다.
데스크탑 연결의 경우 데스크탑의 게이트웨이 주소가 클라이언트의 IP 로 확인되고, 노트북 역시 테더링 된 공인아이피 주소가 클라이언트 IP로 인식되는 것을 확인했다. 이것은 생각해보면 이해가 되는 상황이다.
하지만 노트북에서 VPN server 를 통해 패킷을 주고 받았다면, IP 주소를 확인해봤을 때, 테더링 했을 시의 IP 주소가 아니라, 집에 있는 라우터의 공인IP 주소 혹은 VPN 서버의 IP gateway 주소로 표시가 되어야 맞는게 아닐까 라고 생각했다.
공부한 바를 바탕으로 생각해보면 그렇다.
그러니, VPN을 통한 접속이면 해외에서 접속한 것으로 인식하여,(해외에 있는 VPN 서버로 접속했다는 가정하에) 대한민국에서 볼 수 없거나 접속할 수 없는 서버에도 접근할 수 있는 것 아닌가?
하지만 현재 상황을 보면, VPN 서버를 통해 IP 주소를 할당받고, 인터넷 연결까지 성공하였으나, 이 인터넷 연결은 아이피 주소가 변경되지 않았으므로, 기존 연결(ex 테더링) 을 통한 패킷 수신이라고 볼 수 있고, 반쪽짜리 성공인 상태라고 할 수 있다. 이에 게이트웨이 주소를 변경하는 방법을 시도해봤다.
1. gateway 변경
데스크탑에서 시도해봤다. 즉 내 데스크탑이 특정 인터넷 서버(ex 네이버)와 패킷을 주고받기 위해서는 기본 게이트웨이인 라우터 주소를 알고 있어야 한다. 밖으로 나가려면 집 현관문 위치를 알아야 하는 것 처럼. 이제 이 현관문 위치를 삭제해주고, vpn 서버의 주소가 게이트웨이 주소라고 알려준다.
이렇게 하면 데스크탑은 특정 인터넷 서버와 통신하려면, 컴퓨터 - 라우터 - NAS - VPN 서버에 먼저 도달하고, VPN 서버가 인터넷 서버와 통신을 하고 받은 패킷을 vpn 서버 - NAS - 라우터 - 컴퓨터 순으로 보내줄 것으로 예상한다.
먼저 VPN 연결을 활성화 해 준다
이후 윈도우 파워쉘을 관리자 권한으로 실행해주고, 게이트웨이 설정을 지워준다(현관문을 날린다)
route delete 0.0.0.0
이 명령어가 실행되는 순간 인터넷 접속이 불가능 해졌다.
이제 새로운 현관문인 VPN 서버의 주소를 알려준다.
route add 0.0.0.0 mask 0.0.0.0 10.8.0.1
혹시 게이트웨이 주소를 NAS의 주소로도 해보고, VPN 서버의 네트워크 주소로도 변경해봤지만, 인터넷 연결은 되지 않았다. 절차적으로 생각해보면 현재 데스크탑과 VPN 서버는 연결이 되어있지만, VPN 서버를 통해 외부 인터넷 서버와 제대로 통신을 하고 있는지 확인이 필요하다고 생각했다.
ssh 프로토콜을 통해 nas 에 접속하여 vpn 서버가 제대로 동작하고 있고, 외부 ip 와 패킷을 주고 받는지 확인했다.
왜 VPN 서버와 NAS 그리고 외부 서버가 통신을 하고 있는 것 같은데, 왜 패킷을 내 클라이언트(데스크탑, 랩탑) 으로 보내지 못하고 있는지 해결하지 못하였다.
2. .ovpn 설정파일에서 기본 게이트웨에 설정 추가
push "route 192.168.0.1 255.255.255.0" # NAS가 위치한 로컬 네트워크
push "redirect-gateway def1" # 모든 트래픽을 VPN을 통해 전달
push "dhcp-option DNS 8.8.8.8" # DNS 서버 설정 (구글 DNS)
VPN 접속시 클라이언트의 게이트웨이가 아니라, VPN 서버의 게이트웨이 설정으로 적용되도록 설정파일에 명시하여 적용해주었다. 이 경우에는 VPN 접속시 인터넷 접속이 안되는 문제가 해결? 되는 듯 했지만, VPN 서버를 통한 인터넷 연결이 아니라, 로컬연결을 통한 패킷 수신이 이루어지고 있음을 라우팅 테이블을 통해 확인하였다.
3. 연결의 미완성
과정상 연결이 된 부분을 확인하였고, 여러 설정들을 수정하면서 시도해봤지만 VPN 서버가 제대로 외부로 부터 패킷을 송수신 하는지, 또 만약 송수신을 하고 있다면 VPN 서버를 통해 받은 패킷을 클라이언트에게 전달하는 것에 문제가 있는 것 같다.
이 부분은 좀 더 공부한 후에 해결방법을 모색해보도록 해야겠다.
'네트워크 공부 & 실습 > 네트워크 실습' 카테고리의 다른 글
[Network] OpenVPN 트러블슈팅 기록 -1 (0) | 2025.04.03 |
---|---|
[Network] VPN 클라이언트 간 통신 테스트 - 1 (Synology NAS DS218j) (0) | 2025.04.02 |
[Network] VPN 동작 흐름 분석 및 설정포인트 확인, 연결시도 -1 (0) | 2025.03.20 |
[Network] VPN server 구축 및 연결하기 (2) | 2025.03.19 |
[Network] 홈 네트워크 구조 변경 및 네트워크 프린터 셋팅 (1) | 2025.03.04 |