我是 Linux Ubuntu 用户,在整个系统上设置代理时遇到了一些问题。
我进入 Gnome 的网络设置,然后转到网络代理设置掩码,然后我将我的代理设置为 *HTTP 代理**手动的,然后点击适用于整个系统按钮,它会询问我的密码,然后就完成了
问题是,如果我打开 shell,网络就不工作,我无法 ping 任何东西,事实上我只得到:
andrea@andrea-Studio-1555:~$ ping google.com
PING google.com (173.194.35.7) 56(84) bytes of data.
并且光标仍然闪烁并且不继续......
为什么?我该怎么做才能使用 shell 中的代理出去?
答案1
Ping 是 ICMP - 位于“网络层”。您的代理可能仅支持 HTTP/HTTPS/FTP 等 - 位于“应用层”。要能够 ping(或发送 ICMP 数据包并接收响应),您需要在防火墙上启用 ICMP。
请参见OSI模型:http://en.wikipedia.org/wiki/OSI_model
换句话说,您设置的代理不是为了代理 ICMP 数据包而设计的,因为它“太高了”。
另外,你说网络不工作。其实可以:
PING google.com (173.194.35.7) 56(84) 字节数据。
就好像您的 DNS 服务器中没有 google.com 一样/etc/hosts
,您会收到来自 DNS 服务器的回复,因此网络可以正常工作。
答案2
尝试 wget google 它会工作,因为 http 请求,ping 是 ICMP,OSI 模型中的另一层。
wget google.com
如果你想要为 Apt 之类的应用程序重定向网络,请尝试将以下行添加到 /etc/*.conf 文件
Acquire::http::Proxy "http://login:password@ServeurProxy:Port";
NTLM 可能性
如果不起作用,你可能处于某些具有 NTLM 身份验证的 Windows 网络中,请使用 apt NTLMAPS 或 CNTLM 安装(或在其网站上下载 .deb)。在 github 中搜索 NTLM 以查找其他语言的内容。 你必须应用 Tuts使其正常工作。
在 Google 中搜索“ntlm ubuntu apt.conf”,这是一个常见问题,您可以找到其他信息。尽情享受吧 :)