linux 配置代理上网 squid

296 阅读1分钟

1.代理服务器搭建 安装squid

# 安装
sudo yum update
yum install squid -y
yum install httpd-tools -y

# 生成密码文件
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 退出
 
# 配置
vim /etc/squid/squid.conf

找到 
http_access deny all 
改为 
http_access allow all

# 在最后添加
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

# 开启启动
systemctl enable squid.service
# 启动
systemctl start squid.service
# 停止
systemctl stop squid.service
# 重启
systemctl restart squid.service 

# 查看日志 
 ll /var/log/squid/
 
 # 防火墙设置
 # 注意暴露的是squid端口
firewall-cmd --zone=public --add-port=3128/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload
# 查看开放端口
firewall-cmd --zone=public --list-ports 
 

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"

# 设置生效
source /etc/profile.d/proxy.sh

# 测试
curl www.baidu.com
yum install vim