57 lines
3.8 KiB
Markdown
57 lines
3.8 KiB
Markdown
# Gluetun VPN (Mullvad)
|
||
|
||
Bu uygulama tek başına bir "istemci" değil, merkezi bir **VPN geçidi**. [Gluetun](https://github.com/qdm12/gluetun), Mullvad'a WireGuard ile bağlanır ve kill-switch sağlar: VPN bağlantısı koparsa, bu container'ın ağını paylaşan hiçbir şey internete çıkamaz.
|
||
|
||
## Neden ayrı bir uygulama?
|
||
|
||
Eskiden VPN + torrent istemcisi tek `docker-compose.yml` içinde birlikteydi. Bunu ayırdık, çünkü:
|
||
|
||
- **Yeniden kullanılabilir**: qBittorrent'i silip başka bir istemciyle değiştirebilirsin, VPN'e dokunmana gerek kalmaz.
|
||
- **Genişletilebilir**: İleride başka bir container'ı (başka bir uygulama, bir tarayıcı, başka bir indirme aracı vs.) da aynı VPN tünelinden geçirmek istersen, o container'ı buraya "bağlarsın" — Gluetun'u yeniden kurmana gerek yok.
|
||
|
||
## Kurulum
|
||
|
||
1. Mullvad hesabı sayfasından **WireGuard configuration** oluştur, indirilen `.conf` dosyasını aç.
|
||
2. `PrivateKey` değerini **WireGuard Private Key** alanına, `Address` değerinin IPv4 kısmını (örn. `10.64.222.10/32`) **WireGuard Addresses** alanına yapıştır.
|
||
3. İstersen **Sunucu Şehirleri** alanına bir veya birkaç şehir yaz (örn. `Amsterdam,Stockholm`); boş bırakırsan Gluetun rastgele bir Mullvad sunucusu seçer.
|
||
4. Kur ve başlat, ardından Runtipi'den bu uygulamanın loglarına bakıp `Initialization Sequence Completed` benzeri bir satır görene kadar bekle — VPN tüneli kurulduğu anlamına gelir.
|
||
|
||
qBittorrent'in kendisi **ayrı bir uygulama**: "qBittorrent (Gluetun VPN)". Bu uygulamayı kurmadan önce Gluetun'un ayakta ve VPN'e bağlı olması gerekiyor.
|
||
|
||
## İleride başka bir şeyi bu VPN'e bağlamak istersen
|
||
|
||
Herhangi bir container'ı (Runtipi'de ayrı bir uygulama olarak ya da tamamen başka bir `docker-compose.yml` projesinde) bu Gluetun tünelinden geçirmek için 2 adım yeterli:
|
||
|
||
**1. O servisin ihtiyaç duyduğu portu bu uygulamanın `docker-compose.yml` dosyasına ekle** (Runtipi'de "Customize compose" ile, ya da bu store repo'sundaki dosyayı elden düzenleyip güncelleyerek):
|
||
|
||
```yaml
|
||
ports:
|
||
- 8080:8080
|
||
- 6881:6881
|
||
- 6881:6881/udp
|
||
- 9117:9117 # <- örnek: yeni eklediğin servisin portu
|
||
```
|
||
|
||
Bunun sebebi basit: ağ namespace'ini gerçekten sahiplenen container Gluetun olduğu için, Docker'da port yayınlamak (`ports:`) sadece o container üzerinden yapılabiliyor — namespace'i paylaşan diğer container'lar kendi başlarına port yayınlayamıyor.
|
||
|
||
**2. Diğer projedeki servise, kendi ağı/portları yerine şunu yaz:**
|
||
|
||
```yaml
|
||
services:
|
||
yeni-servis:
|
||
image: ...
|
||
network_mode: "container:gluetun"
|
||
# DİKKAT: bu servise "networks:" veya "ports:" EKLEME,
|
||
# network_mode ile aynı anda kullanılamıyorlar.
|
||
```
|
||
|
||
`network_mode: "container:gluetun"` Docker'ın yerleşik bir özelliği; aynı Docker host'unda çalışan **herhangi bir** `docker-compose.yml` projesinden, container adını (`gluetun`) referans göstererek bağlanabilirsin — Runtipi uygulaması olması bile şart değil.
|
||
|
||
**Önemli**: Gluetun container'ı yeniden başladığında (güncelleme, restart vs.), ona bağlı servislerin de yeniden başlatılması gerekebilir; bağımlı servis Gluetun'dan önce ayağa kalkarsa hata verir. Bu yüzden her zaman önce Gluetun'u başlat, sonra ona bağlı servisleri.
|
||
|
||
## Notlar
|
||
|
||
- Mullvad artık sadece WireGuard destekliyor (OpenVPN 2026'da tamamen kaldırıldı), bu yüzden bu uygulama doğrudan WireGuard için yapılandırıldı.
|
||
- Mullvad port yönlendirme (port forwarding) özelliğini 2023'te kaldırdı; yani gelen (inbound) torrent bağlantıları için ekstra bir port-senkron aracına gerek yok, çıkış hızın yine de VPN sunucusunun kapasitesine bağlı olacak.
|
||
- Sağlayıcıya özgü ek ayar gerekiyorsa [Gluetun Wiki](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/mullvad.md) sayfasına bakabilirsin.
|