我正尝试在我的 ubuntu 终端上 ping google.com。但收到一条错误消息。
ping www.google.com
ping: unknown host www.google.com
我使用大学网络的代理。我在互联网上看到过很多如何做到这一点的例子,但没有一个对我有用。
我正在使用 UBUNTU 14.04 LTS(我是 UBUNTU 的新用户)
我尝试过以下解决方案
选项1
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy.http host 'http://192.168.3.10'
gsettings set org.gnome.system.proxy.http port 3128
gsettings set org.gnome.system.proxy.http use-authentication true
gsettings set org.gnome.system.proxy.http authentication-user 'myusername'
gsettings set org.gnome.system.proxy.http authentication-password 'mypassword'
最后
sudo gedit /etc/apt/apt.conf.d/20proxy
Acquire::http::Proxy "http://myusername:[email protected]:8080"
选项 2
sudo -H gedit /etc/profile.d/proxy.sh
export http_proxy=http://username:password@proxyhost:port/
export ftp_proxy=http://username:password@proxyhost:port/
export telnet_proxy=http://username:password@proxyhost:port/
不幸的是,这些都没有起作用。
答案1
简短的回答:如果他们的工作做得对,你就不会。
长答案:您在一个网络上,一切都必须通过代理(这就是为什么您需要设置那些环境变量,顺便说一下,应该设置这些环境变量,/etc/environment
并且不要忘记排除列表no_proxy
)。
ping
默认情况下使用ICMP数据包。如果您有 socks 代理,代理将专门处理 TCP 数据包和 UDP 数据包。
代理对于最终用户来说很麻烦。从历史上看,它们是出于性能原因而使用的,但如今它们几乎专门用于监管连接(您的雇主、您的大学等...)或避免地理封锁(避免被 Hulu、Netflix 等在地理上封锁)。
你能绕过代理,但这需要大量工作和一个“免费”的外部服务器。方法是使用 https 上的 ssh 隧道,或者也模拟 https 连接的 VPN。然而,这完全超出了问题的范围。
答案2
如果您使用的是静态 IP,您还应该添加 DNS 服务器。
编辑
/etc/network/interfaces
:sudo nano /etc/network/interfaces
下面
iface eth0 inet static
添加以下行:dns-nameservers 8.8.8.8 8.8.4.4
这将使用 Google 的 DNS 服务器。
重启网络:
sudo /etc/init.d/networking restart
笔记:正如 Chaos 所说,您也可以编辑,/etc/resolv.conf
但这些更改将在 reobot 上被覆盖。
笔记2:有时sudo /etc/init.d/networking restart
还不够,但完全重启会有所帮助。
答案3
打开你的终端,
gedit .bashrc
然后添加以下几行,
export http_proxy="http://myusername:[email protected]:8080"
export https_proxy="https://myusername:[email protected]:8080"
关闭终端,打开新终端
sudo gedit /etc/apt/apt.conf
并添加以下几行,
Acquire::http::Proxy "http://myusername:[email protected]:8080"
Acquire::https::Proxy "https://myusername:[email protected]:8080"
Acquire::socks::Proxy "socks://myusername:[email protected]:8080"
现在尝试 ping google
ping www.google.com
它肯定会起作用。