Ubuntu에 WireGuard VPN + 웹 UI 설치하는 방법
공개 안내: 이 글에는 제휴 링크가 포함되어 있습니다. 이 링크를 통해 구매하시면 추가 비용 없이 제가 수수료를 받을 수 있습니다.
커피숍 WiFi에 연결하거나 공용 네트워크를 통해 인터넷에 접속할 때, 당신의 데이터는 당신이 통제하지 않는 인프라를 통해 이동합니다. 당신과 방문하는 웹사이트 사이에 위치한 누구든 트래픽을 가로챌 수 있으며, 집에서 사용하는 네트워크에서도 인터넷 서비스 제공업체는 당신이 방문하는 모든 사이트를 볼 수 있습니다.
VPN은 장치와 신뢰할 수 있는 서버 사이에 암호화된 터널을 만들어 이 문제를 해결합니다. 사용자의 트래픽이 인터넷으로 바로 가지 않고 먼저 이 안전한 터널을 통해 VPN 서버로 전달되며, VPN 서버는 그 후 트래픽을 최종 목적지로 전달합니다. 따라서 네트워크를 감시하는 사람은 단지 VPN 서버로 가는 암호화된 데이터만 볼 수 있고, 그 이상은 볼 수 없습니다.
WireGuard는 이 작업을 놀라울 정도로 잘 수행하는 현대적인 VPN 프로토콜입니다. 수십만 줄의 코드가 필요한 기존의 VPN 기술과 달리, WireGuard는 약 4,000줄 정도의 코드로 동일한 작업을 수행할 수 있어 버그가 적고, 성능이 뛰어나며, 보안 감사도 용이합니다.
하지만 문제는 이렇습니다: WireGuard 자체는 간단하지만, 여러 VPN 클라이언트를 관리하고, 구성 파일을 생성하며, 누가 접근 권한을 가지고 있는지 추적하는 것은 커맨드 라인만으로는 번거로울 수 있습니다. 그래서 웹 인터페이스가 유용합니다.
이 가이드에서는 브라우저를 통해 새로운 장치를 추가하고, 모바일 클라이언트를 위한 QR 코드를 생성하며, 연결 상태를 모니터링하는 등 구성 파일을 직접 건드리지 않고도 모든 것을 관리할 수 있는 친숙한 웹 인터페이스를 갖춘 완전한 WireGuard VPN 서버를 설정할 것입니다.
필요한 것
시작하기 전에, 다음을 준비했는지 확인하세요:
- 공인 IP 주소를 가진 리눅스 서버(DigitalOcean, Linode 또는 AWS 같은 제공업체의 VPS가 완벽하게 작동합니다).
- 이 서버에 대한 루트 접근 권한 또는 sudo 권한.
- SSH에 대한 기본적인 이해(서버에 연결하는 방법을 알아야 합니다).
이 가이드는 사용자가 Ubuntu 22.04 또는 Ubuntu 24.04를 실행하고 있다고 가정하지만, 단계는 Debian 및 기타 배포판에서도 약간의 조정으로 비슷하게 적용됩니다.
아키텍처 이해하기
명령어를 입력하기 전에 우리가 무엇을 만들고 있는지 잠시 이해해 봅시다.
WireGuard 설정은 피어로 구성되어 있으며, 피어는 암호화된 터널을 통해 서로 통신할 수 있는 장치입니다.
우리의 경우에는, 우리는 다음과 같이 가질 것입니다:
- 서버: 모든 장치가 연결되는 중심 허브 역할을 하는 공인 IP 주소를 가진 리눅스 머신입니다.
- 클라이언트: 노트북, 휴대폰, 태블릿 또는 보호하고 싶은 다른 장치 등, 각 클라이언트는 고유한 암호화 키 쌍과 설정을 받습니다.
- 웹 인터페이스: 서버에서 실행되며 모든 것을 관리할 수 있는 대시보드를 제공하는 가벼운 웹 애플리케이션(WireGuard-UI를 사용할 예정입니다).
클라이언트가 연결을 원할 때, 클라이언트는 서버와 직접 암호화된 터널을 설정한 후, 서버는 클라이언트의 인터넷 트래픽을 라우팅하거나 구성 방법에 따라 서버의 로컬 네트워크 자원에 접근을 허용합니다.
1단계: 우분투 서버에 WireGuard 설치
먼저, 다음 명령어를 사용하여 시스템이 최신 상태인지 확인하고 필요한 도구가 설치되어 있는지 확인합시다. 이 명령어는 패키지 목록을 업데이트하고 오래된 소프트웨어를 업그레이드합니다.
sudo apt update && sudo apt upgrade -y
다음으로, WireGuard 자체를 설치하세요:
sudo apt install wireguard -y
WireGuard는 Linux 커널(커널 5.6 이상)에 내장되어 있기 때문에, 이 명령어는 주로 WireGuard 인터페이스를 구성하고 관리하는 데 필요한 사용자 공간 도구를 설치합니다.
2단계: 우분투에서 IP 포워딩 활성화
기본적으로 Ubuntu는 네트워크 인터페이스 간 패킷을 전달하지 않습니다. 이는 보안 기능으로, 서버가 명시적으로 지시하지 않는 한 라우터 역할을 하지 않도록 합니다. 하지만 VPN 서버의 경우, 이 기능이 필요합니다.
휴대폰이 VPN에 연결되어 웹사이트를 방문하려고 할 때, 서버는 해당 요청을 WireGuard 인터페이스에서 공용 네트워크 인터페이스로 전달한 다음, 응답을 다시 전달해야 합니다.
IP 포워딩을 영구적으로 활성화하려면 시스템 구성 파일을 수정해야 합니다:
sudo nano /etc/sysctl.conf
다음 줄을 찾아보세요(처음에 #로 주석 처리되어 있을 수 있습니다):
#net.ipv4.ip_forward=1
주석을 해제하려면 #를 제거하거나, 해당 줄이 없다면 추가하세요:
net.ipv4.ip_forward=1
파일을 저장한 다음 재부팅 없이 변경 사항을 적용하세요:
sudo sysctl -p
3단계: WireGuard용 방화벽 및 라우팅 구성
귀하의 VPN 서버는 WireGuard가 사용하는 포트(기본값은 UDP 포트 51820)에서 들어오는 연결을 허용해야 합니다. 또한 VPN 인터페이스와 공용 네트워크 인터페이스 간의 트래픽을 올바르게 라우팅해야 합니다.
먼저, 공용 네트워크 인터페이스를 확인해 봅시다:
ip route | grep default
다음과 같은 출력이 표시됩니다:
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.100 metric 100
여기서 인터페이스 이름은 `eth0`이지만, 시스템에 따라 다를 수 있으며 `ens3`, `enp0s3` 또는 이와 유사한 이름일 수 있습니다.
이제 ufw 방화벽(Ubuntu의 기본 방화벽)을 설정해 보겠습니다:
# Allow SSH (if you haven't already)
sudo ufw allow 22/tcp
# Allow WireGuard
sudo ufw allow 51820/udp
# Allow the web interface (we'll use port 5000)
sudo ufw allow 5000/tcp
다음으로, 서버가 VPN 트래픽을 인터넷으로 전달할 때 자체 서버에서 나오는 것처럼 가장하도록 지시하는 NAT (네트워크 주소 변환) 규칙을 추가해야 합니다.
sudo nano /etc/ufw/before.rules
파일 상단, 헤더 주석 바로 뒤, *filter 라인 전에 이 줄들을 추가하고 eth0를 실제 인터페이스 이름으로 바꾸세요:
# NAT table rules for WireGuard
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
COMMIT
이것이 의미하는 바는 다음과 같습니다:
*nat: 우리는 NAT 테이블을 사용하고 있습니다.-s 10.0.0.0/24: 우리 VPN 네트워크에서 들어오는 패킷용(10.0.0.0/24는 VPN 클라이언트에게 할당할 서브넷입니다).-o eth0: eth0 인터페이스를 통해 나가는 중.-j MASQUERADE: 출발지 IP를 서버의 공용 IP로 재작성합니다.
저장하고 종료한 다음, UFW를 활성화하고 다시 로드합니다:
sudo ufw enable
sudo ufw reload
4단계: Ubuntu 서버에 WireGuard-UI 설치
이제 흥미로운 부분이 나옵니다. Go로 작성된 깔끔하고 단순한 웹 애플리케이션인 WireGuard-UI를 사용하여 웹 인터페이스를 설정하는 것입니다.
먼저, WireGuard-UI용 디렉토리를 생성합니다:
sudo mkdir -p /opt/wireguard-ui
cd /opt/wireguard-ui
다음으로 GitHub 릴리스 페이지에서 WireGuard-UI의 최신 버전을 다운로드하세요. 하지만 작성 시점에서는 wget 명령어로 최신 안정 버전을 받을 수 있습니다:
sudo wget https://github.com/ngoduykhanh/wireguard-ui/releases/download/v0.6.2/wireguard-ui-v0.6.2-linux-amd64.tar.gz
다운로드한 후, 압축을 풀고 실행 가능하도록 만드세요:
sudo tar -xzf wireguard-ui-v0.6.2-linux-amd64.tar.gz
sudo chmod +x wireguard-ui
인터페이스를 시작하기 전에, 부팅 시 자동으로 실행되도록 systemd 서비스를 만들어 봅시다.
sudo nano /etc/systemd/system/wireguard-ui.service
이 구성을 붙여넣으세요:
[Unit]
Description=WireGuard UI
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/wireguard-ui
ExecStart=/opt/wireguard-ui/wireguard-ui
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
저장하고 종료한 후, 서비스를 활성화하고 시작하세요:
sudo systemctl daemon-reload
sudo systemctl enable wireguard-ui
sudo systemctl start wireguard-ui
실행 중인지 확인하세요:
sudo systemctl status wireguard-ui
단계 5: Wireguard-UI 접속
웹 브라우저를 열고 다음 URL로 이동하세요. YOUR_SERVER_IP를 서버의 실제 공용 IP 주소로 바꾸는 것을 잊지 마세요.
http://YOUR_SERVER_IP:5000
아래 기본 계정 정보를 사용하여 로그인할 수 있는 로그인 페이지가 표시됩니다:
Username: admin
Password: admin
중요: 로그인한 후 즉시 변경하세요. 오른쪽 상단의 사용자 이름을 클릭한 다음 “설정”으로 이동하여 비밀번호를 업데이트하세요.
6단계: WireGuard 서버 구성하기
로그인하면 WireGuard-UI 대시보드로 이동합니다. 서버 구성을 시작하려면 왼쪽 사이드바에서 WireGuard Server를 클릭하고 인터페이스 이름을 10.0.0.1/24(기본 WireGuard 인터페이스)로 설정하고, 수신 포트를 51820으로 설정하세요.
Post Up Script 필드에 다음을 입력하세요:
iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
그런 다음 포스트 다운 스크립트 필드에 다음을 입력하십시오:
iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
실제 네트워크 인터페이스 이름이 다르다면 eth0를 해당 이름으로 바꾸고, Address를 10.0.0.1/24로 설정하세요. 이는 서버의 내부 VPN IP 주소가 됩니다.
구성 적용을 클릭하면 WireGuard가 wg0 인터페이스를 생성하고, 포트 51820에서 VPN 연결을 수신하며, 서버에 VPN IP를 할당하고, VPN 트래픽이 제대로 전달되도록 방화벽 규칙을 구성합니다.
UI는 또한 서버의 개인 키와 공개 키를 자동으로 생성합니다. 설정을 적용한 후, 인터페이스는 활성 상태로 표시되어 WireGuard 서버가 실행 중임을 나타냅니다.
단계 7: 첫 번째 WireGuard 클라이언트 추가
이제 VPN에 장치를 추가해 보겠습니다. 이는 노트북, 휴대폰 또는 다른 클라이언트 장치일 수 있습니다. 왼쪽 사이드바에서 클라이언트를 클릭한 다음, 새 클라이언트 추가를 클릭하세요.
클라이언트에게 “내 노트북” 또는 “아이폰”과 같은 설명적인 이름을 지정하고, 선택적으로 나중에 장치를 식별하는 데 도움이 되는 이메일을 입력하세요. 다음 사용 가능한 IP 주소를 자동으로 할당하려면 “자동”을 클릭하세요(아마도 10.0.0.2일 것입니다).
허용된 IP의 경우 0.0.0.0/0, ::/0를 입력하면 클라이언트의 모든 트래픽이 VPN을 통해 라우팅됩니다. 서버의 내부 네트워크만 접근하려면 해당 서브넷(예: 10.0.0.0/24)을 지정할 수 있습니다.
모든 설정이 완료되면, "제출"을 클릭하면 웹 인터페이스가 이 클라이언트용 완전한 WireGuard 구성과 자체 암호화 키 쌍을 자동으로 생성합니다.
단계 8: 클라이언트 장치 연결
이제 설정을 기기에 적용해야 합니다. WireGuard-UI는 모바일 기기를 위한 QR 코드와 컴퓨터용 다운로드 가능한 설정 파일을 제공하여 이 과정을 쉽게 만들어 줍니다.
모바일 기기용(휴대폰/태블릿):
- 앱 스토어에서 WireGuard 앱을 설치하세요(이 앱은 iOS와 Android 모두에서 사용할 수 있습니다).
- WireGuard-UI 웹 인터페이스에서 새로 생성한 클라이언트를 찾고 QR 코드 아이콘을 클릭하세요.
- 휴대폰에서 WireGuard 앱을 열고,
"+"버튼을 누른 다음 QR 코드로 생성을 선택하세요. - 브라우저에 표시된 QR 코드를 스캔하세요.
- 연결에 이름을 지정하고 '터널 생성'을 탭하세요.
그게 다예요! 스위치를 켜서 연결하면, 이제 모바일 기기가 모든 트래픽을 VPN 서버를 통해 전송하게 됩니다.
데스크탑/노트북용:
- wireguard.com/install에서 WireGuard를 설치하세요.
- WireGuard-UI 인터페이스에서 클라이언트 옆에 있는 다운로드 아이콘을 클릭하여
.conf파일을 다운로드하세요. - 컴퓨터에서 WireGuard 애플리케이션을 열고, “파일에서 터널 가져오기”를 클릭한 후, 다운로드한 구성 파일을 선택하세요.
- 연결하려면 활성화를 클릭하세요.
9단계: VPN 테스트하기
모든 것이 제대로 작동하는지 확인해 봅시다. 먼저, VPN이 연결되지 않은 상태에서 whatismyipaddress.com을 방문하고 표시된 IP 주소를 확인하세요.
그런 다음 WireGuard VPN에 연결하고 페이지를 새로 고치면, 이제 IP 주소가 원래 것이 아니라 서버의 공용 IP를 표시하게 되어 트래픽이 VPN을 통해 라우팅되고 있음을 확인할 수 있습니다.
DNS가 올바르게 작동하는지 추가로 확인하려면 연결된 장치에서 다음 명령어를 실행할 수 있습니다:
ping google.com
응답이 보이면 VPN이 정상적으로 트래픽을 라우팅하고 있는 것입니다.
서버에서 활성 연결을 확인하려면, SSH로 접속한 후 다음을 실행하세요:
sudo wg show
다음과 같은 출력이 표시됩니다:
interface: wg0
public key: [your server's public key]
private key: (hidden)
listening port: 51820
peer: [client's public key]
endpoint: [client's IP]:random_port
allowed ips: 10.0.0.2/32
latest handshake: 45 seconds ago
transfer: 2.50 MiB received, 15.23 MiB sent
이것은 클라이언트가 연결되어 있는지, 마지막으로 서버와 통신한 시점, 그리고 전송된 데이터 양을 보여줍니다.
단계 10: WireGuard-UI에 HTTPS 사용
지금 http://YOUR_SERVER_IP:5000에서 WireGuard 웹 인터페이스에 접속하면 로그인 자격 증명과 모든 구성 데이터가 인터넷을 통해 평문으로 전송되며, 브라우저와 서버 간의 트래픽을 가로채는 누구나 관리자 비밀번호를 볼 수 있고 세션을 탈취할 수도 있습니다.
해결책은 웹 인터페이스를 HTTPS가 활성화된 리버스 프록시 뒤에 두는 것입니다. 리버스 프록시는 애플리케이션 앞에 위치하여 클라이언트의 모든 암호화된 HTTPS 연결을 처리한 후, 로컬 네트워크를 통해 애플리케이션으로 요청을 전달합니다. 로컬 네트워크에서는 중간에서 요청을 가로채는 문제가 걱정되지 않습니다.
우리는 Nginx(고성능 웹 서버)를 리버스 프록시로 사용하고, Let’s Encrypt를 통해 무료 SSL 인증서를 받아 https://vpn.yourdomain.com에서 IP 주소 대신 WireGuard 인터페이스에 접근할 수 있도록 할 것입니다.
Nginx 웹 서버 설치
먼저, 서버의 IP 주소를 가리키는 도메인(https://vpn.yourdomain.com)에 대한 DNS 레코드를 생성한 후 Nginx 웹 서버를 설치해야 합니다.
sudo apt update
sudo apt install nginx -y
설치 후 브라우저에서 http://vpn.yourdomain.com에 접속하면 기본 Nginx 환영 페이지가 표시되며, 이는 Nginx가 정상적으로 작동하고 인터넷에서 접근 가능함을 의미합니다.
Let’s Encrypt용 Certbot 설치
다음으로, SSL 인증서를 제공하는 무료 인증 기관인 Let’s Encrypt를 설치합니다. certbot은 이러한 인증서를 얻고 갱신하는 과정을 자동화하는 도구입니다.
sudo apt install certbot python3-certbot-nginx -y
python3-certbot-nginx 패키지에는 Nginx를 자동으로 구성할 수 있는 플러그인이 포함되어 있어 과정을 훨씬 간단하게 만들어 줍니다.
Nginx를 리버스 프록시로 구성하기
이제 https://vpn.yourdomain.com에서 localhost:5000에서 실행 중인 WireGuard-UI 애플리케이션으로 요청을 전달하는 Nginx 설정을 만들어 봅시다.
새 구성 파일을 만드세요.
sudo nano /etc/nginx/sites-available/wireguard-ui
이 설정을 붙여넣으세요 (vpn.yourdomain.com을 실제 도메인으로 바꾸십시오):
server {
listen 80;
listen [::]:80;
server_name vpn.yourdomain.com;
# This will be used by Certbot for the SSL certificate challenge
location /.well-known/acme-challenge/ {
root /var/www/html;
}
# Redirect all other HTTP traffic to HTTPS
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name vpn.yourdomain.com;
# SSL certificate paths (Certbot will fill these in)
ssl_certificate /etc/letsencrypt/live/vpn.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vpn.yourdomain.com/privkey.pem;
# Modern SSL configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Security headers
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
# Proxy settings
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
# WebSocket support (if WireGuard-UI uses it)
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Forward real client information
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
이제 심볼릭 링크를 생성하여 이 구성을 활성화하십시오:
sudo ln -s /etc/nginx/sites-available/wireguard-ui /etc/nginx/sites-enabled/
Nginx 구성의 구문 오류를 테스트하세요:
sudo nginx -t
당신은 봐야 합니다:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
오류가 보이면 설정 파일을 다시 확인하여 오타가 있는지 확인하세요.
SSL 인증서 받기
모든 설정이 올바르게 완료되면 이제 certbot 명령어를 실행할 시간입니다. 이 명령어는 Let’s Encrypt에서 SSL 인증서를 자동으로 받아 Nginx가 이를 사용하도록 구성합니다.
sudo certbot --nginx -d vpn.yourdomain.com
전체 과정은 약 30초 정도 걸리며, 완료되면 성공 메시지가 표시됩니다:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/vpn.yourdomain.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/vpn.yourdomain.com/privkey.pem
이제 모든 설정을 적용하려면 Nginx를 다시 로드하세요:
sudo systemctl reload nginx
인증서 자동 갱신
Let's Encrypt 인증서는 유효 기간이 90일로 제한되어 있으며, 이는 정기적인 갱신을 장려하고 개인 키가 유출될 경우 잠재적인 피해를 최소화하기 위한 의도적인 조치입니다.
다행히도, Certbot은 설치될 때 자동으로 갱신 타이머를 설정하며, 다음 명령을 실행하여 갱신 서비스가 활성화되어 있는지 확인할 수 있습니다:
sudo systemctl status certbot.timer
그리고 활성(실행 중) 상태로 표시되는 것을 확인해야 합니다. 이 타이머는 하루에 두 번 확인하며 만료일이 30일 이내인 인증서를 자동으로 갱신합니다.
실제 갱신을 수행하지 않고 모든 것이 제대로 작동하는지 확인하려면 다음을 실행하세요:
sudo certbot renew –dry-run
테스트가 성공적으로 완료되면 자동 인증서 갱신이 완전히 설정된 것이며, 인증서 만료에 대해 걱정할 필요가 없습니다.
방화벽 업데이트
이제 표준 HTTPS 포트(443)를 통해 Nginx에서 WireGuard-UI에 접근하고 있으므로, 방화벽에서 이를 허용해야 하며, 선택적으로 포트 5000에 대한 직접 접근을 차단할 수 있습니다.
sudo ufw allow 443/tcp
선택적으로, 포트 5000에서 WireGuard-UI로의 직접 접속을 차단하고 싶다면(모든 사용자가 HTTPS 인터페이스를 사용하도록 강제하려면) 해당 규칙을 제거할 수 있습니다:
sudo ufw delete allow 5000/tcp
방화벽을 다시 로드하십시오:
sudo ufw reload
단계 11: WireGuard-UI를 로컬호스트에서만 수신하도록 구성하기
이제 Nginx가 모든 외부 연결을 처리하므로, WireGuard-UI를 로컬 머신에서만 연결을 허용하도록 구성해야 합니다. 이렇게 하면 포트가 열려 있는 것을 발견하더라도 아무도 직접 5000 포트로 접속할 수 없습니다.
WireGuard-UI 서비스를 중지합니다:
sudo systemctl stop wireguard-ui
서비스 파일을 편집하세요:
sudo nano /etc/systemd/system/wireguard-ui.service
ExecStart 줄을 로컬호스트에만 바인딩하도록 수정하세요:
[Unit]
Description=WireGuard UI
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/wireguard-ui
Environment="BIND_ADDRESS=127.0.0.1:5000"
ExecStart=/opt/wireguard-ui/wireguard-ui
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
저장하고 종료한 후, systemd를 다시 로드하고 서비스를 재시작합니다:
sudo systemctl daemon-reload
sudo systemctl start wireguard-ui
sudo systemctl status wireguard-ui
마지막으로, 브라우저를 열고 다음으로 이동하세요:
https://vpn.yourdomain.com
브라우저 주소 표시줄에서 자물쇠 아이콘을 볼 수 있으며, 자물쇠 아이콘을 클릭하면 인증서 세부 정보를 확인할 수 있습니다. 인증서는 Let's Encrypt에서 발급했으며 90일 동안 유효합니다.
요약
이제 완전히 운영 가능한 WireGuard VPN 서버를 안전한 웹 기반 관리 인터페이스와 함께 성공적으로 배포했습니다. 키, 구성 파일, 라우팅 규칙을 수동으로 처리하는 대신, WireGuard-UI를 사용하면 새 장치를 추가하고, QR 코드를 생성하며, 활성 연결을 모니터링할 수 있는 간단한 대시보드를 제공합니다.






