ฉันจะเปลี่ยนการตั้งค่าพร็อกซีได้อย่างไรขึ้นอยู่กับเครือข่ายที่ฉันเชื่อมต่อด้วย


20

เครือข่ายองค์กรของ บริษัท ของฉันกำหนดให้ฉันต้องตั้งค่าพร็อกซีเครือข่ายให้เข้าถึงเน็ต แต่เมื่อฉันอยู่ที่อื่นฉันไม่ต้องการมัน การตั้งค่าพร็อกซีใน Ubuntu (ระบบ -> การตั้งค่า -> พร็อกซีเซิร์ฟเวอร์) อนุญาตให้ฉันสร้าง "ตำแหน่ง" ที่ฉันสามารถเลือกได้ด้วยตนเอง จากนั้นฉันมีตำแหน่ง "เริ่มต้น" (ไม่มีพร็อกซี) และตำแหน่ง "ที่ทำงาน" (ด้วยพร็อกซีของ บริษัท ของฉัน)

มีวิธีทำให้ Ubuntu เลือกตำแหน่ง "งาน" โดยอัตโนมัติตามการเชื่อมต่อที่ฉันใช้หรือไม่ ฉันคิดว่าฉันสามารถใช้เครือข่ายย่อย IP (เฉพาะเจาะจงมาก) เพื่อตรวจสอบว่าฉันอยู่ที่ไหน แต่ฉันไม่รู้ว่าจะตั้งค่าอย่างไร ...

แก้ไข: ฉันต้องมีการตั้งค่าพร็อกซีที่ระดับระบบจริงๆ การเชื่อมต่อเครือข่ายของฉันทั้งหมด (IMAP, SMTP, แชทและอื่น ๆ ) ต้องผ่านพร็อกซี ไม่เพียงเว็บเบราว์เซอร์

คำตอบ:


7

ฉันสามารถคิดวิธีหนึ่ง แต่การตั้งค่าจะเป็นบิตคลุมเครือ

โดยทั่วไปคุณสามารถใช้ไฟล์PAC ได้

ติดตั้งเว็บเซิร์ฟเวอร์ในระบบของคุณเว็บเซิร์ฟเวอร์เล็ก ๆ จะทำคุณไม่ต้องการระบบขนาดใหญ่เช่น apache

สร้างไฟล์ที่wpad.datมีคำสั่ง PAC ที่ตรงตามที่อยู่ต้นทางของคุณจากนั้นกำหนดค่าระบบของคุณให้ใช้พร็อกซีที่ถูกต้อง

ใน firefox กำหนดค่าพร็อกซีให้ชี้ไปที่ไฟล์ PAC ในเครื่องของคุณ http://localhost/wpad.datมันอาจจะเป็นสิ่งที่ชอบ

ไฟล์ PAC ของคุณอาจมีลักษณะเช่นนี้ ( ยังไม่ทดลอง ) ดูนี่สำหรับข้อมูลเพิ่มเติมตัวอย่าง 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";
  }
}

ฉันไม่เคยลองและไม่ได้ทดสอบระบบ แต่คุณอาจระบุไฟล์ PAC โดยใช้file://URL ใน firefox ซึ่งหมายความว่าคุณสามารถข้ามการตั้งค่าเว็บเซิร์ฟเวอร์ได้

แน่นอนว่ายังมีวิธีแก้ปัญหาที่ง่ายและรวดเร็ว แต่ก็ต้องใช้ความพยายามเพียงเล็กน้อยในส่วนของคุณเมื่อคุณย้ายไปมาระหว่างสถานที่ต่างๆ ติดตั้งส่วนขยายQuick Proxy Firefox และเพียงคลิกปุ่มบนแถบเครื่องมือเพื่อสลับเปิดหรือปิดพร็อกซี หากคุณยินดีที่จะจัดการกับส่วนขยายของ Firefox คุณสามารถลองFoxyProxyมันสนับสนุนการตั้งค่าหลายโปรไฟล์พร็อกซี่และคุณสามารถสลับระหว่างโปรไฟล์ได้อย่างง่ายดาย


ที่น่าสนใจ ... ฉันจะต้องทดสอบ ฉันจะบอกคุณว่ามันจะเปิดออก ฉันคิดว่าส่วนขยายของ Firefox จะไม่ทำเช่นนั้น: พร็อกซีใช้สำหรับโปรโตคอลทั้งหมดไม่ใช่ HTTP เท่านั้น จากนั้นฉันก็ต้องการมันสำหรับ Empathy, Evolution, ทุกอย่าง
Jawa เล็ก ๆ น้อย ๆ

โอ้และอีกสิ่งหนึ่ง คุณสามารถขอให้คน IT ตั้งค่า WPAD จากนั้นคุณก็แค่ใช้ตัวเลือกพร็อกซี่อัตโนมัติ
Zoredache

อืม ... การทำให้ไอทีทำทุกอย่างไม่ใช่ตัวเลือกที่ฉันกลัว ฉันสามารถร้องขอได้ แต่ฉันจะไม่เห็นสิ่งใดเกิดขึ้น ไม่มีเหตุผลทางธุรกิจหมายถึงทรัพยากรที่จะทำ และฉันจะทำมันเองเร็วกว่าการเขียนเหตุผล :-)
Little Jawa

ตกลง. หลังจากอ่านเพิ่มอีกเล็กน้อยฉันไม่พอใจกับวิธีนี้ ดูเหมือนว่าจะใช้งานได้ (ฉันไม่ได้ลองใช้งาน) แต่จะไม่สามารถใช้งานได้ทั่วทั้งระบบ มันจะทำงานได้เฉพาะกับเว็บเบราว์เซอร์เนื่องจาก (ตามfindproxyforurl.com/index.html ) ระบบได้รับการสนับสนุนในเว็บเบราว์เซอร์เท่านั้น (เพราะใช้งานกับ Javascript)
Little Jawa

5

ใน Ubuntu 10.10 สคริปต์. pac ทำงานได้ดี ตามที่อธิบายไว้ใน Zoredache ให้ตั้งค่าเว็บเซิร์ฟเวอร์วางไฟล์ pac ไว้ที่นั่นเปิด System-> Preferences-> Network Proxy และตั้งค่า "Autoconfiguration URL" ไปยังตำแหน่งไฟล์ pac

ตัวอย่างไฟล์ PAC ที่ตรวจสอบที่อยู่ IP ของตนเอง: /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 ที่จัดเตรียมไว้สำหรับ Ubuntu นี่คือเชลล์สคริปต์ที่เปลี่ยนแปลงตัวแปรสภาพแวดล้อมเมื่อเครือข่ายของคุณเปลี่ยนแปลง คุณสามารถกำหนดการตั้งค่าสำหรับแต่ละเครือข่ายโดยแก้ไขไฟล์กำหนดค่า (อัตโนมัติ) ที่สร้างขึ้น/etc/proxydriver.d/


2
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Eliah Kagan

0

ผมมีปัญหาเดียวกัน. โปรดสรุปคำตอบทั่วไปเพื่อรวมสถานการณ์ของฉัน

ฉันใช้แล็ปท็อปที่บ้านโดยใช้ระบบไร้สาย: - ที่อยู่ IP คงที่ของอินเตอร์เฟส eth1 เสมอ (192.168.1.10)

เมื่อฉันไปทำงานฉันเสียบมัน: - เสมอที่อยู่ IP ของอินเทอร์เฟซแบบไดนามิก eth0 (10.10.xx.xx) และพร็อกซี: 10.10.123.123 พอร์ต 8888

ฉันต้องการให้อูบุนตูตั้งค่าที่อยู่ IP และพร็อกซีโดยอัตโนมัติตามอินเทอร์เฟซที่ฉันใช้

(ฉันสับสนใน / etc / network / interfaces [ดู "man interfaces" และ /etc/resolv.conf ไม่มีประโยชน์


1
ถ้าฉันเข้าใจ: การ์ด Wifi ของคุณมี IP แบบคงที่ - จากนั้นจะมีการตั้งค่า "อัตโนมัติ" แล้ว และเครือข่ายแบบใช้สายของคุณถูกตั้งค่าโดย DHCP - ซึ่งเป็นอัตโนมัติ ... แล้วคุณต้องการเพิ่มอะไรเกี่ยวกับการตั้งค่า IP ฉันเข้าใจความต้องการของพร็อกซี่ แต่ไม่ใช่ IP
จาวาน้อย

คุณรู้ฉันคิดว่าคุณพูดถูก ฉันกลับมาทำงานหลังจากพักสายและดูเหมือนว่าจะทำงานโดยอัตโนมัติ ฉันคิดว่าปัญหาเดียวคือพร็อกซี ฉันจะตรวจสอบมากขึ้นในวันพรุ่งนี้

0

ฉันใช้วิธี PAC file และมันใช้งานได้ดีสำหรับการเบราส์ แต่ก็ไม่ค่อยดีสำหรับแอพพลิเคชั่นอื่น ๆ ที่ไม่เข้าใจไฟล์ PAC - ฉันเดาว่าเมื่อแอพถาม "proxy config" ผ่าน API พวกเขาเพิ่งจะได้รับ PAC ไฟล์ URL กลับมาถ้าคุณใช้อยู่

สำหรับแอปพลิเคชันผู้ใช้ที่ไม่มีการสนับสนุนพร็อกซีหรือไม่เข้าใจไฟล์ PAC (เช่น Empathy) ฉันใช้ tsocks (เพราะฉันใช้อุโมงค์ SSH สำหรับการสนับสนุนพร็อกซีของฉัน)

การลิงก์เอนจิ้น JavaScript หรือตัวแยกวิเคราะห์ PAC กับทุกแอปพลิเคชันที่สนับสนุนการกำหนดค่าพร็อกซีพื้นฐานดูเหมือนว่าเกินความเป็นจริง นี่น่าจะเป็นกรณีที่สามารถได้รับประโยชน์จากการสนับสนุนแพลตฟอร์มพื้นฐานด้วยการเรียก API ที่ตีความไฟล์ PAC และส่งคืนผลลัพธ์แทนที่จะเป็น URL


0

นี่คือโพสต์เก่า ณ จุดนี้ แต่ฉันมาที่นี่เพื่อหาวิธีการทำและพบคำตอบที่แตกต่างกัน คำตอบที่ฉันทำงานอยู่ในแพ็คเกจที่เรียกว่า 'whereami' และคุณต้องกำหนด sub-net ของงานของคุณในไฟล์ detect.conf จากนั้นกำหนดพร็อกซีเซิร์ฟเวอร์ในไฟล์ whereami.conf ควรจะทำงานและฉันจะโพสต์กับปัญหาใด ๆ ที่ฉันมี

โชคดี!


1
ยินดีต้อนรับสู่ถาม Ubuntu! ดังนั้น ... ใครบางคนจะทำสิ่งนี้จริง ๆ ? คุณสามารถให้คำแนะนำได้ไหม? ตอนนี้นี่ไม่ใช่คำตอบสำหรับคำถามจริงๆ ...
Eliah Kagan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.