首页 > 其他分享 >统信UOS搭建Squid代理服务器

统信UOS搭建Squid代理服务器

时间:2024-02-01 12:31:47浏览次数:26  
标签:UOS squid x86 uel20 Squid pdsyw 64 代理服务器 root

原文链接:统信UOS搭建Squid代理服务器

hello,大家好啊!今天我要给大家介绍的是在统信UOS服务器操作系统1060e上部署搭建Squid代理服务器的详细步骤。Squid是一款广泛使用的代理服务器软件,它可以帮助企业或个人高效地管理网络流量,提高访问速度,并增强网络安全。通过使用htpasswd进行用户密码认证,我们可以确保只有授权的用户才能使用代理服务。本次实验将在统信UOS服务器操作系统1060e上进行,旨在搭建一个安全、高效的Squid代理服务器。让我们开始吧!

实验环境

  • 服务器信息
  • 操作系统:x86 统信UOS服务器操作系统1060e
  • IP1(用于访问互联网):192.168.80.132/24
  • 网关:192.168.80.254
  • IP2(用于内网访问):172.16.0.2/24
  • 网关:172.16.0.254
  • 终端信息
  • 操作系统:x86 统信UOS桌面专业版操作系统1060
  • IP(用于内网访问):172.16.0.133/24
  • 网关:172.16.0.254

实验目的

在服务器上搭建Squid代理服务器,使终端能够通过配置服务器的代理IP及端口号,安全地访问互联网信息。

实验步骤

  1. 搭建Squid代理服务器
  • 安装Squid:在服务器上打开终端,输入以下命令安装Squid代理服务器:
  • 配置Squid:编辑Squid的配置文件/etc/squid/squid.conf,设置允许的访问控制列表(ACL)和代理规则。
  1. 创建用户名密码认证文件
  • 安装httpd-tools
  • 使用htpasswd创建认证文件:sudo htpasswd -c /etc/squid/passwd 用户名
  • 在Squid配置文件中引用这个认证文件,并设置需要认证的ACL规则。
  1. 在终端配置系统代理及应用代理
  • 在终端的网络设置中,配置代理服务器的IP地址和端口号。
  • 尝试访问互联网,系统应提示输入用户名和密码。
  1. 测试代理是否生效
  • 使用浏览器或其他工具测试是否能够通过代理服务器访问互联网。
  • 检查Squid的访问日志,确认代理服务正常工作。


注意事项

  • 在进行任何配置更改之前,请确保备份原始配置文件。
  • 确保服务器的防火墙和路由设置允许代理流量通过。
  • 定期检查和更新Squid及其依赖包,以确保安全性和稳定性。


1.查看系统信息

[root@pdsyw ~]# cat /etc/os-version
[Version]
SystemName=UOS Server
SystemName[zh_CN]=统信服务器操作系统
ProductType=Server
ProductType[zh_CN]=服务器
EditionName=e
EditionName[zh_CN]=e
MajorVersion=20
MinorVersion=1060
OsBuild=12038.101.100
[root@pdsyw ~]#
[root@pdsyw ~]# uname -a
Linux pdsyw 4.19.90-2305.1.0.0199.56.uel20.x86_64 #1 SMP Fri May 12 19:23:49 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_内网

2.安装 squid

[root@pdsyw ~]# yum install squid -y
Last metadata expiration check: 0:02:04 ago on 2024年01月04日 星期四 19时24分51秒.
Dependencies resolved.
==========================================================================
 Package  Arch    Version         Repository                         Size
==========================================================================
Installing:
 squid    x86_64  7:4.9-16.uel20  UnionTechOS-Server-20-everything  3.3 M
Installing dependencies:
 libecap  x86_64  1.0.1-4.uel20   UnionTechOS-Server-20-everything   21 k

Transaction Summary
==========================================================================
Install  2 Packages

Total download size: 3.3 M
Installed size: 11 M
Downloading Packages:
(1/2): libecap-1.0.1-4.uel20.x86_64.rpm   107 kB/s |  21 kB     00:00
(2/2): squid-4.9-16.uel20.x86_64.rpm      746 kB/s | 3.3 MB     00:04
--------------------------------------------------------------------------
Total                                     750 kB/s | 3.3 MB     00:04
UnionTechOS-Server-20-1060-everything      19 kB/s | 1.7 kB     00:00
Importing GPG key 0x8DF595ED:
 Userid     : "UnionTech <[email protected]>"
 Fingerprint: C822 503F 2F4C E25A 6EA0 65BE 9055 A64E 8DF5 95ED
 From       : https://euler-packages.chinauos.com/server-euler//fuyu/1060/everything/x86_64/RPM-GPG-KEY-UnionTech
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                  1/1
  Installing       : libecap-1.0.1-4.uel20.x86_64                     1/2
  Running scriptlet: libecap-1.0.1-4.uel20.x86_64                     1/2
  Running scriptlet: squid-7:4.9-16.uel20.x86_64                      2/2
  Installing       : squid-7:4.9-16.uel20.x86_64                      2/2
  Running scriptlet: squid-7:4.9-16.uel20.x86_64                      2/2
  Verifying        : libecap-1.0.1-4.uel20.x86_64                     1/2
  Verifying        : squid-7:4.9-16.uel20.x86_64                      2/2

Installed:
  libecap-1.0.1-4.uel20.x86_64         squid-7:4.9-16.uel20.x86_64

Complete!
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_服务器_02

3.编辑squid.conf配置文件

1)在进行更改之前,备份原始的Squid配置文件

2)确保在任何http_access deny all规则之前添加http_access allow authenticated。

[root@pdsyw ~]# cp /etc/squid/squid.conf /etc/squid/squid.conf.backup
[root@pdsyw ~]#
[root@pdsyw ~]# vi /etc/squid/squid.conf
[root@pdsyw ~]#
[root@pdsyw ~]# cat /etc/squid/squid.conf
#指定Squid监听的内网接口和端口(默认3128)
http_port 172.16.0.2:3128

#定义ACL:设置允许公司内网访问的规则
acl localnet src 172.16.0.0/24  # 你的公司内网IP段

#添加认证配置,如不需要可以注释,并且可以选择更加安全的认证方式,这里只做最基本但不安全的演示
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

#设置访问权限:允许定义的内网访问
http_access allow localnet

#配置基本安全规则:拒绝所有其他访问
http_access deny all

# 设置缓存目录和大小 (这里设置为10000 MB)
cache_dir ufs /var/spool/squid 10000 16 256

# 指定访问日志文件位置
access_log /var/log/squid/access.log squid

统信UOS搭建Squid代理服务器_linux_03

4.安装Apache工具(包含htpasswd)

htpasswd是Apache服务器的一部分,用于创建和更新经过哈希处理的密码文件。

[root@pdsyw ~]# yum install httpd-tools -y
Last metadata expiration check: 0:41:09 ago on 2024年01月04日 星期四 19时24分51秒.
Dependencies resolved.
==========================================================================
 Package     Arch   Version        Repository                        Size
==========================================================================
Installing:
 httpd-tools x86_64 2.4.43-23.up1.uel20
                                   UnionTechOS-Server-20-everything  68 k
Installing dependencies:
 apr         x86_64 1.7.0-5.uel20  UnionTechOS-Server-20-everything 108 k
 apr-util    x86_64 1.6.1-15.uel20 UnionTechOS-Server-20-everything 108 k

Transaction Summary
==========================================================================
Install  3 Packages

Total download size: 284 k
Installed size: 763 k
Downloading Packages:
(1/3): apr-1.7.0-5.uel20.x86_64.rpm       465 kB/s | 108 kB     00:00
(2/3): apr-util-1.6.1-15.uel20.x86_64.rpm 427 kB/s | 108 kB     00:00
(3/3): httpd-tools-2.4.43-23.up1.uel20.x8 238 kB/s |  68 kB     00:00
--------------------------------------------------------------------------
Total                                     973 kB/s | 284 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                  1/1
  Running scriptlet: apr-1.7.0-5.uel20.x86_64                         1/3
  Installing       : apr-1.7.0-5.uel20.x86_64                         1/3
  Running scriptlet: apr-1.7.0-5.uel20.x86_64                         1/3
  Running scriptlet: apr-util-1.6.1-15.uel20.x86_64                   2/3
  Installing       : apr-util-1.6.1-15.uel20.x86_64                   2/3
  Running scriptlet: apr-util-1.6.1-15.uel20.x86_64                   2/3
  Installing       : httpd-tools-2.4.43-23.up1.uel20.x86_64           3/3
  Running scriptlet: httpd-tools-2.4.43-23.up1.uel20.x86_64           3/3
  Verifying        : apr-1.7.0-5.uel20.x86_64                         1/3
  Verifying        : apr-util-1.6.1-15.uel20.x86_64                   2/3
  Verifying        : httpd-tools-2.4.43-23.up1.uel20.x86_64           3/3

Installed:
  apr-1.7.0-5.uel20.x86_64                apr-util-1.6.1-15.uel20.x86_64
  httpd-tools-2.4.43-23.up1.uel20.x86_64

Complete!
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_uos_04

5.创建密码文件

使用htpasswd来创建一个新的密码文件。此文件将存储经过验证的用户名和密码。

这里,pdsyw是你希望创建的第一个用户名。系统会提示你输入密码。-c参数用于首次创建新文件,如果你想要添加更多用户,再次运行命令但省略-c参数。

[root@pdsyw ~]# htpasswd -c /etc/squid/passwords pdsyw
New password:
Re-type new password:
Adding password for user pdsyw
[root@pdsyw ~]#
[root@pdsyw ~]# htpasswd  /etc/squid/passwords pdsywer
New password:
Re-type new password:
Adding password for user pdsywer
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_内网_05

6.调整文件权限

确保Squid进程能够读取密码文件

[root@pdsyw ~]# chmod o+r /etc/squid/passwords
[root@pdsyw ~]#
[root@pdsyw ~]# ll /etc/squid/passwords
-rw-r--r-- 1 root root 90  1月  4 20:07 /etc/squid/passwords
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_服务器_06

7.验证配置

这个命令将检查配置文件语法是否有误。确保没有错误再继续。

http_port 172.16.0.2:3128:Squid将监听在内网地址172.16.0.2的3128端口上。
acl localnet src 172.16.0.0/24:定义了一个名为localnet的访问控制列表(ACL),包含IP范围172.16.0.0/24,即你的公司内网。
http_access allow localnet:允许localnet定义的内网访问Squid代理。
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords:配置了基本认证,使用/usr/lib64/squid/basic_ncsa_auth程序和密码文件/etc/squid/passwords。
auth_param basic realm proxy:定义了在认证提示中显示的领域(realm)名称为proxy。
acl authenticated proxy_auth REQUIRED:定义了一个名为authenticated的ACL,要求必须通过代理认证。
http_access allow authenticated:允许通过认证的用户访问代理。
http_access deny all:默认拒绝所有其他访问。
cache_dir ufs /var/spool/squid 10000 16 256:配置了Squid的缓存目录和参数。
access_log /var/log/squid/access.log squid:定义了Squid的访问日志文件路径。
[root@pdsyw ~]# squid -k parse
2024/01/04 20:16:31| Startup: Initializing Authentication Schemes ...
2024/01/04 20:16:31| Startup: Initialized Authentication Scheme 'basic'
2024/01/04 20:16:31| Startup: Initialized Authentication Scheme 'digest'
2024/01/04 20:16:31| Startup: Initialized Authentication Scheme 'negotiate'
2024/01/04 20:16:31| Startup: Initialized Authentication Scheme 'ntlm'
2024/01/04 20:16:31| Startup: Initialized Authentication.
2024/01/04 20:16:31| Processing Configuration File: /etc/squid/squid.conf (depth 0)
2024/01/04 20:16:31| Processing: http_port 172.16.0.2:3128
2024/01/04 20:16:31| Processing: acl localnet src 172.16.0.0/24  # 你的公司内网IP段
2024/01/04 20:16:31| Processing: auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
2024/01/04 20:16:31| Processing: auth_param basic realm proxy
2024/01/04 20:16:31| Processing: acl authenticated proxy_auth REQUIRED
2024/01/04 20:16:31| Processing: http_access allow authenticated
2024/01/04 20:16:31| Processing: http_access allow localne
2024/01/04 20:16:31| Processing: http_access deny all
2024/01/04 20:16:31| Processing: cache_dir ufs /var/spool/squid 10000 16 256
2024/01/04 20:16:31| Processing: access_log /var/log/squid/access.log squid
2024/01/04 20:16:31| Initializing https:// proxy context

统信UOS搭建Squid代理服务器_uos_07

8.启动服务

应用配置更改并重新启动Squid服务,确保Squid服务正在正常运行。

[root@pdsyw ~]# systemctl restart squid
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl status squid
● squid.service - Squid caching proxy
   Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendo>
   Active: active (running) since Thu 2024-01-04 19:35:48 CST; 4s ago
  Process: 27751 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exit>
  Process: 27757 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (co>
 Main PID: 27758 (squid)
    Tasks: 3
   Memory: 12.5M
   CGroup: /system.slice/squid.service
           ├─27758 /usr/sbin/squid -f /etc/squid/squid.conf
           ├─27760 (squid-1) --kid squid-1 -f /etc/squid/squid.conf
           └─27763 (logfile-daemon) /var/log/squid/access.log

1月 04 19:35:48 pdsyw systemd[1]: Starting Squid caching proxy...
1月 04 19:35:48 pdsyw systemd[1]: Started Squid caching proxy.
1月 04 19:35:48 pdsyw squid[27758]: Squid Parent: will start 1 kids
1月 04 19:35:48 pdsyw squid[27758]: Squid Parent: (squid-1) process 27760>
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_linux_08

9.放开防火墙

放开Squid默认端口(3128)

[root@pdsyw ~]# firewall-cmd --permanent --add-port=3128/tcp
success
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#

统信UOS搭建Squid代理服务器_内网_09

10.客户端信息

1)查看终端信息

pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version 
[Version] 
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11018.100.100
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ uname -a
Linux pdsyw-PC 4.19.0-amd64-desktop #6030 SMP Tue Jun 27 15:58:51 CST 2023 x86_64 GNU/Linux
pdsyw@pdsyw-PC:~/Desktop$

统信UOS搭建Squid代理服务器_服务器_10

2)查看终端ip地址

pdsyw@pdsyw-PC:~/Desktop$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:29:ba:83 brd ff:ff:ff:ff:ff:ff
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:29:ba:8d brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.133/24 brd 172.16.0.255 scope global noprefixroute ens36
       valid_lft forever preferred_lft forever
    inet6 fe80::e77b:37eb:fab4:34a0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
pdsyw@pdsyw-PC:~/Desktop$

统信UOS搭建Squid代理服务器_uos_11

11.通过配置应用代理的方式验证代理服务

11.1.首先验证当终端不配置应用代理时访问网页

a)不配置应用代理

统信UOS搭建Squid代理服务器_内网_12

b)打开浏览器

统信UOS搭建Squid代理服务器_linux_13


c)访问网页失败

统信UOS搭建Squid代理服务器_Squid代理_14

11.2.验证当终端配置应用代理但不配置用户名密码时访问网页

a)配置应用代理但不配置用户名密码

统信UOS搭建Squid代理服务器_内网_15

b)点击使用代理,打开浏览器

统信UOS搭建Squid代理服务器_Squid代理_16

c)访问网页失败

统信UOS搭建Squid代理服务器_Squid代理_17

11.3.验证当终端配置应用代理且配置用户名密码时访问网页

a)配置应用代理且配置用户名密码

统信UOS搭建Squid代理服务器_Squid代理_18

b)点击使用代理,打开浏览器

统信UOS搭建Squid代理服务器_linux_19

c)访问网页成功

统信UOS搭建Squid代理服务器_内网_20

12.通过配置系统代理的方式验证代理服务

12.1.首先验证当终端不配置系统代理时访问网页

a)不配置系统代理

统信UOS搭建Squid代理服务器_uos_21

b)无法访问网页

统信UOS搭建Squid代理服务器_内网_22

12.2.验证当终端配置系统代理但不配置认证信息时访问网页

a)配置系统代理但不配置认证信息

统信UOS搭建Squid代理服务器_uos_23

b)需要输入用户名密码

统信UOS搭建Squid代理服务器_Squid代理_24

c)访问网页成功

统信UOS搭建Squid代理服务器_uos_25

12.3.验证当终端配置系统代理且配置认证信息时访问网页

a)配置系统代理且配置认证信息

统信UOS搭建Squid代理服务器_uos_26

b)需要输入用户名密码

统信UOS搭建Squid代理服务器_内网_27

c)访问网页成功

统信UOS搭建Squid代理服务器_内网_28

通过在统信UOS上部署Squid代理服务器,我们可以有效地管理网络流量,提高访问速度,并增强网络安全。希望这篇文章能帮助到需要在统信UOS上搭建代理服务器的朋友们。如果你有任何问题或者更多的经验分享,请在评论区留言,我们一起讨论。

最后,如果你觉得这篇文章有用,请分享转发。点个关注和在看吧,让我们一起探索和学习更多关于Linux系统管理和网络服务部署的知识!


标签:UOS,squid,x86,uel20,Squid,pdsyw,64,代理服务器,root
From: https://blog.51cto.com/pengds/9525169

相关文章

  • squid代理配置
    1.概述本篇记录如何使用squid做代理,修改默认端口,允许特定网段节点使用代理访问特定域名2.过程2.1生成账号密码文件htpasswd-c/etc/squid/.squid_usersliwl输入密码:liwanliang执行结束,会创建/etc/squid/.squid_users#账号liwl,密码:liwanliang修改权限:chownsquid.sq......
  • VMware虚拟机安装统信uos桌面专业版操作系统
    统信uos桌面版版本对比:https://www.uniontech.com/next/product/desktop-contrast专业版只要是面向政企等单位,这里只是用虚拟机安装测试基本功能使用,对于我们个人要长期使用的话可以使用家庭版或者社区版1镜像下载1.1打开官网镜像在统信生态社区下载统信生态社区官网:http......
  • nginx代理服务器
    一、Nginx是什么?Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网......
  • 使用Go语言编写高效的HTTP代理服务器:轻松应对流量洪流
    在这个网络时代,HTTP代理服务器成了我们与世界沟通的“桥梁”。它们能帮我们在浏览网页、下载文件时绕过某些限制,也能让我们在测试网络应用时隐藏真实IP。那么,如何用Go语言编写一个高效的HTTP代理服务器呢?让我们一起探讨这个问题,轻松应对流量洪流!首先,让我们来了解一下什么是HTTP代理......
  • QOJ 1963 Squid Game
    令\(a\leb\lec\)。这显然是可以通过交换得到的。考虑若\(a=1\)怎么做。考虑到若把\(b\)或者\(c\)给\(a\),\(a\)就会翻倍。那就把\(b\)拆成二进制,考虑让\(b\)变为\(0\)。从低位到高位,如果\(b\)这一位为\(1\)就让\(b\)给\(a\),否则\(c\)给\(a\)。那......
  • (转)Cadence Virtuoso波形窗口背景调整|背景颜色 线条类型和粗细
    在.cdsinit文件中加入相应命令即可(不要复制中文注释,.cdsinit需要开启隐藏文件查看权限)。*******更改背景颜色为白色*********envSetVal("viva.rectGraph""background"'string"white")envSetVal("viva.graphFrame""background"'string"whit......
  • 使用Go语言编写HTTP代理服务器
    在Go语言中,编写一个HTTP代理服务器相对简单且直观。代理服务器的主要职责是接收客户端的请求,然后将请求转发到目标服务器,再将目标服务器的响应返回给客户端。下面是一个简单的示例,展示如何使用Go语言编写一个基本的HTTP代理服务器:go复制代码package mainimport ("io" "log" "......
  • vmware ESXI6.5安装统信uos release 20 (fuyu)系统
    vmwareESXI6.5安装统信uosrelease20(fuyu)系统centos7系统到2024.6.30号左右停止维护,开始适配国产操作系统,本次安装统信uos操作系统,官方已经免费授权了一、下载统信uos操作系统免费授权信息:https://www.chinauos.com/resource/download-server-ufu免费下载镜像:https://......
  • 统信UOS/麒麟KYLINOS修改图标显示名称
    原文链接:统信UOS/麒麟KYLINOS修改图标显示名称hello,大家好啊!今天我要给大家介绍的是在统信UOS及麒麟KYLINOS操作系统上如何修改软件的名称。这种自定义可以帮助您更快地识别和访问常用的应用程序,也可以使您的桌面环境更加个性化。我们将通过修改/usr/share/applications目录下的.de......
  • 统信UOS操作系统上扩容数据盘
    原文链接:统信UOS操作系统上扩容数据盘hello,大家好啊!今天我要给大家介绍的是在统信UOS操作系统上扩容数据盘的方法。在使用UOS的过程中,随着数据的不断增加,原有磁盘空间可能会变得不足,这时候就需要对数据盘进行扩容以满足更大的存储需求。扩容数据盘可以帮助我们更灵活地管理存储空间......