Linux

CentOS 6.5 代理繞過/no_proxy 不工作

  • October 12, 2019

我在我的桌面上執行 CentOS 6.5。我已經設置了Network Proxy使用下提供的網路代理應用程序Preferences。我還設置了以下例外:localhost,127.0.0.0/8,172.16.0.0/12,192.168.0.0./16

但是,每當我使用 wget(我正在使用 wget 測試代理設置)時,wget 都會嘗試連接到私有地址的代理,但wget localhost工作正常並且不使用代理。

我還刪除了所有代理設置並在 shell 中設置代理:

export http_proxy="<proxy_url>:<port>"
export https_proxy="<proxy_url>:<port>"
export no_proxy="localhost,127.0.0.0/8,172.16.0.0/12,192.168.0.0./16"

它在我使用命令時工作,wget <external_url>或者wget localhost在我使用命令時失敗wget <private address from the $no_proxy variable>

我也嘗試在 Ubuntu 14.04 中設置變數並面臨同樣的問題。

編輯:我發現外殼忽略了 CIDR 表示法。如果我需要在沒有代理的情況下瀏覽 127.0.0.1 那麼我需要在no_proxy變數中輸入 127.0.0.1 而不是 127.0.0.0/8

您在以下範圍之一上有額外的點:

export no_proxy="localhost,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16"

編輯:

搜尋後,似乎 no_proxy 不適用於網路,只有域.sample.com或確切的 IP 192.168.1.2,所以要麼添加本地域,網路擁有的所有 IP,要麼使用類似的標誌wget --no-proxy

如果我們需要從代理設置中排除 192.168.1.0/24,我們可以設置環境變數 no_proxy 如下:

export no_proxy=localhost,.localdomain
export no_proxy=${no_proxy},$(echo 192.168.1.{1..255} | sed 's/ /,/g')

引用自:https://serverfault.com/questions/623543