Kullanıcı dostu web arayüzüne sahip kişisel WireGuard VPN sunucusu | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

WireGuard VPN sunucusu wg-easy ile nasıl kurulur

wg-easy, bir web paneliyle birlikte WireGuard VPN sunucusu çalıştıran bir Docker uygulamasıdır. Panelde istemciler oluşturur, yapılandırma dosyalarını indirir veya telefonla QR kodu tarar ve hangi istemcilerin bağlı olduğunu görürsünüz. Bu rehber, güncel sürüm olan wg-easy v15'in bir Linux sunucusuna Docker Compose ile nasıl kurulacağını ve ilk cihazın nasıl bağlanacağını gösterir.

Info

wg-easy v15 eski sürümlerden farklıdır. Yönetici parolası artık PASSWORD değişkeniyle iletilmez: PASSWORD veya PASSWORD_HASH ile başlatılan bir konteyner çalışmaz. Kullanıcı adı ve parola artık ilk başlatmada tarayıcıda belirlenir.

Gereksinimler

Genel IP adresi ve root veya sudo erişimi olan bir VPS yeterlidir. wg-easy hafiftir: kişisel bir VPN için 1 vCPU ve 1 GB RAM yeterlidir. Bu rehberdeki komutlar Ubuntu 24.04 LTS üzerinde doğrulanmıştır. wg-easy Docker içinde çalıştığı için bu komutlar Ubuntu 22.04, Debian 12, AlmaLinux 9 ve Rocky Linux 9'da da aynı şekilde çalışır.

Tip

Hiçbir şeyi elle kurmak istemiyorsanız, INTROSERV uygulama pazaryerinden wg-easy'nin hazır kurulu olduğu bir VPS sipariş edin ve doğrudan ilk başlatmaya geçin.

Docker'ı kurma

SSH ile sunucuya bağlanın ve resmi betikle Compose eklentisiyle birlikte Docker Engine'i kurun:

curl -fsSL https://get.docker.com | sudo sh

Docker ve Compose'un kurulu olduğunu kontrol edin:

sudo docker --version sudo docker compose version

docker-compose.yml dosyasını indirme

wg-easy, proje deposundaki resmi docker-compose.yml ile kurulur. Bunun için bir klasör oluşturun ve dosyayı indirin:

sudo mkdir -p /etc/docker/containers/wg-easy sudo curl -o /etc/docker/containers/wg-easy/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml

Dosyanın ana satırları imaj ve portlardır:

image: ghcr.io/wg-easy/wg-easy:15 ports: - "51820:51820/udp" - "51821:51821/tcp"

51820/udp portu WireGuard'ın kendisi tarafından, 51821/tcp portu ise web paneli tarafından kullanılır. 15 etiketi, güncellemelerin 15. sürüm içinde kalacağı anlamına gelir. Yapılandırma ve istemciler bir Docker biriminde (volume) saklanır; bu nedenle konteyner yeniden oluşturulduğunda korunur.

wg-easy'yi başlatma

Dosyanın bulunduğu klasöre gidin ve konteyneri başlatın:

cd /etc/docker/containers/wg-easy sudo docker compose up -d

Konteynerin çalıştığını kontrol edin:

sudo docker compose ps

STATUS sütununda Up, PORTS sütununda ise 51820/udp ve 51821/tcp portları görünmelidir.

Portu güvenlik duvarında açma

İstemciler sunucuya UDP 51820 portu üzerinden bağlanır. Sunucuda UFW etkinse bu porta izin verin:

sudo ufw allow 51820/udp

firewalld kullanan AlmaLinux ve Rocky Linux'ta şunu kullanın:

sudo firewall-cmd --permanent --add-port=51820/udp sudo firewall-cmd --reload

Web panelini açma

wg-easy v15, panele düz HTTP üzerinden giriş yapılmasına izin vermez. En basit güvenli yol, paneli bir SSH tüneli üzerinden açmaktır. Bilgisayarınızda şunu çalıştırın:

ssh -L 51821:localhost:51821 USER@SERVER_IP

Bu SSH oturumunu açık tutun ve tarayıcınızda http://localhost:51821 adresine gidin.

Warning

Erişime düz HTTP üzerinden de izin verebilirsiniz: docker-compose.yml dosyasında environment bloğunun yorumunu kaldırın, INSECURE=true olarak ayarlayın ve sudo docker compose up -d komutunu yeniden çalıştırın. Bu durumda panel parolası şifrelenmeden gönderilir; bu nedenle bu seçeneği yalnızca test için kullanın. Alan adıyla kalıcı erişim için paneli HTTPS'li bir ters proxy (reverse proxy) arkasına koyun.

İlk başlatmayı tamamlama

İlk başlatmada wg-easy bir kurulum sihirbazı açar. Karşılama ekranından sonra bir yönetici hesabı oluşturun: kullanıcı adı ve parola girin, ardından parolayı onaylayın.

Sihirbaz mevcut bir kurulumunuz olup olmadığını sorduğunda No seçeneğini seçin. Bu, yeni bir yapılandırma oluşturur.

Sonraki ekranda, istemcilerin bağlanmak için kullanacağı Host ve Port değerlerini belirtin. Host alanına, paneli SSH tüneli üzerinden açmış olsanız bile localhost değil, sunucunun genel IP adresini veya alan adını girin. Port değerini 51820 olarak bırakın. Suggest düğmesi, wg-easy'nin otomatik olarak algıladığı adresi doldurur.

Warning

Host alanındaki adres her istemcinin yapılandırmasına yazılır. Yanlış adres girerseniz istemciler bağlanamaz.

Sihirbaz tamamlandıktan sonra oluşturduğunuz kullanıcı adı ve parolayla giriş yapın.

İstemci oluşturma

Panelin ana sayfasında New Client düğmesine tıklayın, cihaz için bir ad girin (örneğin laptop veya phone) ve onaylayın. İstemci listede görünür. Yanında QR kodunu göstermek ve yapılandırma dosyasını indirmek için düğmeler bulunur.

Her cihaz için ayrı bir istemci oluşturun. Böylece diğerlerini etkilemeden bir cihazın erişimini devre dışı bırakabilir veya silebilirsiniz.

Cihaz bağlama

Cihazınıza resmi WireGuard uygulamasını kurun. Uygulama Windows, macOS, Android ve iOS için resmi WireGuard indirme sayfasında bulunur.

Telefonda WireGuard uygulamasını açın, QR kodla tünel eklemeyi seçin ve paneldeki kodu tarayın.

Bilgisayarda, panelden istemci yapılandırma dosyasını indirin ve WireGuard uygulamasında Import tunnel(s) from file ile içe aktarın. Ardından Activate düğmesine tıklayın.

Linux'ta wireguard-tools ve openresolv kurun. openresolv olmadan wg-quick komutu yapılandırma dosyasındaki DNS satırında hata verir. Ubuntu ve Debian'da:

sudo apt install wireguard-tools openresolv sudo wg-quick up ./CLIENT_NAME.conf

Linux'ta bağlantıyı kesmek için sudo wg-quick down ./CLIENT_NAME.conf komutunu çalıştırın.

Bağlantıyı kontrol etme

Tünel etkinken internetin hangi IP adresini gördüğünü kontrol edin:

curl -4 ifconfig.me

Komut sunucunuzun IP adresini döndürmelidir. Tarayıcıda herhangi bir IP kontrol sitesini de açabilirsiniz. wg-easy panelinde bağlı istemci son etkinliği ve trafiği gösterir.

İstemcileri yönetme

Tüm istemciler panelin ana sayfasında yönetilir. Her istemci, yanındaki anahtarla geçici olarak devre dışı bırakılabilir: cihaz listede kalır ancak yeniden etkinleştirene kadar bağlanamaz. Erişimi tamamen kaldırmak için istemciyi silin. Yapılandırma dosyası ve QR kodu hemen çalışmayı durdurur. Bir cihaz kaybolursa veya bir yapılandırma dosyası kopyalanmış olabilirse, o istemciyi silin ve yenisini oluşturun.

Bir şey çalışmazsa

Panel açılmazsa, konteynerin çalıştığını sudo docker compose ps ile kontrol edin ve günlüğe bakın:

sudo docker logs wg-easy

Panel açılıyor ancak giriş yapamıyor ve güvenli olmayan bağlantıyla ilgili bir mesaj görüyorsanız, paneli düz HTTP üzerinden açmışsınızdır. Yukarıdaki bölümdeki SSH tünelini kullanın.

İstemci bağlanamıyorsa, UDP 51820 portunun sunucu güvenlik duvarında ve varsa sağlayıcı panelinin güvenlik duvarında açık olduğunu kontrol edin. Ayrıca istemci yapılandırma dosyasını açıp Endpoint satırını kontrol edin: sunucunun genel adresini içermelidir. Yanlış bir adres içeriyorsa, Host kurulum sihirbazında hatalı girilmiştir.

Tünel etkin ancak cihazda internet yoksa, sunucu günlüğünü sudo docker logs wg-easy ile kontrol edin ve konteynerin resmi docker-compose.yml dosyasından, sysctls bölümünde değişiklik yapılmadan başlatıldığından emin olun.

Linux'ta wg-quick resolvconf ile ilgili bir hatayla başarısız olursa, cihaz bağlama bölümünde açıklandığı gibi openresolv kurun.

wg-easy'yi güncelleme

15. sürümün daha yeni bir derlemesini kurmak için yeni imajı indirin ve konteyneri yeniden oluşturun:

cd /etc/docker/containers/wg-easy sudo docker compose pull sudo docker compose up -d

İstemciler ve ayarlar Docker biriminde saklandığı için korunur.

wg-easy'yi durdurma ve kaldırma

VPN sunucusunu durdurmak için docker-compose.yml dosyasının bulunduğu klasörde şunu çalıştırın:

sudo docker compose down

Yapılandırma birimde kalır ve sudo docker compose up -d komutu sunucuyu aynı istemcilerle yeniden başlatır.

wg-easy'yi tüm istemciler ve anahtarlarla birlikte tamamen kaldırmak için -v seçeneğini ekleyin:

sudo docker compose down -v

Warning

sudo docker compose down -v komutundan sonra tüm istemci yapılandırmaları çalışmayı durdurur. VPN'i yeniden kullanmak için ilk başlatmayı tamamlamanız ve istemcileri yeniden oluşturmanız gerekir.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA