---
title: "Türkiye'de Wireguard engelleme çözümü"
description: "GÜNCELLEME: Artık bu çözüm yerine AmneziaWG kullanmanızı öneririm. udp2raw yerine onu kullanıyorum ve sorunsuz çalışıyor. Yıllardır çeşitli servis sağlayıcılarda Wireguard protokolüne bant sınırlaması veya topyekün yasak bulunuyor. Büyük ihtimal ticari VPN servislerinin Wireguard protokolünü…"
date: 2026-07-17
canonical: https://keremerkan.dev/posts/wireguard-engelleme-cozumu/
---

**GÜNCELLEME:** Artık bu çözüm yerine [AmneziaWG](https://docs.amnezia.org/documentation/amnezia-wg/) kullanmanızı öneririm. **udp2raw** yerine onu kullanıyorum ve sorunsuz çalışıyor.

* * *

Yıllardır çeşitli servis sağlayıcılarda **[Wireguard](https://www.wireguard.com) protokolüne** bant sınırlaması veya topyekün yasak bulunuyor. Büyük ihtimal ticari VPN servislerinin **Wireguard** protokolünü kullanmasının artmasıyla, sadece bu servisleri engellemeye çalışmak yerine, bu teknolojiyi tümden engellemeye karar verildi. Bant sınırlamasında protokolü tamamen engellemedikleri için, sunucunuza bağlanabildiğinizi düşünebilirsiniz, fakat çok ciddi paket kayıpları nedeniyle aslında bağlantınız tamamen boğuluyor.

Bu sınırlamaya çözüm olarak yapabileceğiniz tek şey, **Wireguard** paketlerini bir **TCP tüneli** içine alarak sansür mekanizmasından gizlemektir. Bunu yaparken de, minimum overhead, maksimum performans ve sunucuya minimum yük getirmesi amacıyla basit `xor` şifrelemesine sahip bir tünel içerisinden geçirmeniz en doğrusu olacaktır. **Wireguard** halihazırda şifreli olduğu için bir güvenlik zaafiyeti oluşmayacaktır. Sınırlama tüm UDP trafiği üzerinde çalıştığı için port değiştirmek vb. denemeleriniz çözümsüz kalacaktır.

Çözümün çalışabilmesi için hem istemci tarafında hem de sunucu tarafında **size ait** bir linux ağ geçidi bulunması gereklidir. İstemci tarafında ağ geçidiniz yoksa, düşük maliyetli bir **[Raspberry Pi 4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)** üzerine **Wireguard** kurarak bu çözümü kullanabilirsiniz. Bu noktadan sonra vereceğim adımlar, hem istemci, hem de sunucu tarafında `systemd` altyapısıyla çalışan (Debian/Ubuntu vb.) bir Linux sürümü üzerinde, konfigürasyonu tamamlanmış bir **Wireguard** kurulumunuz olduğu varsayımıyla devam edecektir:

-   [Bu bağlantıdan](https://github.com/wangyu-/udp2raw-tunnel/releases) `udp2raw` adlı uygulamanın binary arşivini indirin. Tar.gz dosyasını açtıktan sonra farklı mimariler için binary'ler olduğunu göreceksiniz. Hem sunucunuza hem de istemcinize uygun binary'leri, ilgili cihazda `/usr/local/bin/` dizini altına `udp2raw` ismiyle kopyalayın veya linkleyin.
-   Sunucunuzda `/etc/udp2raw.conf` dosyasını oluşturun ve içine aşağıdaki bilgileri girin. Burada kendi konfigürasyonunuza uygun olarak doğru bilgilerle düzenlemeniz gereken alanlar: `TCP_PORT` sunucunuzun dinleyeceği boş bir TCP portu, `WIREGUARD_PORT` sunucunuzun halihazırda dinlediği **Wireguard** portu ve `PASSWORD` oluşturacağınız uzun alfanumerik bir şifre.

```ini
-s
# Local
-l 0.0.0.0:TCP_PORT
# Remote
-r 127.0.0.1:WIREGUARD_PORT
# Key
-k PASSWORD
--auth-mode hmac_sha1
--raw-mode faketcp
-a
--fix-gro
--cipher-mode xor
```

-   İstemci ağ geçidinizde yine `/etc/udp2raw.conf` dosyasını oluşturun ve aşağıdaki bilgileri girin. Burada da düzenlemeniz gereken alanlar: `LOCAL_PORT` ağ geçidinizin dinleyeceği UDP portu, `SERVER_IP` sunucu IP adresiniz, `SERVER_TCP_PORT` yukarıda sunucu için girdiğiniz TCP portu ve `PASSWORD` yine yukarıda girdiğiniz aynı alfanumerik şifre.

```ini
-c
# Local
-l 0.0.0.0:LOCAL_PORT
# Remote
-r SERVER_IP:SERVER_TCP_PORT
# Key
-k PASSWORD
--auth-mode hmac_sha1
--raw-mode faketcp
-a
--fix-gro
--cipher-mode xor
```

-   Hem sunucuda hem de istemcide `/etc/systemd/system/udp2raw.service` dosyasını oluşturarak içine aşağıdaki bilgileri girin:

```ini
[Unit]
Description=udp2raw service
ConditionFileIsExecutable=/usr/local/bin/udp2raw
ConditionPathExists=/etc/udp2raw.conf
After=network.target
[Service]
Type=simple
User=root
Group=root
#LimitNOFILE=32768
PIDFile=/run/udp2raw.pid
AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
ExecStart=/usr/local/bin/udp2raw --conf-file /etc/udp2raw.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
```

-   Her iki cihazda da şu komutları çalıştırın:  
    `systemctl enable udp2raw.service`  
    `systemctl start udp2raw.service`
-   Eğer doğru binary'leri kullandıysanız, şu anda `udp2raw` konfigürasyonunuz tamamlanmış demektir. Yapmanız gereken son şey, istemci ağ geçidinizin **Wireguard** konfigürasyonunda sunucu bilgisi olarak yine istemci ağ cihazınızın `udp2raw` konfigürasyonunda yazdığınız `LOCAL_PORT` bilgisini girmek ve `MTU` değerini `1280` olarak ayarlamaktır. Yani aşağıdakine benzer bir değişiklik yapmanız gerekiyor:

```ini
Endpoint = 127.0.0.1:LOCAL_PORT
MTU = 1280
```

Ayrıca **iOS** ve **Android** üzerinde **Wireguard** uygulamasını kullanıyorsanız, o uygulamanın konfigürasyonunu da istemci ağ geçidinizin dinlediği `udp2raw` portuna yönlendirerek o cihazlarınızı da aynı TCP tüneli içinden bağlayabilirsiniz.

Tüm bu değişiklikleri yaptığınızda çok düşük bir performans kaybı ile **Wireguard** sunucunuza ulaşabilmeye devam edeceksiniz.
