Infra/환경설정

[Docker] VPN 서버구축하기 WireGuard

ckm7907 2024. 10. 15. 13:27

WireGuard vs OpenVPN 차이점

특징 OpenVPN WireGuard
속도 준수하지만 WireGuard보다는 느림 매우 빠르며 OpenVPN 능가하는 속도를 자랑
전송 계층 UDP와 TCP를 모두 지원, TCP 443 포트로 구성 가능
검열이 심한 국가에서도 우회 가능
UDP만 지원, TCP 443 포트 사용 불가
검열 우회 어려움
호환성 더 많은 기기 및 운영 체제와 호환됨
거의 모든 VPN이 사용
ChaCha20Poly1305 암호화 알고리즘 사용
전용 하드웨어 지원 제한적, 점차 개선됨
키 교환 TLS/SSL Curve25519
암호화 AES와 같은 안정적인 암호화와 최신 암호화(ChaCha20Poly1305) 모두 지원
높은 유연성
최신 암호화 방식 사용으로 보안성 높음
다만 OpenVPN 방식만큼 오랜 검증 기간 거치지 않음
유연성과 복잡성 암호화 옵션이 다양해 커스터마이징 가능
복잡성 증가
암호화 옵션이 적어 사용이 쉬움
상대적으로 단순
모바일 네트워크 네트워크 전환 시 문제 발생 가능
모바일 네트워크에서의 지원은 안정적
모바일 네트워크에서 훨씬 안정적
네트워크 변경을 원활하게 처리하며 IKEv2의 대안 가능성
개인정보 보호 사용자 개인정보 저장하지 않음 서버가 재부팅될 때까지 사용자 IP 주소 저장 필요

 

사용한 이유

현재 인터넷 환경이 홈서버로 ssh 연결이 막혀있기에, ssh 연결이 가능한 서버를 vpn으로 가용하여 연결하고자 했다.

WireGuard를 선택한 이유는 OpenVPN보다 속도가 빠르고, 경량화된 구조 덕분에 효율적이기 때문이다.

 

docker-compose.yml 파일 작성

version: "3"
services:
  wg-easy:
    environment:
      #  Required:
      # Change this to your host's public address
      - WG_HOST=[domain 주소]

      # Optional:
      # - PASSWORD_HASH=암호화 한 걸로
      # - WG_PORT=51820
      # - WG_DEFAULT_ADDRESS=10.8.0.x
      # - WG_DEFAULT_DNS=1.1.1.1
      # - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
      
    image: weejewel/wg-easy
    container_name: wg-easy
    network_mode: bridge
    volumes:
      - .:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
> docker-compose up -d

 

[domain 주소]:51821/ 접속 해서 설정

여기서 오른쪽 버튼 중 다운로드 icon을 클릭한다.

그러면 test.conf 를 저장하는데, 이걸 WireGuard Client에 추가하면 된다.

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

추가하고 Activate를 누르면 VPN이 연결된다!!

 

# 출처

https://rublon.com/blog/openvpn-vs-wireguard-whats-the-difference/

 

OpenVPN vs. WireGuard: What’s the Difference? – Rublon

OpenVPN vs. WireGuard: Which VPN protocol is better for your online security and privacy? Learn the differences between these two protocols.

rublon.com

https://velog.io/@eriol72/WireGuard-%EB%A5%BC-GUI%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EC%9E%90-docker-wg-easy