모든 Linux 호스트에서 WireGuard를 설치하고 관리하는 가장 쉬운 방법을 찾았습니다!
안정 버전의 경우 프로덕션 브랜치의 지침을 읽어보세요!
우리는 1개 이상의 도커 이미지 태그를 제공합니다. 다음은 귀하에게 가장 적합한 패키지를 결정하는 데 도움이 됩니다.
꼬리표 | 나뭇가지 | 예 | 설명 |
---|---|---|---|
latest | production | ghcr.io/wg-easy/wg-easy:latest 또는 ghcr.io/wg-easy/wg-easy | 가능한 한 안정적으로 필요할 때 신속하게 버그 수정을 받고 production 에 배포합니다. |
14 | production | ghcr.io/wg-easy/wg-easy:14 | 최신과 동일하며 버전 태그를 고수하세요. |
nightly | master | ghcr.io/wg-easy/wg-easy:nightly | 대부분 불안정함은 master 에 대해 배포되는 패키지 및 코드 업데이트를 자주 가져옵니다. |
development | 풀 요청 | ghcr.io/wg-easy/wg-easy:development | 개발에 사용되며 master 에 도착하기 전에 PR의 코드를 테스트합니다. |
아직 Docker를 설치하지 않았다면 다음을 실행하여 설치하세요.
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $( whoami )
exit
그리고 다시 로그인하세요.
wg-easy를 자동으로 설치하고 실행하려면 다음을 실행하세요.
docker run --detach
--name wg-easy
--env LANG=de
--env WG_HOST= < YOUR_SERVER_IP >
--env PASSWORD_HASH= ' <YOUR_ADMIN_PASSWORD_HASH> '
--env PORT=51821
--env WG_PORT=51820
--volume ~ /.wg-easy:/etc/wireguard
--publish 51820:51820/udp
--publish 51821:51821/tcp
--cap-add NET_ADMIN
--cap-add SYS_MODULE
--sysctl ' net.ipv4.conf.all.src_valid_mark=1 '
--sysctl ' net.ipv4.ip_forward=1 '
--restart unless-stopped
ghcr.io/wg-easy/wg-easy
<YOUR_SERVER_IP>
WAN IP 또는 동적 DNS 호스트 이름으로 바꾸세요.웹 UI에 로그인하려면
<YOUR_ADMIN_PASSWORD_HASH>
bcrypt 비밀번호 해시로 바꾸세요. 해시된 비밀번호를 생성하는 방법에 대한 지침은 How_to_generate_an_bcrypt_hash.md를 참조하세요.
이제 http://0.0.0.0:51821
에서 웹 UI를 사용할 수 있습니다.
이제 Prometheus 측정항목을 http://0.0.0.0:51821/metrics
에서 사용할 수 있습니다. Grafana 대시보드 21733
구성 파일은
~/.wg-easy
에 저장됩니다.
WireGuard Easy는 Docker Compose로도 시작할 수 있습니다. docker-compose.yml
다운로드하고 필요한 조정을 한 후 docker compose up --detach
실행하면 됩니다.
이 프로젝트를 즐기고 계시나요? 에밀에게 맥주를 사주세요! ?
핵심 구성요소에 기부: WireGuard
이러한 옵션은 docker run
명령에서 -e KEY="VALUE"
사용하여 환경 변수를 설정하여 구성할 수 있습니다.
환경 | 기본 | 예 | 설명 |
---|---|---|---|
PORT | 51821 | 6789 | 웹 UI용 TCP 포트입니다. |
WEBUI_HOST | 0.0.0.0 | localhost | IP 주소 웹 UI가 바인딩됩니다. |
PASSWORD_HASH | - | $2y$05$Ci... | 설정하면 웹 UI에 로그인할 때 비밀번호가 필요합니다. 해시 생성 방법을 알아보려면 bcrypt hash.md 생성 방법을 참조하세요. |
WG_HOST | - | vpn.myserver.com | VPN 서버의 공개 호스트 이름입니다. |
WG_DEVICE | eth0 | ens6f0 | Wireguard 트래픽이 전달되어야 하는 이더넷 장치입니다. |
WG_PORT | 51820 | 12345 | VPN 서버의 공개 UDP 포트입니다. WireGuard는 Docker 컨테이너 내부에서 이를 수신합니다(그렇지 않은 경우 기본값). |
WG_CONFIG_PORT | 51820 | 12345 | 홈어시스턴트 플러그인에 사용되는 UDP 포트 |
WG_MTU | null | 1420 | 클라이언트가 사용할 MTU입니다. 서버는 기본 WG MTU를 사용합니다. |
WG_PERSISTENT_KEEPALIVE | 0 | 25 | "연결"을 열린 상태로 유지하는 값(초)입니다. 이 값이 0이면 연결이 유지되지 않습니다. |
WG_DEFAULT_ADDRESS | 10.8.0.x | 10.6.0.x | 클라이언트 IP 주소 범위. |
WG_DEFAULT_DNS | 1.1.1.1 | 8.8.8.8, 8.8.4.4 | DNS 서버 클라이언트가 사용합니다. 빈 값으로 설정하면 클라이언트는 DNS를 사용하지 않습니다. |
WG_ALLOWED_IPS | 0.0.0.0/0, ::/0 | 192.168.15.0/24, 10.0.1.0/24 | 클라이언트가 사용할 허용된 IP입니다. |
WG_PRE_UP | ... | - | 기본값은 config.js를 참조하세요. |
WG_POST_UP | ... | iptables ... | 기본값은 config.js를 참조하세요. |
WG_PRE_DOWN | ... | - | 기본값은 config.js를 참조하세요. |
WG_POST_DOWN | ... | iptables ... | 기본값은 config.js를 참조하세요. |
WG_ENABLE_EXPIRES_TIME | false | true | 클라이언트의 만료 시간 활성화 |
LANG | en | de | 웹 UI 언어(지원: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi, ja, si) . |
UI_TRAFFIC_STATS | false | true | 웹 UI에서 자세한 RX/TX 클라이언트 통계 활성화 |
UI_CHART_TYPE | 0 | 1 | UI_CHART_TYPE=0 # 차트 비활성화, UI_CHART_TYPE=1 # 선 차트, UI_CHART_TYPE=2 # 영역 차트, UI_CHART_TYPE=3 # 막대 차트 |
WG_ENABLE_ONE_TIME_LINKS | false | true | 짧은 일회성 다운로드 링크 표시 및 생성 활성화(5분 후 만료) |
MAX_AGE | 0 | 1440 | 웹 UI 세션의 최대 기간(분)입니다. 0 브라우저가 닫힐 때까지 세션이 존재함을 의미합니다. |
UI_ENABLE_SORT_CLIENTS | false | true | 이름별로 UI 정렬 클라이언트 활성화 |
ENABLE_PROMETHEUS_METRICS | false | true | Prometheus 지표 http://0.0.0.0:51821/metrics 및 http://0.0.0.0:51821/metrics/json 활성화 |
PROMETHEUS_METRICS_PASSWORD | - | $2y$05$Ci... | 설정된 경우 측정항목을 요청할 때 기본 인증이 필요합니다. 해시 생성 방법을 알아보려면 bcrypt hash.md 생성 방법을 참조하세요. |
WG_PORT
변경하는 경우 노출된 포트도 변경해야 합니다.
최신 버전으로 업데이트하려면 다음을 실행하세요.
docker stop wg-easy
docker rm wg-easy
docker pull ghcr.io/wg-easy/wg-easy
그런 다음 위의 docker run -d ...
명령을 다시 실행하십시오.
Docker Compose를 사용하면 WireGuard Easy를 단일 명령으로 업데이트할 수 있습니다: docker compose up --detach --pull always
(이미지 태그가 Compose 파일에 지정되어 있고 latest
이 아닌 경우 원하는 태그로 변경되었는지 확인하세요) ; 기본적으로 생략되며 기본값은 latest
입니다.
최신 이미지를 가져오면 WireGuared Easy 컨테이너가 자동으로 다시 생성됩니다.
덜 일반적이거나 특정한 극단적인 시나리오의 경우 Wiki에 제공된 자세한 정보를 참조하세요.