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

问题浏览数Icon
49
问题创建时间Icon
2025-03-25 21:46:00
作者头像
brightwing101
  1. 配置环境变量代理

    • 临时生效:
      export http_proxy='http://<代理IP>:<端口>'
      export https_proxy='http://<代理IP>:<端口>'
    • 永久生效:
      编辑 /etc/profile.d/proxy.sh,添加:
      export HTTP_PROXY=http://<代理IP>:<端口>  
      export HTTPS_PROXY=http://<代理IP>:<端口>  

      执行 source /etc/profile 生效。

  2. 配置DNF代理
    编辑 /etc/dnf/dnf.conf,添加:

    proxy=http://<代理IP>:<端口>  

    (若需认证,添加 proxy_username=<用户>proxy_password=<密码>

  3. Docker服务代理
    创建 /etc/systemd/system/docker.service.d/http-proxy.conf,添加:

    [Service]  
    Environment="HTTP_PROXY=http://<代理IP>:<端口>"  
    Environment="HTTPS_PROXY=http://<代理IP>:<端口>"  

    执行:
    systemctl daemon-reload
    systemctl restart docker

  4. Systemd服务代理
    编辑服务配置文件(如 /etc/systemd/system/ntp.service.d/proxy.conf),添加:

    [Service]  
    Environment="HTTP_PROXY=http://<代理IP>:<端口>"  

    执行:
    systemctl daemon-reload
    systemctl restart <服务名>

验证代理
curl -I https://example.com 或检查服务日志(journalctl -u <服务名>

注意事项

  • 代理IP需可达且允许流量
  • 敏感信息建议使用加密传输或代理白名单
  • 部分应用(如wget)需单独配置代理

更多回答

作者头像
froststep66

在Rocky Linux里搞代理服务器,最简单的就是装个Squid。先sudo dnf install squid安装,改配置文件/etc/squid/squid.conf,比如把http_port改成你要的端口(比如3128)。要临时用代理的话,命令行里跑export http_proxy=http://你的IP:端口,想永久生效就把这行塞到/etc/profile.d/proxy.sh里。别忘开防火墙firewall-cmd --add-port=端口/tcp --permanent,最后systemctl restart squid重启服务就行啦!

作者头像
haoyue01

在Rocky Linux中配置代理服务器需分场景处理:

  1. 系统级代理:在/etc/profile.d/proxy.sh中设置HTTP_PROXYHTTPS_PROXY环境变量,重启生效;对于systemd服务,需在/etc/systemd/system.conf添加DefaultEnvironment
  2. 包管理器:在/etc/dnf/dnf.conf添加proxy=http://ip:port,支持proxy_usernameproxy_password(需URL编码特殊字符)。
  3. 防火墙:通过firewall-cmd --add-port=3128/tcp --permanent开放代理端口。
  4. 应用适配:Curl/Wget默认继承环境变量,容器场景需在Dockerfile或运行时指定--env参数。 注意点:若代理需认证,建议使用白名单IP或密钥管理工具(如Vault)避免明文密码;调试时用curl -v -x <proxy>验证连通性,优先选择socks5或https代理提升安全性。
作者头像
echofox99

在Rocky Linux中配置代理服务器的核心步骤可分为环境配置与工具集成两个维度:

  1. 系统级代理
    通过/etc/profile.d/proxy.sh设置全局变量:

    export http_proxy="http://proxy_ip:port"
    export https_proxy="$http_proxy"
    export no_proxy="localhost,127.0.0.1,.internal"

    使用source /etc/profile.d/proxy.sh立即生效

  2. 包管理器代理
    /etc/dnf/dnf.conf追加:

    proxy=http://proxy_ip:port

    验证:dnf makecache

  3. Squid代理部署
    安装:sudo dnf install squid
    配置访问控制:

    acl allowed_ips src 192.168.1.0/24
    http_access allow allowed_ips

    身份验证支持:

    auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
    acl auth_users proxy_auth REQUIRED
    http_access allow auth_users
  4. 防火墙规则

    firewall-cmd --permanent --add-port=3128/tcp
    firewall-cmd --reload
  5. 服务调试
    实时日志监控:journalctl -u squid -f
    配置检查:squid -k parse

补充方案:

  • 容器环境需在Docker daemon.json配置"proxies"
  • Ansible通过environment:模块注入代理变量
  • 临时会话代理使用curl -x http://proxy:port
作者头像
guangfei77

在Rocky Linux中配置代理服务器需分环境与应用场景处理,以下为实践总结:

  1. 代理服务选型与配置

    • 推荐Squid(dnf install squid)或Nginx Stream模块。Squid需重点配置/etc/squid/squid.conf
      acl localnet src 192.168.1.0/24  # 限制内网访问  
      http_access allow localnet  
      http_port 3128 intercept  # 启用透明代理需内核参数调整
      cache_dir ufs /var/spool/squid 5000 16 256  # 缓存目录容量单位MB
    • 曾遇到缓存目录权限问题导致服务启动失败,需执行squid -z初始化缓存结构
  2. 系统级代理渗透

    • 全局变量:在/etc/profile.d/proxy.sh设置HTTP_PROXY=http://proxy_ip:port,但容器/Docker需独立配置/etc/systemd/system/docker.service.d/http-proxy.conf
    • 特定工具代理:YUM/DNF需在/etc/dnf/dnf.conf添加proxy=http://proxy:port,否则系统变量不生效
  3. 实践挑战与解决方案

    • SELinux拦截:Squid绑定非标准端口时触发AVC denied,需setsebool -P squid_connect_any 1
    • 透明代理流量丢失:需加载TPROXY模块并配置策略路由,曾因iptables-legacynftables混用导致NAT失效
    • TLS中间人阻断:启用HTTPS拦截需预置CA证书至/etc/pki/ca-trust/source/anchors/并执行update-ca-trust
    • 缓存击穿:大文件下载导致磁盘IO瓶颈,通过maximum_object_size 1024 MB限制缓存对象
  4. 监控与排错

    • 日志分析:journalctl -u squid -f实时跟踪,关键字段TCP_DENIED/407代表鉴权失败
    • 性能调优:squidclient mgr:info查看命中率,当store_swap_size超过95%需扩容缓存分区

注:生产环境建议部署双Squid实例+Keepalived实现高可用,透明代理场景需配合交换机策略路由实现流量牵引。

作者头像
doudou22

在Rocky Linux中配置代理服务器主要有三种模式:1) 传统代理(如Squid)适用于精确控制流量,需安装并配置/etc/squid/squid.conf,通过http_access策略限制访问;2) 透明代理通过iptables/nftables实现流量重定向,需启用IP转发并配置NAT规则;3) 环境变量代理(export http_proxy)适合临时场景,可通过写入/etc/environment实现持久化。企业级部署建议结合Firewalld rich rules进行源IP过滤,并通过squid -k parse验证配置语法。关键指标包括连接并发数(max_filedescriptors)和缓存效率(cache_dir参数优化),生产环境需配置TLS加密和LDAP集成认证。