İçeriğe geç

Linux'ta Proxy Yapılandırması: Farklı Dağıtımlar İçin Eksiksiz Rehber

Гайды
Linux'ta Proxy Yapılandırması: Farklı Dağıtımlar İçin Eksiksiz Rehber

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.

  1. Dosyayı root yetkileriyle açın: sudo nano /etc/environment.
  2. Proxy satırlarını ekleyin:
  3. Kaydedin ve oturumu yeniden başlatın ya da source /etc/environment komutunu ç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.

Linux'ta Proxy Yapılandırması: Farklı Dağıtımlar İçin Eksiksiz Rehber

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.

  1. Yapılandırmayı düzenleyin: sudo nano /etc/dnf/dnf.conf.
  2. Proxy satırını ekleyin: proxy=http://proxy.gproxy.com:8080.
  3. Kimlik doğrulama gerekiyorsa şunları ekleyin:
    • proxy_username=your_username
    • proxy_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
Linux'ta Proxy Yapılandırması: Farklı Dağıtımlar İçin Eksiksiz Rehber

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.conf veya proxychains.conf gibi) 600 ya da 640 izinlerine 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_proxy değişkenini her zaman yapılandırın. localhost ve 127.0.0.1 adreslerini 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/environment kullanın, kullanıcıya özel istisnalar için ise ~/.bashrc dosyası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.

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.