CLI 相当于网络设置“网络代理”手动选项?

CLI 相当于网络设置“网络代理”手动选项?

我的公司使用代理配置来访问内部资源,我是唯一使用 Ubuntu (20.04) 的开发人员,因此我一直在编写自己的等效于他们的 Mac 脚本。我可以使用网络系统设置面板来使一切正常工作,但单击“网络代理”并设置“手动”配置,但我想通过脚本通过 CLI 设置这些设置。我今天搜索了一段时间,但找不到任何似乎可以解释如何设置系统级代理设置;所以我转向你们。

是否有与系统 > 网络设置屏幕中的“网络代理”设置等效的 CLI?

我特别需要设置 SOCKS 主机和端口,并确保尊重忽略主机列表。

非常感谢任何指导!

答案1

如果您不想使用 GUI,您有多种选择。首先是nmcli con edit [network-profile],然后是nmcli con mod [network-profile],最后您可以直接编辑原始文本文件(假设您以 root 身份运行)。[network-profile]我说的是指您要配置的网络配置文件的名称。

第一个想要使用交互性,但您可以将任何/所有选项传递给 stdin。换句话说,您需要执行类似“echo options | nmcli con edit [network-profile]”的操作。

第二种方法允许您通过命令行指定参数,但您未指定的任何内容可能会被删除,从而删除您不一定想要的预先存在的设置。例如,如果您修改 VPN 连接并更改了 中的一项内容vpn.data,则您必须更改所有内容,否则会丢失一堆设置。

第三种方式是编辑文件/etc/NetworkManager/system-connections/,然后重新加载这些文件 - 通过重新启动 NetworkManager(从而暂时失去网络连接),或者运行nmcli con reload(以 root 身份)。

不管怎样,为了学习,你得把事情弄得一团糟。(我还在学习。)如果你这样做了,那也不一定就是世界末日,但建议你保留备份,以防万一。

至于忽略主机,有一个文件/etc/hosts.deny,这是一个文本文件,据我所知,它不附带任何工具来自动执行更改,您需要自己编写代码来解决这个问题。默认情况下,该文件只附带注释,旨在帮助用户了解如何使用此文件。

相关内容