본문 바로가기
설치 및 기술 자료/Linux

[Linux] WireGuard VPN 서버 구성하기

by 주식회사 서버몬 2025. 7. 30.

 

안녕하세요. 주식회사 서버몬 입니다.

금번 포스팅은 WireGuard VPN 서버를 구성하여 네트워크 연결을 암호화하여 중요한 정보의 안전한 전송을 보장하고

정보 도난을 방지 하며 내부 인프라에서 안전하게 접속하는 방법에 대해서 알아 보겠습니다.

 

VPN 이란 무엇인가?

 VPN 이란 가상 사설망으로  네트워크 연결을 암호화하여 중요한 정보의 안전한 전송을 보장하고 정보 도난을 방지합니다.  원격 소비자(VPN 클라이언트)가 VPN 서버에 안전하게 연결할 수 있습니다.

 

WireGuard는 무엇인가?

WireGuard 는 구성이 쉬운 첨단 고급 VPN 프로토콜로, 놀랍도록 빠른 속도와 더 간결한 프로토콜을 제공하며, 최첨단 암호화를 갖춰 IPsec보다 더 안전한 것으로 간주됩니다. WireGuard VPN의 기능은 잘 알려진 OpenVPN보다 성능이 더 좋습니다.

 

WireGuard 구성하기 

WireGuard 는 리눅스 3.10 커널이상에서 사용이 가능합니다.

기본적으로 CLI 만 지원하기에 웹 관리자의 편의를 위해 wg-easy 솔루션을 사용하여 구성하겠습니다.

 

1. 도커 데몬 설치

#Ubuntu / Debian OS #
Docker의 공식 GPG키를 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Ubuntu 22.04 이상 Docker의 공식 GPG키를 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg

sudo apt-get install pt-transport-https ca-certificates curl gnupg-agent software-properties-common
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc


Docker의 공식 apt 저장소를 추가
sudo echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

시스템 패키지 업데이트
sudo apt update

Docker 패키지 설치
sudo apt install -y docker-ce docker-ce-cli containerd.io

Docker 그룹에 운영 계정 추가
sudo usermod -a -G docker $USER

Docker 설치 확인
sudo docker -v
Docker version 25.0.3, build 4debf41

#RedHat Base #
yum 유틸 추가
dnf install -y yum-utils

Docker의 공식 GPG키를 추가
rpm --import https://download.docker.com/linux/rhel/gpg

Docker의 공식 yum 저장소를 추가
yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

구 버전 도커 패키지 삭제
dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Docker 설치
dnf install -y docker-ce docker-ce-cli containerd.io --allowerasing


Docker 그룹에 운영 계정 추가
sudo usermod -a -G docker $USER

Docker 설치 확인
docker -v
Docker version 25.0.3, build 4debf41

systemctl enable --now docker
systemctl restart docker

 

2. wg-easy 구성

#관리자 비밀번호 생성#
htpasswd -nbB admin "사용할비밀번호"

#비밀번호 예시#
admin:$2y$05$8s7fsZ4npWUHphIq2oEL8.rSyBIkGZcVDkbcW./nRm1mvTXECYWLS

vim ws-easy.yaml
volumes:
  etc_wireguard:

services:
  wg-easy:
    environment:
      - LANG=en
      - WG_HOST="외부접속 IP 또는 주소"
      - PASSWORD_HASH="비밀번호 해쉬 ex) $2y$05$8s7fsZ4npWUHphIq2oEL8.rSyBIkGZcVDkbcW./nRm1mvTXECYWLS"
      - PORT=51821
      - WG_PORT=51820
      - WG_CONFIG_PORT=51820

    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    volumes:
      - etc_wireguard:/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 -f wg-easy.yaml up -d

 

3. 포트 전달 구성

네트워크 장비의 포트 전달 규칙을 이용하여 UDP/51820 를 구성 서버측으로 전달 합니다. 

 

 

WireGuard 사용하기

 

웹 브라우저를 통해 http://구성서버IP:51821 에 접속하여  관리자 웹 페이지로 이동합니다.

이때 사용되는 비밀번호는 httpasswd 로 생성한 비밀번호 입니다.

 

신규 클라이언트에 대한 정보를 생성합니다.

 

생성된 사용자의 설정 정보를 QR 코드 생성 합니다.

 

 

사용할 OS 별 클라이언트를 설치하고 설정 값을 입력합니다.

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

 

 

최종 확인

 

설치된 클라이언트에서 해당 프로파일을 활성화 하여 연결을 확인합니다.

 

 

VPN 을통해 내부망 서비스에 안전하게 접근 된것을 확인 했습니다.

 

감사합니다.

 

 

1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트

댓글