如何绕过代理在终端中 ping google.com

如何绕过代理在终端中 ping google.com

我正尝试在我的 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 服务器。

  1. 编辑/etc/network/interfaces

    sudo nano /etc/network/interfaces
    
  2. 下面iface eth0 inet static添加以下行:

    dns-nameservers 8.8.8.8 8.8.4.4
    

    这将使用 Google 的 DNS 服务器。

  3. 重启网络:

    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

它肯定会起作用。

相关内容