Bir yönlendiriciyi (router) tüm cihazları proxy üzerinden yönlendirecek şekilde ayarlamak, bağlı istemcilerden çıkan tüm internet trafiğinin son hedefine ulaşmadan önce belirlenen bir proxy sunucusuna yönlendirilmesi için yönlendiricinin ağ ayarlarının yapılandırılması anlamına gelir.
Yönlendirici tabanlı proxy'ye genel bakış
Tüm ağ trafiğini yönlendirici seviyesinde bir proxy üzerinden geçirmek, ağa bağlı her cihaz için internet erişimi üzerinde merkezi denetim sağlar; buna yerleşik proxy yapılandırma seçeneği olmayan cihazlar da dahildir (örneğin akıllı TV'ler, IoT cihazları). Bu yöntem, IP adresi gizleme, coğrafi kısıtlamaları aşma veya içerik filtreleme gibi proxy politikalarının tüm yerel ağda (LAN) tutarlı biçimde uygulanmasını sağlar.
Nasıl çalışır
Bir yönlendirici proxy kullanacak şekilde yapılandırıldığında, bağlı herhangi bir cihazdan çıkan ağ isteklerini yakalar. Bu istekleri doğrudan internete göndermek yerine, yönlendirici onları belirlenen proxy sunucusuna iletir. Proxy sunucusu isteği yönlendirici (dolayısıyla istemci cihaz) adına internete yapar ve yanıtı yönlendiriciye döndürür; yönlendirici de yanıtı özgün istemciye aktarır.
Ön koşullar
Yönlendiricide proxy kurulumuna başlamadan önce şunlardan emin olun:
- Proxy sunucusu bilgileri:
- Proxy sunucusunun IP adresi veya hostname'i.
- Proxy portu.
- Gerekiyorsa kimlik doğrulama bilgileri (kullanıcı adı ve parola).
- Proxy türü (HTTP, HTTPS, SOCKS4, SOCKS5).
- Yönlendirici erişimi: yönlendiricinizin yapılandırma arayüzüne (web GUI veya SSH) yönetici erişimi.
- Yönlendirici yetenekleri:
- Özel firmware: çoğu tüketici yönlendiricisinde şeffaf proxy için yerleşik destek yoktur. Genellikle OpenWrt, DD-WRT ya da pfSense/OPNsense (özel yönlendirici donanımı için) gibi özel firmware'ler gerekir. Bu firmware'ler proxy yazılımı kurmak ve güvenlik duvarı kuralları tanımlamak için gereken esnekliği sağlar.
- İşlemci ve bellek: tüm trafiği bir proxy üzerinden yönlendirmek, özellikle SSL/TLS araya girme ile birlikte, kaynak yoğun bir iştir. Yönlendiricinin yeterli CPU ve RAM'e sahip olduğundan emin olun.
- Depolama: proxy paketlerini (örneğin Squid, TinyProxy) kurmaya yetecek flash depolama alanı.
Yönlendiricide proxy uygulama yöntemleri
Yönlendiricide proxy kurma yaklaşımı büyük ölçüde cihazın firmware'ine ve yeteneklerine bağlıdır.
1. Yerleşik proxy ayarları (nadir)
Bazı üst segment kurumsal yönlendiriciler veya özel güvenlik cihazları yerleşik proxy yapılandırma alanları sunabilir. Tüketici sınıfı yönlendiricilerde bu yaygın değildir. Mevcutsa, bu ayarlar genellikle upstream proxy sunucusunun IP'sini ve portunu girmekten ibarettir.
2. Özel firmware ile şeffaf proxy ("tüm cihazlar" için önerilir)
Özel firmware çalıştıran tüketici donanımı için en yaygın ve sağlam yöntem budur. Yönlendiricinin kendisine yerel bir proxy sunucusu kurmayı ve ardından güvenlik duvarı kurallarıyla ilgili tüm giden trafiği bu yerel proxy'ye yönlendirmeyi içerir; yerel proxy de trafiği dış (upstream) proxy'ye iletir.
Örnek: Squid/TinyProxy ve iptables ile OpenWrt/DD-WRT
Bu yöntem şunları içerir:
1. Yerel bir proxy sunucusu kurmak: yönlendiriciye squid (daha çok özellikli, daha yüksek kaynak tüketimi) veya tinyproxy (hafif, yalnızca HTTP/HTTPS) gibi paketler kurulabilir.
2. Yerel proxy'yi yapılandırmak: yerel proxy, tüm istekleri dış proxy sunucunuza gönderen bir iletici olarak ayarlanır.
3. Güvenlik duvarı kurallarını yapılandırmak (iptables): LAN istemcilerinden gelen HTTP (port 80) ve HTTPS (port 443) trafiğini yerel proxy'nin dinleme portuna yönlendiren kurallar eklenir.
Adım adım (OpenWrt için kavramsal):
-
Yönlendiriciye SSH ile bağlanın:
bash ssh root@<router_ip> -
Proxy paketini kurun (örneğin TinyProxy):
bash opkg update opkg install tinyproxy
Squid için süreç benzerdir, ancak yapılandırma daha karmaşıktır. -
TinyProxy'yi yapılandırın:
/etc/tinyproxy.confdosyasını düzenleyin.Portdeğerini kullanılmayan bir porta ayarlayın (örneğin8888).Listendeğerini0.0.0.0ya da yönlendiricinin LAN IP'sine ayarlayın.Upstreamayarını dış proxy sunucunuzu gösterecek şekilde yapılandırın:
Upstream <proxy_type> <external_proxy_ip_or_hostname>:<external_proxy_port> # HTTP proxy örneği: # Upstream http proxy.example.com:8080 # SOCKS5 proxy örneği: # Upstream socks5 proxy.example.com:1080- Upstream proxy kimlik doğrulama istiyorsa, TinyProxy belgelerine göre
BasicAuthveyaDigestAuthyönergelerini yapılandırın. - LAN'ınızdan erişime izin verin:
Allow 192.168.1.0/24 # LAN alt ağınıza göre düzenleyin - TinyProxy'yi yeniden başlatın:
bash /etc/init.d/tinyproxy restart /etc/init.d/tinyproxy enable # Açılışta başlaması için
-
iptablesyönlendirmesini yapılandırın:
/etc/firewall.userdosyasına (veya kalıcı kurallar içinuciüzerinden) kurallar ekleyin. Bu kurallar LAN'dan çıkan HTTP/HTTPS trafiğini yerel TinyProxy örneğine yönlendirir.```bash
HTTP'yi (port 80) TinyProxy'ye (port 8888) yönlendir
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 80 -j REDIRECT --to-port 8888
HTTPS'i (port 443) TinyProxy'ye (port 8888) yönlendir
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 443 -j REDIRECT --to-port 8888
```
Not: HTTPS trafiğini şeffaf biçimde yönlendirmek, proxy'nin SSL/TLS araya girmesi (interception) yapmasını gerektirir; bu da sertifika uyarılarını önlemek için her istemci cihaza özel bir CA sertifikası kurulması anlamına gelir. Bu yapılmazsa yalnızca HTTP trafiği tam anlamıyla şeffaf şekilde proxy'lenir; proxy şeffaf SSL/TLS araya girmeyi desteklemiyorsa veya istemciler proxy'nin kendinden imzalı sertifikalarını reddediyorsa HTTPS trafiği başarısız olabilir ya da proxy'yi atlayabilir. -
Güvenlik duvarını yeniden başlatın:
bash /etc/init.d/firewall restart
3. Yönlendirici tabanlı VPN istemcisi (proxy'ye alternatif)
Tam olarak bir "proxy kurulumu" olmasa da, doğrudan yönlendiricide bir VPN istemcisi yapılandırmak benzer bir amaca ulaşır: bağlı cihazlardan gelen tüm ağ trafiğini dış bir sunucu üzerinden yönlendirmek. Birçok özel firmware (OpenWrt, DD-WRT) ve hatta bazı fabrika firmware'leri OpenVPN veya WireGuard istemci yapılandırmalarını destekler. Bu yöntem tüm trafiği şifreler ve cihaz başına yapılandırma gerektirmeden tüm cihazların görünen IP adresini değiştirir.
Karşılaştırma: yönlendirici proxy'si vs. yönlendirici VPN'i
| Özellik | Yönlendirici tabanlı proxy (şeffaf) | Yönlendirici tabanlı VPN istemcisi |
|---|---|---|
| İşlenen trafik | Genellikle HTTP/HTTPS (SOCKS'a genişletilebilir) | Tüm IP trafiği |
| Şifreleme | Proxy'ye bağlı; HTTPS proxy kullanılmıyorsa istemci-proxy arası genellikle şifresizdir | Yönlendiriciden VPN sunucusuna kadar şifreli |
| IP adresi gizleme | Evet, proxy sunucusu tarafından | Evet, VPN sunucusu tarafından |
| Kurulum karmaşıklığı | Yüksek (yerel proxy kurulumu, iptables kuralları, proxy yapılandırması) |
Orta (yönlendiricide VPN istemcisi yapılandırma) |
| Performans etkisi | Orta ila yüksek (proxy işleme, SSL/TLS araya girme) | Orta (şifreleme/şifre çözme yükü) |
| Kullanım senaryoları | İçerik filtreleme, belirli protokol yönlendirmesi, önbellekleme | Tam gizlilik, coğrafi engel kaldırma, tüm trafik için güvenli tünel |
| İstemci yapılandırması | Yok (şeffaf) | Yok |
Proxy türleri ve dikkat edilecekler
- HTTP/HTTPS proxy'ler: öncelikle web trafiği için tasarlanmıştır. HTTP proxy'ler içeriği önbelleğe alabilir; bu, sık erişilen kaynaklarda performansı artırabilir. HTTPS proxy'ler tam şeffaflık için SSL/TLS araya girme gerektirir.
- SOCKS proxy'ler (SOCKS4/SOCKS5): daha çok yönlüdür, her tür TCP bağlantısını (SOCKS5'te ayrıca UDP'yi) proxy'leyebilir. SOCKS proxy'ler HTTP proxy'lerden daha alt bir katmanda çalışır. Dış proxy'niz SOCKS ise, yerel proxy'nizin (örneğin TinyProxy, Squid) bir SOCKS upstream'e iletecek şekilde yapılandırılması ya da SOCKS destekli bir yönlendirici (redirector) kullanmanız gerekir.
- Şeffaf proxy: istemci cihaz proxy kullandığının farkında değildir; tüm yönlendirme yönlendirici seviyesinde gerçekleşir. "Tüm cihazlar proxy üzerinden" hedefi budur.
- Açık (explicit) proxy: her istemci cihazda elle yapılandırma gerektirir (proxy IP'si ve portu girilir). Her istemcinin ayrı ayrı ayarlanması olmadan tüm cihazları yönlendirici üzerinden geçirmek için uygun değildir.
Güvenlik ve performans etkileri
Güvenlik
- Güven: trafiğinizin güvenliği büyük ölçüde proxy sunucusunun güvenilirliğine bağlıdır. Güvenilmeyen bir proxy etkinliklerinizi kaydedebilir veya zararlı içerik enjekte edebilir.
- SSL/TLS araya girme: HTTPS trafiğinin tam şeffaf proxy'lenmesi için proxy'nin SSL/TLS araya girmesi (Man-in-the-Middle) yapması gerekir. Bu da güvenlik uyarılarını önlemek için proxy'nin kök sertifikasının tüm istemci cihazlara kurulmasını gerektirir. Bu yapılmazsa HTTPS trafiği tam olarak proxy'lenmeyebilir ya da sertifika hataları üretir.
Performans
- Gecikme: ek bir sıçrama eklemek (yönlendirici -> yerel proxy -> dış proxy -> internet) doğası gereği gecikmeyi artırır.
- Bant genişliği: proxy sunucusunun bant genişliği darboğaza dönüşebilir.
- Yönlendirici kaynakları: yönlendiricinin CPU ve RAM'i yerel proxy yazılımını çalıştırmak ve güvenlik duvarı kurallarını işlemek için kullanılır. Yönlendirici zayıfsa veya yoğun trafik taşıyorsa bu performans düşüşüne yol açabilir.
Sık karşılaşılan sorunların çözümü
- İnternet erişimi yok:
- Dış proxy sunucusunun çevrimiçi ve yönlendiriciden erişilebilir olduğunu doğrulayın.
- Güvenlik duvarı kurallarını kontrol edin: doğru yapılandırıldığından ve meşru trafiği ya da proxy'nin çalışmasını engellemediğinden emin olun.
- Proxy yapılandırmasını gözden geçirin: hatalı upstream bilgileri veya kimlik doğrulama sorunları.
- Yönlendirici kaynakları: yönlendirici aşırı yüklenmiş olabilir.
- SSL/TLS hataları (HTTPS trafiğinde):
- Proxy, kök sertifikası istemci cihaza kurulmadan SSL/TLS araya girme yapıyorsa bu beklenen bir durumdur.
- HTTPS için araya girme olmadan şeffaf proxy kullanılıyorsa trafik başarısız olabilir veya proxy'yi atlayabilir.
- Belirli uygulamalar çalışmıyor:
- Bazı uygulamalar standart dışı port veya protokoller kullanır ve bunlar
iptablesyönlendirme kurallarınız kapsamında olmayabilir (örneğin yalnızca 80/443 yönlendiriliyorsa). - Uygulamalarda yerleşik proxy tespiti olabilir ya da belirli proxy türleri gerekebilir (örneğin oyunlar için SOCKS, bazı VoIP servisleri).
- DNS çözümleme sorunları: yönlendiricinin DNS ayarlarının çakışmadığından veya beklenmedik şekilde yönlendirilmediğinden emin olun.
- Bazı uygulamalar standart dışı port veya protokoller kullanır ve bunlar
