centos/redhat搭建代理服务器

这里搭建的是squid代理服务器

Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。 服务器环境:服务器centos7.9、 redhat7.0

搭建环境:主机A(redhat7.0)不能上网,而同一网关内的主机B(centos7.9)可以上网。在主机B上搭建了squid代理服务器,方便主机A上网。

1、安装

1.1安装之前养成好习惯

sudo yum update

1.2 进行安装

yum install squid -y
yum install httpd-tools -y
2、密码文件操作

2.1 生成密码文件

mkdir /etc/squid3/
# usernameNet 是用户名
htpasswd -cd /etc/squid3/passwords usernameNet
# 提示输入密码,在这里我设的密码为 123456
# 注意密码不要超过8位

2.2 测试密码文件

/usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
# 输入 用户名 密码
usernameNet 123456
# 提示OK说明成功,ERR是有问题,请检查一下之前步骤
OK

# 测试完成,crtl + c 打断
3、配置
vim /etc/squid/squid.conf
 
# 在最后添加
 
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
 
# 这里是端口号,可以按需修改
# http_port 3128 这样写会同时监听ipv6和ipv4的端口,推荐适应下面的配置方法。
http_port 0.0.0.0:3128
4、启动服务
# 开启启动
systemctl enable squid.service
# 启动
systemctl start squid.service
# 停止
systemctl stop squid.service
# 重启
systemctl restart squid.service
5、squid日志默认位置

注意事项: 想要查看日志信息的话,必须切换到root用户,sudo用户不可以!
squid的日志默认是打开的,位于目录/var/log/squid/

[root@bogon ~]# ll /var/log/squid/
total 24
-rw-r-----. 1 squid squid 10069 Jun  6 17:52 access.log
-rw-r-----. 1 squid squid   485 Jun  4 08:12 access.log-20220605.gz
-rw-r-----. 1 squid squid   484 Jun  5 03:33 cache.log
-rw-r-----. 1 squid squid  1339 Jun  4 08:11 cache.log-20220605.gz
二、代理服务器设置

这里是主机A (不能上网的机器) 的设置

2.1 测试服务器

可以采用下面的命令测试是否可以链接上代理服务器(squid)
注意事项:一定要关闭suqid所在服务器的防火墙,和自己的防火墙

telnet proxy_server_ip 3128

上面这个命令用来测试的,如果没有的话需要安装:
这里是安装教程的链接。当然,你也可以先不进行测试。

2.2 配置主机A(想要上网的机器)

新建 /etc/profile.d/proxy.sh , 在里面填入一下内容:

PROXY_URL="http://proxy_server_ip:3128/"

# 添加不需要走代理的地址
NO_PROXY_ADDR="127.0.0.1,localhost,.local,.cluster.local,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"

# 添加的代理
export http_proxy="$PROXY_URL"
export https_proxy="$PROXY_URL"
export no_proxy="$NO_PROXY_ADDR"
export HTTP_PROXY="$PROXY_URL"
export HTTPS_PROXY="$PROXY_URL"
export NO_PROXY="$NO_PROXY_ADDR"

其中:

  • proxy_server_ip, 换成自己的Squid proxy server 的IP地址。
  • NO_PROXY_ADDR,中添加不需要走代理的IP地址,这里配置的是访问本机和子网内的机器不走代理。
2.3 让代理生效
source /etc/profile.d/proxy.sh

到这里就配置完成了。

2.4 测试是否可以上网
# 第一种方式
curl www.baidu.com

# 第二中方式
# 测试下载文件
wget https://mirrors.aliyun.com/ubuntu-releases/22.04/ubuntu-22.04-live-server-amd64.list