我有一台机器连接到 2 个网络,其中一些是我的本地网络,我想绕过(而不是通过)代理:
如何为本地网络范围定义 no_proxy,例如 192.168.100.0/24
此语法 192.168.100.0/24 在浏览器定义中有效,但似乎 int 在 /etc/environment 或 no_proxy 设置中不起作用!
答案1
不幸的是,没有可用于 no_proxy 的语法来覆盖子网。我知道的唯一解决方案是使用类似以下内容生成整个列表:
export no_proxy=${no_proxy},$(echo 192.168.100.{1..255} | sed 's/ /,/g')
答案2
自从版本 7.86.0(2022 年 10 月)至少curl
支持 CIDR 语法no_proxy
。由于许多应用程序正在使用,libcurl
它们将间接继承此功能。
从curl 文档: “自 7.86.0 起,可以使用 CIDR 表示法提供为此选项指定的 IP 地址:附加的斜杠和数字指定用于比较的地址中的“网络位数”。例如,“192.168.0.0/16”将匹配所有以“192.168”开头的地址。”
原始 github 问题:no_proxy 不支持 cidr。 一些示例可以在 curl 的单元测试中找到。