利用Squid实现局域网内多台机器共享上网

avatar
作者
筋斗云
阅读量:0
简述

服务器A为内网机器,服务器B和A在同一局域网环境,服务器B可以访问外部网络,现在希望服务器A可以通过服务器B访问外部网络

  1. 在服务器B上设置代理服务器:

    Squid作为代理服务器。在服务器B上安装并配置Squid:

    # 在服务器B上 sudo yum install squid sudo vi /etc/squid/squid.conf 

    在squid.conf中添加或修改以下内容:

    http_port 3128 acl localnet src 10.0.0.0/8     # 假设您的局域网IP范围 http_access allow localnet http_access deny all 

    启动Squid服务:

    sudo systemctl start squid sudo systemctl enable squid 
  2. 在服务器A上配置代理设置:

    设置环境变量:

    # 在服务器A上 export http_proxy="http://服务器B的IP:3128" export https_proxy="http://服务器B的IP:3128" 

    为了使这些设置永久生效,将它们添加到/etc/profile或~/.bashrc文件中。

  3. 配置特定工具使用代理:

    对于yum:
    编辑/etc/yum.conf,添加:

    proxy=http://服务器B的IP:3128 

    对于docker:
    创建或编辑/etc/systemd/system/docker.service.d/http-proxy.conf:

    [Service] Environment="HTTP_PROXY=http://服务器B的IP:3128" Environment="HTTPS_PROXY=http://服务器B的IP:3128" 

    然后重启Docker服务:

    sudo systemctl daemon-reload sudo systemctl restart docker 

    对于git:

    git config --global http.proxy http://服务器B的IP:3128 git config --global https.proxy http://服务器B的IP:3128 
  4. 测试连接:

    在服务器A上测试各个工具:

    yum update docker pull hello-world git clone https://github.com/some/repository.git 

请注意使用代理可能会带来一些安全风险,请确保采取适当的安全措施,如限制代理访问和监控流量。可以考虑使用 openvpn 实现。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!