如果我在“设置->网络->代理”下配置代理,然后尝试访问"http://google.com",则名称解析(IP of google.com)将发生在代理服务器上,但是.
我怎样才能改变这种行为?
我的意思是,在访问代理之前,我需要在我的桌面上本地解析DNS。
但是为什么呢?
这样,我将配置“忽略-拥有许多子网(IPv4 / IPv6)的主机,这些子网不需要代理来到达它们”,那么,Ubuntu首先需要:
1-本地解析DNS (即也不通过代理);
2-尝试将本地发现的网站IP与“忽略-主机”设置相匹配;
有可能吗?
Tks!蒂亚戈
发布于 2014-04-15 00:33:40
当使用HTTP代理时,这是不可能的,因为:
因此,必须是代理进行DNS查找。
不可能在本地执行DNS查找,而只将IP地址发送到代理服务器。首先,没有机制指定代理应该为特定主机尝试特定的IP地址。您可以将URL从http://example.com/mypage更改为http://33.33.33.33/mypage,但是代理服务器将不知道请求哪个主机名,这是现代web的一个重要部分(HTTP/1.1及更高版本),这取决于请求中始终存在主机头,从而消除了从不同IP地址为所有主机名提供服务的限制。
您最好的选择是将代理服务器配置为使用您选择的DNS解析器。这只有在使用您控制的本地代理服务器时才有可能。
注意:当您使用SOCKS代理或其他较低级别的隧道方法时,可以使用本地DNS服务器。只是不使用HTTP代理。
发布于 2019-01-19 23:13:27
编辑:或者您可以使用PAC文件来控制代理的使用与否,这取决于您的标准。如果适用的话,自动选择结果缓存必须关闭。
您可以安装Technitium并成为DNS服务器。https://technitium.com/
发布于 2022-03-24 11:22:29
您需要一个红袜代理程序(因为它使用iptables) +一些本地代理中介,比如这,所以很难设置。
红袜的特性是DNS查询在默认情况下是直接的,而不是通过代理。运行:sudo -H -u proxyuser socks5-server。然后是浏览器或任何应用程序。
socks5 5-服务器不是必需的,但否则您必须从另一个用户(proxyuser)运行浏览器,并使用xhost+选项运行它。
您可以尝试proxychains +3 3proxy (socks) > browser,而不是红袜+socks 5服务器。proxychains是一个相当弱的proxificator,并不支持所有的应用程序(它不支持静态链接)。然后在浏览器中禁用SOCKS DNS。我还没有用这种方法测试过。
在Windows中,您可以使用Proxifier。
https://askubuntu.com/questions/447877
复制相似问题