Linux'ta proxy yapılandırması, ağ trafiğini uzak bir sunucu üzerinden yönlendirmek için genellikle ortam değişkenleri, servise özel yapılandırma dosyaları veya masaüstü ortamı ayarları aracılığıyla yönetilir. Dağıtıma bağlı olarak — Ubuntu gibi Debian tabanlı, CentOS gibi RHEL tabanlı veya Arch Linux — yöneticilerin CLI araçları, paket yöneticileri ve grafik uygulamalar için tam kapsam sağlamak amacıyla ayarları işletim sisteminin farklı katmanlarında uygulaması gerekir.
Proxy Yapılandırması İçin Genel Ortam Değişkenleri
Linux'ta proxy ayarlamanın en yaygın yöntemi ortam değişkenleridir. Bu değişkenler curl, wget ve git gibi komut satırı araçlarının çoğu tarafından tanınır. Bu değişkenleri tek bir oturum için geçici olarak ya da tüm kullanıcılar için kalıcı olarak ayarlayabilirsiniz.
Geçici Oturum Yapılandırması
Proxy'yi yalnızca mevcut terminal oturumu için uygulamak üzere değişkenleri doğrudan kabuğunuza export edin. Bu yöntem, sistem dosyalarını değiştirmeden hızlı işler yapmak veya yeni bir GProxy residential uç noktasını test etmek için idealdir.
export http_proxy="http://username:[email protected]:8080"
export https_proxy="http://username:[email protected]:8080"
export ftp_proxy="http://username:[email protected]:8080"
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Kalıcı Sistem Genelinde Yapılandırma
Bu ayarların yeniden başlatmalardan sonra da kalıcı olması ve tüm kullanıcıları etkilemesi için /etc/environment dosyasını düzenleyin. Bu dosya basit bir anahtar-değer listesidir ve export gibi kabuk betiği komutlarını desteklemez.
- Dosyayı root yetkileriyle açın:
sudo nano /etc/environment. - Proxy satırlarını ekleyin:
http_proxy="http://username:[email protected]:8080"https_proxy="http://username:[email protected]:8080"no_proxy="localhost,127.0.0.1"
- Kaydedin ve oturumu yeniden başlatın ya da
source /etc/environmentkomutunu çalıştırın.
Kullanıcıya özel kalıcı ayarlar için bu satırları ~/.bashrc veya ~/.zshrc dosyasının sonuna ekleyin. Böylece ilgili kullanıcı her terminal açtığında proxy otomatik olarak etkin olur.

Dağıtıma Özel Paket Yöneticisi Ayarları
Genel ortam değişkenleri birçok aracı kapsasa da paket yöneticileri, sistem seviyesindeki kısıtlamaları aşmak veya yönetim işlemleri sırasında güncellemelerin sorunsuz çalışmasını sağlamak için çoğu zaman kendi açık yapılandırmalarını gerektirir.
APT (Ubuntu, Debian, Linux Mint)
Advanced Package Tool (APT), bazı yapılandırmalarda güvenlik nedeniyle ortam değişkenlerini yok sayar. Özellikle APT için proxy ayarlamak üzere /etc/apt/apt.conf.d/ dizininde bir yapılandırma dosyası oluşturun.
sudo nano /etc/apt/apt.conf.d/95proxies
Aşağıdaki satırları ekleyin ve her satırı noktalı virgülle bitirdiğinizden emin olun:
Acquire::http::Proxy "http://username:[email protected]:8080";
Acquire::https::Proxy "http://username:[email protected]:8080";
DNF ve YUM (Fedora, RHEL, CentOS, AlmaLinux)
Red Hat tabanlı dağıtımlarda yapılandırma, ana dnf.conf veya yum.conf dosyası içinde yapılır. Bu, güncellemelerin kontrollü bir ağ geçidi üzerinden çekilmesi gereken sunucu filolarının yönetiminde kritik önemdedir.
- Yapılandırmayı düzenleyin:
sudo nano /etc/dnf/dnf.conf. - Proxy satırını ekleyin:
proxy=http://proxy.gproxy.com:8080. - Kimlik doğrulama gerekiyorsa şunları ekleyin:
proxy_username=your_usernameproxy_password=your_password
Pacman (Arch Linux, Manjaro)
Pacman varsayılan olarak curl gibi harici indiricileri kullanır. Arch Linux güncellemeleri için proxy yapılandırmak üzere /etc/makepkg.conf dosyasını düzenlemeli ya da doğrudan genel ortam değişkenlerine güvenmelisiniz. Ancak indirici üzerinde tam kontrol istiyorsanız /etc/pacman.conf dosyasını düzenleyip XferCommand satırının yorumunu kaldırın ve proxy bayraklarını ekleyin.
Proxy Yapılandırma Yöntemlerinin Karşılaştırması
Doğru yöntemin seçimi, sistem genelinde bir tünele mi yoksa uygulamaya özel bir köprüye mi ihtiyacınız olduğuna bağlıdır. Aşağıdaki tablo, Linux ortamlarındaki temel yöntemleri özetler.
| Yöntem | Kapsam | Yapılandırma Dosyası | En Uygun Kullanım |
|---|---|---|---|
| Ortam değişkenleri | Kullanıcı/Oturum | ~/.bashrc |
CLI araçları (curl, wget, git) |
| Sistem ortamı | Genel | /etc/environment |
Varsayılan sistem geneli yönlendirme |
| APT yapılandırması | Uygulama | /etc/apt/apt.conf.d/ |
Debian/Ubuntu güncellemeleri |
| DNF yapılandırması | Uygulama | /etc/dnf/dnf.conf |
RHEL/CentOS güncellemeleri |
| Proxychains | Dinamik | /etc/proxychains.conf |
Yerleşik proxy desteği olmayan uygulamalar |

Proxychains ile Gelişmiş Yönlendirme
Bazı uygulamalar ortam değişkenlerini dikkate almaz veya dahili proxy ayarlarına sahip değildir. Bu durumlarda proxychains4, hook ön yüklemesi yoluyla TCP bağlantılarını bir proxy üzerinden geçmeye zorlamak için kullanılan standart araçtır. Bu özellikle güvenlik denetimlerinde veya GProxy'nin SOCKS5 proxy'lerini kullanırken işe yarar.
Önce paketi kurun: sudo apt install proxychains4 (Debian'da) veya sudo dnf install proxychains-ng (RHEL'de).
/etc/proxychains4.conf yapılandırma dosyasını düzenleyin. Dosyanın en altına inin ve proxy bilgilerinizi ekleyin:
[ProxyList]
# protokol host port kullanıcı_adı parola
socks5 127.0.0.1 9050
http proxy.gproxy.com 8080 username password
Kullanmak için herhangi bir komutun başına proxychains4 ekleyin:
proxychains4 telnet example.com 80
proxychains4 nmap -sT -PN example.com
Python ile Proxy Yönetimini Otomatikleştirme
Linux'u web scraping veya otomatik test için kullanan geliştiriciler ve veri bilimciler açısından proxy'leri programatik olarak yönetmek, elle yapılandırmaktan çok daha verimlidir. requests kütüphanesini kullanarak GProxy uç noktalarını betikleriniz içinde dinamik olarak rotasyona sokabilirsiniz.
import requests
# GProxy kimlik bilgilerini ve uç noktayı tanımlayın
proxy_host = "proxy.gproxy.com"
proxy_port = "8080"
username = "your_user"
password = "your_password"
proxies = {
"http": f"http://{username}:{password}@{proxy_host}:{proxy_port}",
"https": f"http://{username}:{password}@{proxy_host}:{proxy_port}",
}
def test_proxy():
try:
# Bağlantıyı ve IP adresini doğrulayın
response = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10)
print(f"Current Outgoing IP: {response.json()['ip']}")
except Exception as e:
print(f"Connection Failed: {e}")
if __name__ == "__main__":
test_proxy()
Bu betik, büyük ölçekli otomatik görevleri başlatmadan önce Linux ortamınızın trafiği gerçekten proxy üzerinden yönlendirdiğini doğrulamanızı sağlar. Sistem genelindeki bir proxy'nin belirli bir Python sanal ortamını neden etkilemediğini araştırırken özellikle kullanışlıdır.
Masaüstü Ortamlarında Proxy Yapılandırma
GNOME veya KDE Plasma gibi grafik arayüze (GUI) sahip bir Linux dağıtımı kullanıyorsanız proxy'leri sistem ayarlarından yapılandırabilirsiniz. Bu, sistem ayarlarını kullanan Chrome gibi tarayıcılar ve diğer GUI tabanlı uygulamalar için gereklidir.
GNOME (Ubuntu, Fedora Workstation)
Ayarlar > Ağ > Ağ Proxy'si bölümüne gidin. "Elle" seçeneğini seçin ve HTTP, HTTPS ve SOCKS host bilgilerini girin. GNOME bu ayarları gsettings üzerinden uygular; aynı ayarlar terminalden de değiştirilebilir:
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host 'proxy.gproxy.com'
gsettings set org.gnome.system.proxy.http port 8080
KDE Plasma
KDE'de Sistem Ayarları > Ağ > Ayarlar > Proxy bölümüne gidin. KDE, her protokol için farklı proxy tanımlayabileceğiniz "Belirtilen proxy yapılandırmasını kullan" seçeneğini sunar. GNOME'dan farklı olarak KDE'nin ayarları ~/.config/kioslaverc dosyasında saklanır.
Güvenlik Hususları ve En İyi Uygulamalar
Proxy yapılandırması hassas kimlik bilgileriyle çalışmayı gerektirir. Parolaların /etc/environment veya .bashrc içinde düz metin olarak saklanması, makineye birden fazla kullanıcının erişimi varsa risk oluşturur. Bunu azaltmak için şu uygulamaları göz önünde bulundurun:
- İzinleri kısıtlayın: Kimlik bilgisi içeren yapılandırma dosyalarının (
/etc/dnf/dnf.confveyaproxychains.confgibi)600ya da640izinlerine sahip olmasını sağlayın; böylece okuma erişimi root veya belirli yönetici kullanıcılarla sınırlanır. - IP beyaz listesi kullanın: Proxy sağlayıcınız (örneğin GProxy) destekliyorsa kullanıcı adı/parola kimlik doğrulaması yerine IP beyaz listesi kullanın. Bu, kimlik bilgilerini yerel yapılandırma dosyalarında saklama ihtiyacını ortadan kaldırır.
- Yerel trafiği hariç tutun:
no_proxydeğişkenini her zaman yapılandırın.localhostve127.0.0.1adreslerini hariç tutmamak, Docker konteynerleri, veritabanları (PostgreSQL/MySQL) ve dahili API'ler tarafından kullanılan yerel süreçler arası iletişimi bozabilir. - UDP için SOCKS5: UDP kullanan uygulamaları (bazı akış servisleri veya DNS sorguları gibi) proxy üzerinden geçirmeniz gerekiyorsa standart bir HTTP proxy yerine SOCKS5 proxy kullandığınızdan emin olun; çünkü HTTP proxy'ler yalnızca TCP destekler.
Önemli Noktalar
Linux'ta proxy yapılandırması, hem genel ortam değişkenlerine hem de uygulamaya özel ayarlara dikkat gerektiren çok katmanlı bir süreçtir. Bu yapılandırmalara hâkim olarak sisteminizin güvenli ve anonim kalmasını, ağ kısıtlamalarını etkili biçimde aşabilmesini sağlarsınız.
- Genel ayarlar için
/etc/environmentkullanın, kullanıcıya özel istisnalar için ise~/.bashrcdosyasını. - Paket yöneticilerini her zaman ayrıca yapılandırın (APT veya DNF); böylece sistem güncellemeleri ağ engellemeleri yüzünden kesintiye uğramaz.
- Proxychains'ten yararlanın: yerleşik proxy desteği olmayan uygulamalar veya karmaşık çok atlamalı yönlendirme için.
Pratik İpucu 1: Sorun giderirken curl -v https://google.com komutunu kullanın. Ayrıntılı (verbose) bayrak, hangi proxy'nin kullanıldığını ve kimlik doğrulama el sıkışmasının başarılı olup olmadığını tam olarak gösterir.
Pratik İpucu 2: Linux üzerinde web scraping gibi yüksek performanslı işler için GProxy'nin residential proxy'lerini Python requests veya aiohttp kütüphaneleriyle birlikte kullanın; böylece IP hız sınırlamalarından kaçınır ve farklı coğrafi bölgelerde yüksek başarı oranı elde edersiniz.
Bunları da okuyun
DIY Proxy Farm: How to Build and Configure
Proxy API Entegrasyonu: Geliştiriciler İçin Otomasyon
503 hatası ve proxy timeout: teşhis ve çözüm
Proxy ile 502 Bad Gateway hatası: nasıl düzeltilir
407 Proxy Authentication Required hatası: nedenleri ve çözümü
