Linux搭建HTTP代理服务器

1. 概述

在 Ubuntu 和 RHEL 系统上搭建代理服务器并配置防火墙,以确保网络安全和访问控制。本文主要使用 Squid 作为代理服务器软件,并使用 UFW(Ubuntu)和 firewalld(RHEL)来管理防火墙。

2. 范围

适用于希望通过代理服务器安全地访问互联网的用户和组织,适合 Ubuntu 和 RHEL 系统。

3. 职责

  • 系统管理员:负责安装和配置代理服务器及防火墙,确保其安全性和正常运行。
  • 用户:负责通过代理服务器访问互联网,并遵循公司网络安全政策。

4. 要求

  • 具备 Ubuntu 或 RHEL 操作系统的服务器或计算机。
  • 具备管理员权限。

5. 过程

步骤 1: 更新系统

在终端中运行以下命令以确保系统软件包是最新的:

  • Ubuntu:

    1
    sudo apt update && sudo apt upgrade -y
  • RHEL:

    1
    sudo yum update -y

步骤 2: 安装 Squid

在终端中运行以下命令以安装 Squid:

  • Ubuntu:

    1
    sudo apt install squid -y
  • RHEL:

    1
    sudo yum install squid -y

步骤 3: 配置 Squid

  1. 编辑 Squid 配置文件:
    1
    sudo nano /etc/squid/squid.conf
  2. 配置访问控制列表(ACL):
    1
    2
    3
    acl localnet src 192.168.1.0/24  # 适配局域网IP段
    http_access allow localnet
    http_access deny all
  3. 设置代理端口(默认为 3128):
    1
    http_port 3128

步骤 4: 安装和配置防火墙

  • Ubuntu 使用 UFW:

    1. 安装 UFW(如果未安装):
      1
      sudo apt install ufw -y
    2. 允许通过代理端口访问:
      1
      sudo ufw allow 3128/tcp
    3. 启用 UFW:
      1
      sudo ufw enable
    4. 检查 UFW 状态:
      1
      sudo ufw status
  • RHEL 使用 firewalld:

    1. 启用 firewalld:
      1
      2
      sudo systemctl start firewalld
      sudo systemctl enable firewalld
    2. 允许通过代理端口访问:
      1
      2
      sudo firewall-cmd --zone=public --add-port=3128/tcp --permanent
      sudo firewall-cmd --reload
    3. 检查 firewalld 状态:
      1
      sudo firewall-cmd --state

步骤 5: 重启 Squid 服务

在修改配置后,重启 Squid 以应用更改:

1
sudo systemctl restart squid

步骤 6: 检查 Squid 状态

确保 Squid 正在运行:

1
sudo systemctl status squid

步骤 7: 配置客户端

在客户端计算机上,将网络代理设置为服务器的 IP 地址和配置的端口(例如,http://<server-ip>:3128)。

流程图

代理服务器搭建流程图