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

简述

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

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

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

    bash 复制代码
    # 在服务器B上
    sudo yum install squid
    sudo vi /etc/squid/squid.conf

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

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

    启动Squid服务:

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

    设置环境变量:

    bash 复制代码
    # 在服务器A上
    export http_proxy="http://服务器B的IP:3128"
    export https_proxy="http://服务器B的IP:3128"

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

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

    对于yum:

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

    bash 复制代码
    proxy=http://服务器B的IP:3128

    对于docker:

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

    bash 复制代码
    [Service]
    Environment="HTTP_PROXY=http://服务器B的IP:3128"
    Environment="HTTPS_PROXY=http://服务器B的IP:3128"

    然后重启Docker服务:

    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    对于git:

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

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

    bash 复制代码
    yum update
    docker pull hello-world
    git clone https://github.com/some/repository.git

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

相关推荐
lihuhelihu36 分钟前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
山东布谷科技官方1 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
爱吃喵的鲤鱼1 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
荒Huang2 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
九河云3 小时前
如何选择适合的AWS EC2实例类型
服务器·云计算·aws
其乐无涯4 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
写bug的小屁孩4 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
斑布斑布4 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
紅色彼岸花4 小时前
第六章:DNS域名解析服务器
运维·服务器
Spring_java_gg4 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全