Answers:
我可以想到一种方法,但是设置起来会有些晦涩。
基本上可以使用PAC文件
在您的系统上安装Web服务器,任何小型Web服务器都可以,您不需要像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";
}
}
我从来没有尝试过,也没有系统可以测试,但是您甚至可以使用file://
firefox中的URL 指定PAC文件,这意味着您可以跳过设置Web服务器的步骤。
当然也有快速简便的解决方案,但是在位置之间移动时,确实需要您付出一点努力。安装快速代理 Firefox扩展,只需单击工具栏上的按钮即可打开或关闭代理。如果您愿意使用Firefox扩展来处理此问题,还可以尝试FoxyProxy,它支持设置多个代理配置文件,并且您可以轻松地在配置文件之间切换。
在Ubuntu 10.10中,.pac脚本运行良好。正如Zoredache解释的那样,设置一个Web服务器,在其中放置一个pac文件,打开“系统”->“首选项”->“网络代理”,然后将“自动配置URL”设置为pac文件的位置。
检查个人IP地址的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
我也有同样的问题。请概括所有答案以包括我的情况。
我在家中以无线方式使用笔记本电脑:-始终为eth1接口的静态IP地址(192.168.1.10)
我上班时将其插入:-始终为eth0接口动态IP地址(10.10.xx.xx),以及一个代理:10.10.123.123端口8888
我希望Ubuntu根据我使用的接口自动设置IP地址和代理。
(我把/ etc / network / interfaces弄乱了(请参阅“ man interfaces”和/etc/resolv.conf都没有用。
这是目前的旧帖子,但是我来到这里寻找一种方法来做,却找到了不同的答案。我正在使用的答案位于一个名为“ whereami”的程序包中,它要求您在其detect.conf文件中定义工作的子网,然后在whereami.conf文件中定义代理服务器。应该可以,我将发布任何问题。
祝好运!