베지밀

[VPN 프로젝트] 윈도우-리눅스 간 WireGuard VPN 구성 본문

대외활동/KISIA

[VPN 프로젝트] 윈도우-리눅스 간 WireGuard VPN 구성

vegimil 2024. 11. 14. 10:34

앞서 리눅스 간 WireGuard 구성을 간단히 진행해보았다.

 

 

 

이번에는 스위치/VPN 서버/PC 간 WireGuard 터널링 구성을 진행해보도록 하자.

 

VPN 서버는 각각 Windows 11 WireGuard, Ubuntu 24.04 를 이용하여 구축하였고

각 보라색 선은 서로 다른 LAN을 의미한다.

(참고로 스위치에서는 VLAN을 통해 LAN을 구분하였다.

 

PC1에 FTP 서버를 구성한 뒤, VPN 터널을 통해 데이터를 주고 받는 과정을 확인해보자.

 

 

기본 설정

스위치

각 스위치에는 Vlan을 할당하고 라우팅 설정을 통해 통신이 가능하도록 구성했다.

 

각 PC 방화벽 해제

 

테스트를 위해 ICMP 트래픽에 대해 임시로 허용해주도록 하자.

(기본적으로 Windows에서는 icmp 트래픽이 차단되어있다.)

 

마찬가지로 FTP 서버와 관련한 설정도 모두 허용해준다.

 

Windows WireGuard 서버 구축

https://www.wireguard.com/install/

 

Installation - WireGuard

Installation Windows [7, 8.1, 10, 11, 2008R2, 2012R2, 2016, 2019, 2022] Download Windows Installer Browse MSIs Download from App Store $ sudo apt install wireguard Android [play store & direct apk file] Download from Play Store Download APK File Download f

www.wireguard.com

위 링크에서 WireGuard 프로그램을 설치할 수 있다.

 

 

* 스크린샷이 유실되어 새로 설정한 값으로 대체했습니다. (공개키, 포트번호가 다를 수 있음)

이전 포스팅과 동일한 형태로 설정파일을 작성하면 된다.

윈도우의 경우, key gen이 자동으로 이루어지므로 wireguard 프로그램에서 생성된 public key 및 private key를 이용하면 된다.

 

 

리눅스는 이전 포스팅과 동일하게 설정

 

 

 

통신 결과 확인

Windows에서 트래픽 확인

Wireshark로 vpn 트래픽을 확인해보자.

 

우선 vpn 활성 전

PC1, PC2의 로컬 ip를 사용하여 통신하고 있다.

특히 ftp 패킷의 경우, 유저의 이름, 패스워드, 실행시킨 명령어가 모두 노출되고 있음을 확인했다.

패킷이 암호화되지 않기 때문에 외부에 주요 정보가 노출될 수 있다.

 

 

vpn 활성 후

WireGuard라는 프로토콜을 통해 vpn 서버의 ip로 출발지/목적지가 변경된 것을 확인했다.

패킷의 data를 확인해봐도 사용자의 입력값이 노출되지 않는다.

 

 

리눅스에서 트래픽 확인

tcpdump 명령어를 통해 살펴보자.

 

vpn 활성 전

마찬가지로 유저 이름, 패스워드, 실행시킨 명령어가 모두 노출되고 있다.

패킷이 암호화되지 않아 외부에 주요 정보가 노출되고 있다.

 

 

vpn 활성 후

앞서 설정한 대로 56789 udp 포트를 통해 wireguard 패킷이 송수신되고 있다. 마찬가지로 출발지/목적지 ip는 서버의 ip로 변경된 것을 확인했다.

사용자의 입력값 역시 노출되지 않는다.

 

 

 

이번 테스트를 통해 양 단말이 VPN 암호화 프로토콜로 안전하게 송수신하는 과정을 알아보았다.

Wireshark와 tcpdump를 통해 패킷을 분석한 결과, 기존에는 패스워드/송수신지 정보를 확인할 수 있었던 반면 vpn 적용 후 wireguard 프로토콜로 캡슐화되어 udp 전송되는 것을 확인했다.

 

 

 

 

최근 WireGuard에서 키 교환 과정을 TLS로 변경한 형태의 방화벽 기능들이 제공되고 있다. 이를 통해 설정이 간편하고 빠르며 안정적인 VPN 서비스 제공이 가능할 것으로 기대한다.