मैं जिस नेटवर्क से जुड़ता हूं, उसके आधार पर मेरी प्रॉक्सी सेटिंग कैसे बदलें?


20

मेरी कंपनी के कॉर्पोरेट नेटवर्क को नेट एक्सेस करने के लिए नेटवर्क प्रॉक्सी सेट करने की आवश्यकता है, लेकिन जब मैं कहीं और होता हूं, तो मुझे इसकी आवश्यकता नहीं होती है। Ubuntu (सिस्टम -> वरीयताएँ -> प्रॉक्सी सर्वर) में प्रॉक्सी सेटिंग्स ने मुझे "स्थान" बनाने की अनुमति दी जिसे मैं मैन्युअल रूप से चुन सकता हूं। फिर मेरे पास एक "डिफ़ॉल्ट" स्थान है (जिसमें कोई प्रॉक्सी नहीं है) और एक "काम" स्थान है (इसमें मेरी कंपनी के प्रॉक्सी के साथ)।

क्या उबंटू बनाने का एक तरीका है जो मैं उपयोग कर रहे कनेक्शन के आधार पर स्वचालित रूप से "काम" स्थान का चयन कर सकता हूं? मुझे लगा कि मैं आईपी सबनेट (बहुत विशिष्ट) का उपयोग करके पता लगा सकता हूं कि मैं कहां हूं, लेकिन मुझे नहीं पता कि इसे कैसे स्थापित किया जाए ...

संपादित करें: मुझे वास्तव में सिस्टम स्तर पर प्रॉक्सी सेटिंग्स सेट करने की आवश्यकता है। मेरे सभी नेटवर्क कनेक्शन (IMAP, SMTP, चैट, आदि) प्रॉक्सी के माध्यम से जाने की जरूरत है। वेब ब्राउजर ही नहीं।

जवाबों:


7

मैं एक तरह से सोच सकता हूं, लेकिन इसे स्थापित करना थोड़ा अस्पष्ट होगा।

मूल रूप से आप PAC फ़ाइल का उपयोग कर सकते हैं

अपने सिस्टम पर एक वेब सर्वर स्थापित करें, कोई भी छोटा वेब सर्वर करेगा, आपको अपाचे जैसे विशाल सिस्टम की आवश्यकता नहीं है।

wpad.datपीएसी निर्देशों के साथ एक फ़ाइल बनाएं जो आपके स्रोत पते के आधार पर मेल खाता है, और फिर सही प्रॉक्सी का उपयोग करने के लिए अपने सिस्टम को कॉन्फ़िगर करें।

फ़ायरफ़ॉक्स में, अपने स्थानीय पीएसी फ़ाइल पर इंगित करने के लिए प्रॉक्सी को कॉन्फ़िगर करें। यह शायद कुछ ऐसा होगा http://localhost/wpad.dat

आपकी PAC फाइल कुछ इस तरह ( अप्रकाशित ) दिख सकती है । अधिक पीएसी उदाहरणों के लिए यहां देखें ।

function FindProxyForURL(url, host) {   
  // If on a internal/LAN IP address, send traffic direct.
  if (isInNet(myIpAddress(), "10.10.1.0", "255.255.255.0"))
  {        
    return "PROXY 1.2.3.4:8080; PROXY 4.5.6.7:8080; DIRECT";
  }
  else
  {
    return "DIRECT";
  }
}

मैंने कभी इसकी कोशिश नहीं की है, और मैं परीक्षण करने के लिए एक प्रणाली में नहीं हूं, लेकिन आप file://फ़ायरफ़ॉक्स में एक यूआरएल का उपयोग करके पीएसी फ़ाइल को निर्दिष्ट करने में भी सक्षम हो सकते हैं , जिसका मतलब है कि आप वेब सर्वर स्थापित करना छोड़ सकते हैं।

बेशक, त्वरित और आसान समाधान भी है, लेकिन स्थानों के बीच बढ़ने के साथ-साथ आपको अपने हिस्से पर थोड़ा प्रयास करने की आवश्यकता होती है। त्वरित प्रॉक्सी फ़ायरफ़ॉक्स एक्सटेंशन स्थापित करें , और प्रॉक्सी को चालू या बंद करने के लिए बस अपने टूल बार के बटन पर क्लिक करें। यदि आप एक फ़ायरफ़ॉक्स एक्सटेंशन के साथ इससे निपटने के लिए तैयार हैं, तो आप फॉक्सपॉक्सी भी आज़मा सकते हैं , यह कई प्रॉक्सी प्रोफाइल सेट करने का समर्थन करता है, और आप आसानी से प्रोफाइल के बीच स्विच कर सकते हैं।


दिलचस्प ... मुझे परीक्षण करना होगा। मैं आपको बताता हूं कि यह कैसे निकलता है। मुझे लगता है कि फ़ायरफ़ॉक्स एक्सटेंशन हालांकि नहीं करेगा: प्रॉक्सी का उपयोग केवल HTTP के लिए ही नहीं बल्कि सभी प्रोटोकॉल के लिए किया जाता है। फिर मुझे इसके लिए भी सहानुभूति, विकास, सब कुछ चाहिए।
थोड़ा जवा

ओह, और एक दूसरी बात। आप WPAD सेटअप करने के लिए IT व्यक्ति से पूछ सकते हैं। तो फिर तुम बस th स्वचालित प्रॉक्सी विकल्प का उपयोग करें।
Zoredache

अच्छा ... आईटी कुछ भी कर रहा है एक विकल्प नहीं है मुझे डर है। मैं एक अनुरोध कर सकता हूं, लेकिन मैं निश्चित रूप से कुछ भी होता नहीं देखूंगा। कोई व्यावसायिक औचित्य का मतलब यह करने के लिए कोई संसाधन नहीं है। और मैं जल्दी ही यह करने के लिए जल्दी से एक औचित्य लिखना होगा :-)
थोड़ा जावा

ठीक है। थोड़ा और पढ़ने के बाद, मैं इस समाधान से संतुष्ट नहीं हूं। ऐसा लगता है कि यह काम करेगा (मैंने इसे लागू करने की कोशिश नहीं की है), लेकिन यह सिस्टम-वाइड उपलब्ध नहीं होगा। यह केवल वेब ब्राउज़र के लिए काम करेगा, क्योंकि ( findproxyforurl.com/index.html के अनुसार ) सिस्टम केवल वेब ब्राउज़र में समर्थित है (क्योंकि यह जावास्क्रिप्ट पर निर्भर करता है)।
थोड़ा जवा

5

उबंटू में 10.10 .pac स्क्रिप्ट अच्छी तरह से काम करती है। जैसा कि Zoredache ने समझाया, एक वेबसर्वर सेट करें, वहां एक pac फ़ाइल डालें, System-> प्राथमिकताएँ-> नेटवर्क प्रॉक्सी खोलें और "Autoconfiguration URL" को pac फ़ाइल स्थान पर सेट करें।

एक पीएसी फ़ाइल का उदाहरण जो किसी के अपने आईपी पते की जांच करता है: /var/www/selectProxy.pac:

function FindProxyForURL(url, host)
 {
 if (myIpAddress() == "192.168.22.63") { 
 return "PROXY 192.168.22.8:8080";
 }
 else {
 return "DIRECT";
 }
 }

नेटवर्क प्रॉक्सी प्रीफ़ में: URL होगा:

http://localhost/selectProxy.pac

3

Zoredache के उत्तर के अतिरिक्त, आप /etc/network/if-up.d में एक स्क्रिप्ट का उपयोग करके /etc/profile.d/ में अपने प्रॉक्सी शेल चर वाले स्निपेट को उत्पन्न कर सकते हैं। ध्यान दें कि यह केवल नए गोले के साथ काम करेगा।

इसके अतिरिक्त, इस पद्धति का उपयोग WPAD- फाइल बनाने के लिए किया जा सकता है, जिससे आप किसी भी ब्राउज़र को इसका समर्थन कर सकते हैं।


2

यह एक बहुत पुरानी पोस्ट है, लेकिन मैंने यह पाया। एक नज़र है: http://marin.jb.free.fr/proxydriver/

आप उबंटू के लिए .deb पैकेज प्रदान कर सकते हैं। यह मूल रूप से एक शेल स्क्रिप्ट है जो आपके नेटवर्क में परिवर्तन होने पर पर्यावरण चर बदलता है। आप प्रत्येक नेटवर्क के लिए सेटिंग्स को कॉन्फ़िगर की गई फ़ाइलों (स्वचालित रूप से) में बनाई गई फ़ाइलों को संपादित करके कॉन्फ़िगर कर सकते हैं/etc/proxydriver.d/


2
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
एलियाह कगन

0

मेरी भी यही समस्या है। कृपया मेरी स्थिति को शामिल करने के लिए किसी भी उत्तर को सामान्य करें।

मैं वायरलेस पर घर पर अपने लैपटॉप का उपयोग करता हूं: - हमेशा eth1 इंटरफ़ेस स्थिर IP पता (192.168.1.10)

जब मैं काम पर जाता हूं तो मैं उसमें प्लग करता हूं: - हमेशा eth0 इंटरफ़ेस डायनेमिक आईपी एड्रेस (10.10.xx.xx), और एक प्रॉक्सी: 10.10.123.123 पोर्ट 8888

मैं चाहता हूं कि उबंटू स्वचालित रूप से आईपी पते और प्रॉक्सी को सेट करे जो कि मैं किस इंटरफ़ेस का उपयोग कर रहा हूं।

(मैं / आदि / नेटवर्क / इंटरफेस में गड़बड़ कर रहा हूं [कोई फायदा नहीं हुआ "मैन इंटरफेस" और /etc/resolv.conf देखें।


1
अगर मैं समझता हूं: आपके वाईफ़ाई कार्ड में एक स्थिर आईपी है - तो यह पहले से ही "स्वचालित रूप से" सेटअप है। और आपका वायर्ड नेटवर्क डीएचसीपी द्वारा सेट किया गया है - जो स्वचालित भी है ... फिर आईपी सेटिंग्स के बारे में आप क्या जोड़ना चाहते हैं? मैं प्रॉक्सी की जरूरत को समझता हूं, लेकिन आईपी को नहीं।
छोटा जवा

तुम्हें पता है, मुझे लगता है कि तुम सही हो। मैं होल्डियों के बाद काम पर वापस आ गया हूं और लगता है कि यह अपने आप काम कर रहा है। मुझे लगता है कि केवल समस्या प्रॉक्सी है। मैं कल और जांच करूंगा।

0

मैं पीएसी फ़ाइल दृष्टिकोण का उपयोग करता हूं और यह ब्राउज़िंग के लिए अच्छी तरह से काम करता है लेकिन कई अन्य अनुप्रयोगों के लिए इतना अच्छा नहीं है जो पीएसी फाइलों को नहीं समझते हैं - मैं अनुमान लगा रहा हूं कि जब कोई एप्लिकेशन एपीआई के माध्यम से "प्रॉक्सी कॉन्फिगरेशन" मांगता है, तो वे बस प्राप्त करते हैं यदि आप एक का उपयोग कर रहे हैं, तो पीएसी फ़ाइल URL वापस करें।

उन उपयोगकर्ता अनुप्रयोगों के लिए जो या तो प्रॉक्सी समर्थन नहीं करते हैं या पीएसी फ़ाइलों (जैसे सहानुभूति) को नहीं समझते हैं, मैं tsocks का उपयोग करता हूं (क्योंकि मैं अपने प्रॉक्सी समर्थन के लिए SSH सुरंग का उपयोग करता हूं)।

एक जावास्क्रिप्ट इंजन या पीएसी पार्सर को हर उस एप्लिकेशन से जोड़ना जो मूल प्रॉक्सी कॉन्फिग का समर्थन करता है, ओवरकिल की तरह लगता है। यह ऐसा मामला प्रतीत होता है जो एपीआई कॉल के साथ कुछ अंतर्निहित प्लेटफ़ॉर्म समर्थन से लाभान्वित हो सकता है जो वास्तव में पीएसी फ़ाइल की व्याख्या करता है और इसका परिणाम URL के बजाय देता है।


0

यह इस बिंदु पर एक पुरानी पोस्ट है, लेकिन मैं यहां ऐसा करने का तरीका ढूंढ रहा था और मुझे एक अलग उत्तर मिला। जवाब मैं 'व्हेरेमी' नामक एक पैकेज में झूठ के साथ काम कर रहा हूं और आपको अपने काम की उप-नेट को अपनी डिटेक्ट.कॉन फ़ाइल में परिभाषित करने की आवश्यकता है और फिर व्हेरेमी.कॉन्फ़ फ़ाइल पर प्रॉक्सी सर्वर को परिभाषित करना चाहिए। काम करना चाहिए, और मेरे पास किसी भी मुद्दे के साथ पोस्ट करेंगे।

सौभाग्य!


1
उबंटू पूछने के लिए आपका स्वागत है! तो ... कोई वास्तव में ऐसा कैसे करेगा? क्या आप निर्देश प्रदान कर सकते हैं? अभी यह वास्तव में सवाल का जवाब नहीं देता है ...
एलियाह कगन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.