Ağ proxy'sini sistem genelinde ayarlamanın bir yolu var mı?


18

GNOME uygulamalarının (Firefox ve Chrome'un yanı sıra) bir proxy üzerinden ağa erişmesini istiyorsanız, yalnızca kullanmam gnome-network-propertiesgerekir (söylemem gereken güzel ve basit bir GUI). Diğer uygulamalar için (örn. APT, Transmission, XChat), bunu yapmak için belirli yollarını kullanmalıyım.

Bundan kaçınmanın bir yolu var mı, proxy gerektiren bir ağdayken açıp kapatabileceğim bir şey var mı (hostname: port)?


1
http_proxyDeğişkenin aradığınız şey olduğunu düşünüyorum . Proxy Desteği nasıl yapılır bölümüne göz atın .
sakisk

Yanıtlar:


11

Ağ kullanan tüm linux / unix yazılımlarının http_proxyve ftp_proxyçevre değişkenlerini onurlandıracağını düşünüyorum . Dağıtımınızın nasıl ayarlandığına bağlı olarak, var /etc/environmentolacak ve varsayılan olarak giriş kabukları tarafından okunacaktır.

Bir satır ifadesi ekleyebilirsiniz

http_proxy=123.45.67.89:1011

içinde /etc/environmentkolayca yeterli, ama bu dosyada değişiklikler, yalnızca bir kabuk işlemini başlatmak dahaki sefere tutun alacak - ve sadece o kabuk sürecinde. Ben değil mi edebilirsiniz geçerli olandan başka bir kabuk içinde küresel değişkenlerini değiştirmek.


1
... dikkat çekici Firefox ve Thunderbird hariç askubuntu.com/a/23123
akraf

ve öyle görünüyor, node ya da değil
Brad Parks

evet ve başka bir deyişle kabuğun yeniden yüklenmesi, bir çıkış yapıp grafik kabuklar için tekrar oturum açma anlamına gelir.
Himanshu Shekhar

6

Proxy sunucuyu kullanmanın en iyi yolunun http_proxy, diğer cevapların işaret ettiği gibi , ortam değişkeniyle birlikte olduğunu kabul ediyorum . Ne yazık ki, tüm uygulamalar http_proxy ortam değişkenini onurlandırmaz, bu yüzden hala ağ bağlantılarını bir SOCKS proxy'sinden geçmeye zorlamak için LD_PRELOAD'u kullanmak için bazı programlarda tsocks kullanıyorum.


3

Hala AFAICT, çalışmak için doğru ortama sahip programları başlatmanızı gerektiren tsock'ların yanı sıra tun2socks'u da kontrol etmelisiniz . Bununla birlikte, bir TUN arabirimi (yani, tıpkı bir VPN'in oluşturacağı gibi yeni bir ağ arabirimi) ayarladınız ve oraya gönderilen paketler SOCKS5 sunucunuza proxy olarak gönderilir. Daha sonra, trafiği buna gerçekten göndermek için sistem rotalarınızı ayarlarsınız. Güzel bir yaklaşım gibi görünüyor.

(Ayrıca bu yazı aracılığıyla redsocks buldum . Bu bana bir TUN arayüzü kullanmak kadar zarif görünmüyor - örneğin, yeni başlayanlar için gerçekten UDP'yi ele almıyor.)


3

Farklı uygulamalar için ayarları tek noktadan yapılandırmak için temelde birkaç komut dosyası olan bu aracı kullanıyorum .

Not: Bu aracı yazdım ve korudum.


2

Herkes için bir çözüm yok. Her program bir proxy sunucusuna bağlanmak için kendi yolunu kullanır.

Ofisimde de benzer bir sorun var. Bunu yapmanın en iyi yolunun bir VPN bağlantısı kullanmak olduğunu gördüm. Bağlandığınızda, tüm sistem ağ trafiği VPN'den geçecektir. Bir VPN sunucusuna erişiminiz yoksa, yenisini manuel olarak çalıştırabilir ve sahip olduğunuz proxy sunucusuna bağlayabilirsiniz.

Proxy'yi desteklemeyen bir uygulamanız varsa , ağ bağlantısını sarmak için socksify gibi bir şey kullanabilirsiniz .


Yani denedim bu ve başarısız?
tshepang

0

Ben de benzer bir sorun var, ama benim için sistem çapında bir proxy gerçekleştirmek için Linux çekirdeği ele olacaktır iptables. iptablesAğ katmanına etki eden (belirli adresler, bağlantı noktaları ve protokoller) yönlendirme kurallarını eklemek ve kaldırmak , uygulama katmanındaki uygulamaya özel ayarlarla geçersiz kılınamayan sistem çapında bir proxy sağlamak için tek yoldur.


0

Bu benim için çalıştı
vi /etc/environment:

http_proxy="http://username:password@proxysrv:8080/"
https_proxy="https://username:password@proxysrv:8080/"
ftp_proxy="ftp://username:password@proxysrv:8080/"
no_proxy=".mylan.local,.domain1.com,host1,host2"

ayrıca
vi /etc/yum.conf:

proxy=http://proxysrv:8080
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.