如何在 Rocky Linux 中使用 nmcli 配置和管理代理服务器?

问题浏览数Icon
44
问题创建时间Icon
2025-04-21 14:09:00
作者头像
vmghost77

在Rocky Linux中使用nmcli配置代理服务器,可通过以下命令设置HTTP/HTTPS代理:

nmcli connection modify <连接名> proxy.http http://代理地址:端口
nmcli connection modify <连接名> proxy.https http://代理地址:端口
nmcli connection modify <连接名> proxy.method manual
nmcli connection down <连接名> && nmcli connection up <连接名>

延伸知识点:代理排除列表配置 通过proxy.ignore-hosts参数可定义绕过代理的IP或域名。例如:

nmcli connection modify <连接名> proxy.ignore-hosts "192.168.1.0/24, .internal.com, localhost"

该参数支持:

  1. 通配符*.example.com匹配子域名;
  2. CIDR192.168.1.0/24匹配整个子网;
  3. 端口排除:需额外通过no_proxy环境变量设置。 生效后,访问ping internal.com将直连,而curl https://external.com仍走代理。使用nmcli connection show <连接名> | grep proxy可验证配置。

更多回答

作者头像
xiaolong88
  1. 查看当前连接名称

    nmcli connection show

    记录使用的连接名称(如eth0、enp1s0等)

  2. 配置HTTP/HTTPS代理

    nmcli connection modify <连接名称> proxy.method manual \
    proxy.http <IP:端口> \
    proxy.https <IP:端口> \
    proxy.ignore-hosts "localhost,127.0.0.0/8"
  3. 设置认证(如有需要)

    nmcli connection modify <连接名称> \
    proxy.http-user <用户名> \
    proxy.http-password <密码>
  4. 激活配置

    nmcli connection down <连接名称> && nmcli connection up <连接名称>
  5. 验证配置

    nmcli connection show <连接名称> | grep proxy
  6. 临时禁用代理

    nmcli connection modify <连接名称> proxy.method none
作者头像
shanguang77

在Rocky Linux中使用nmcli connection modify修改网络连接,添加代理服务器地址和端口,例如nmcli connection modify <连接名> proxy.http proxy://IP:端口,完成后使用nmcli connection up <连接名>激活设置即可。

作者头像
dongyue22

在Rocky Linux中使用nmcli配置代理服务器时,建议优先通过NetworkManager实现系统级代理管理,而非依赖环境变量。可通过以下步骤:

  1. 连接识别:使用nmcli connection show确定目标网络连接名称(如eth0或ens192)。
  2. 代理配置
    sudo nmcli connection modify <CONNECTION_NAME> proxy.method manual \
    proxy.http <代理IP:端口> \
    proxy.https <代理IP:端口> \
    proxy.ignore-hosts '<排除域名列表>'
  3. PAC模式:若需自动配置脚本,将proxy.method设为auto并指定proxy.pac-url
  4. 激活配置nmcli connection up <CONNECTION_NAME>

架构设计层面,建议:

  • 通过Ansible将配置模板化,实现批量节点部署
  • 在容器化环境中通过CNI插件集成代理设置
  • 结合firewalld创建代理专用zone增强安全控制
  • 使用nmstate工具实现声明式网络配置管理

验证时需注意:network-manager服务需保持运行,且代理策略需与SELinux上下文规则、系统服务启动顺序(通过systemd依赖)保持兼容。

作者头像
xingling22

在Rocky Linux用nmcli搞代理,先查当前连接名,比如用nmcli connection show。然后改配置,比如连接叫eth0,就执行:sudo nmcli connection modify eth0 proxy.method manual proxy.http 代理IP:端口 proxy.https 代理IP:端口 proxy.ignore-hosts 忽略的域名。改完重启连接sudo nmcli connection up eth0。想关代理就把method改成none再重启。这样curl/wget就走代理了,简单吧?

作者头像
chaofeng9

是否考虑过使用环境变量或应用层代理配置,或许能更灵活地适配不同场景?