Squid代理服务器应用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,第一步:配置squid代理服务器#远程共享并挂载源码包[root@squid ~]# smbclient -L //192.168.142.1[root@squid ~]# mount.cifs //
千家信息网最后更新 2025年12月02日Squid代理服务器应用
第一步:配置squid代理服务器
#远程共享并挂载源码包[root@squid ~]# smbclient -L //192.168.142.1[root@squid ~]# mount.cifs //192.168.142.1/squid /mnt#解压源码包[root@squid ~]# cd /mnt[root@squid mnt]# tar zxvf squid-3.4.6.tar.gz -C /opt#安装编译环境[root@squid mnt]# yum install gcc gcc-c++ make -y#切入源码包目录[root@squid mnt]# cd /opt/squid-3.4.6/#配置configure组件项[root@squid squid-3.4.6]# ./configure --prefix=/usr/local/squid \>--sysconfdir=/etc \>--enable-arp-acl \>--enable-linux-netfilter \>--enable-linux-tproxy \>--enable-async-io=100 \>--enable-err-language="Simplify_Chinese" \>--enable-underscore \>--enable-poll \>--enable-gnuregex#编译与安装[root@squid squid-3.4.6]# make && make install#建立服务命令软链接到系统中,便于管理[root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin#添加程序用户[root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid#修改服务目录的属主和属组[root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var#修改squid.conf配置文件[root@squid squid-3.4.6]# vim /etc/squid.confhttp_port 3128#在3128端口条目下追加以下条目#指定缓存功能所使用的内存空间大小,建议设为物理内存的1/4cache_mem 64 MB#允许用户下载最大文件大小reply_body_max_size 10 MB#允许保存到缓存空间的站点对象大小maximum_object_size 4096 KB#添加程序用户cache_effective_user squid#添加用户组cache_effective_group squid#检查配置文件语法[root@squid squid-3.4.6]# squid -k parse#初始化缓存目录[root@squid squid-3.4.6]# squid -z#启动服务[root@squid squid-3.4.6]# squid#查看服务端口状态[root@squid squid-3.4.6]# netstat -ntap | grep squidtcp6 0 0 :::3128 :::* LISTEN 31862/(squid-1) #切换启动进程目录[root@squid squid-3.4.6]# cd /etc/init.d#创建启动脚本[root@squid init.d]# vim squid#!/bin/bash#chkconfig: 2345 90 25PID="/usr/local/squid/var/run/squid.pid"CONF="/etc/squid.conf"CMD="/usr/local/squid/sbin/squid"case "$1" instart) netstat -ntap | grep squid &> /dev/null if [ $? -eq 0 ] then echo "squid is running" else echo "正在启动 squid...." $CMD fi ;;stop) $CMD -k kill &> /dev/null rm -rf $PID &> /dev/null ;;status) [ -f $PID ] &> /dev/null if [ $? -eq 0 ] then netstat -ntap | grep squid else echo "squid is not running" fi ;;restart) $0 stop &> /dev/null echo "正在关闭 squid..." $0 start &> /dev/null echo "正在启动 squid..." ;;reload) $CMD -k reconfigure ;;check) $CMD -k parse ;;*) echo "用法:$0{start|stop|reload|status|check|restart}" ;;esac#授予脚本执行权限[root@squid init.d]# chmod +x squid#添加脚本到service管理器[root@squid init.d]# chkconfig --add squid #添加服务开机自启动[root@squid init.d]# chkconfig --level 35 squid on#使用脚本可管理squid服务[root@squid init.d]# service squid stop[root@squid init.d]# service squid start 正在启动 squid....[root@squid init.d]# netstat -ntap | grep squidtcp6 0 0 :::3128 :::* LISTEN 48115/(squid-1) #清除防火墙所有规则[root@squid init.d]# iptables -F#关闭增强型安全功能[root@squid init.d]# setenforce 0#设着防火策略,用以放通3128端口[root@squid init.d]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT第二步:配置Web网站服务器
[root@web ~]# systemctl stop firewalld.service [root@web ~]# setenforce 0[root@web ~]# yum install httpd -y[root@web ~]# systemctl start httpd第三步:使用客户端访问网页
使用浏览访问192.168.142.139
第四步:配置客户端使用代理服务器,验证代理服务
1.打开浏览器的工菜单,选择"Internet选项"
2.选择"局域网设置",选中"为LAN使用代理服务器""并指定服务器地址和端口
3.再次访问192.168.142.139
4.回到web服务端查看服务日志,可见来访记录是代理服务器的地址
[root@web ~]# vim /etc/httpd/logs/access_log 192.168.142.131 - - [04/Dec/2019:19:04:28 +0800] "GET /noindex/css/fonts/ExtraBold/OpenSans-ExtraBold.eot? HTTP/1.1" 404 248 "http://192.168.142.139/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"由此可见传统代理是使用代理服务器的地址进行访问web服务的,适用于Internet,当需名却指定服务端!
设置透明代理
第一步:配置代理服务器网卡
1.修改ens33 网卡信息
[root@squid ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改dhcp为staticBOOTPROTO=static#末行追加IP地址、子网掩码和网关IPADDR=192.168.100.1NETMASK=255.255.255.0[root@squid ~]# service network restart Restarting network (via systemctl): [ 确定 ]2.添加第二块网卡,并修改ens36 网卡信息
[root@squid ~]# cd /etc/sysconfig/network-scripts/[root@squid network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36[root@squid network-scripts]# vim ifcfg-ens36#将33替换成36,并删除UUID条目IPADDR=12.0.0.1NETMASK=255.255.255.0[root@squid network-scripts]# service network restart Restarting network (via systemctl): [ 确定 ]3.添加转发数据包功能,将服务器用作网关
[root@squid network-scripts]# echo "1" >/proc/sys/net/ipv4/ip_forward4.设置防火墙策略
#放通80端口,并重定向到3128代理端口[root@squid network-scripts]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128##放通https的443端口,并重定向到3128代理端口[root@squid network-scripts]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 31285.修改squid.conf配置文件
[root@squid ~]# vim /etc/squid.conf#将原3128端口条目替换成以下条目,用以支持透明模式http_port 192.168.100.1:3128 transparent6.重载代理服务
[root@squid network-scripts]# service squid reload第二步:Web服务器网卡信息
[root@web ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改dhcp为staticBOOTPROTO=static#末行追加IP地址、子网掩码和网关IPADDR=12.0.0.12NETMASK=255.255.255.0GATEWAY=12.0.0.1[root@web ~]# service network restartRestarting network (via systemctl): [ 确定 ]第三步:使用客户机访问
1.修改地址
2.取消之前设定的代理服务选项
3.使用浏览器访问12.0.0.12
4.回到web服务端查看服务日志,可见来访记录是外网卡的地址
12.0.0.1 - - [04/Dec/2019:22:41:39 +0800] "GET /noindex/css/fonts/ExtraBold/OpenSans-ExtraBold.eot? HTTP/1.1" 404 248 "http://12.0.0.12/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"由此可见,透明代理是使用外网卡的地址进行访问web服务的,通过媒人路由和防火墙策略将Web访问从定向给代理服务器处理!
服务
代理
服务器
端口
地址
配置
网卡
条目
文件
正在
用户
目录
脚本
防火
代理服务
信息
功能
大小
客户
源码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
取消网络安全警报
后台数据库图
润灵环球数据库
数据库翻页嵌套查询
dell服务器加显卡
富士康软件开发干什么的
中央网信网络安全局
蓝科软件开发有限公司
云南省实用性村庄规划数据库
计算机网络技术应用与维护
想学网络技术有什么网站
数据库代谢
毕节市云浩网络技术有限公司
软件开发工具审计的目的
如何提高网络安全英文演讲稿
服务器远程安全吗
深圳潮流网络技术
为啥redis比数据库快
身份证在数据库中类型
广州电信模拟中继线带服务器机房
贝加尔网络技术有限公司
超市数据库查询
tidb 数据库
和平精英如何快速连接到服务器
数据库输出是啥意思
服务器入侵检测工具
求生本地服务器进不去
ipv4服务器有什么用
中国网络安全十大厂商排名
服务器展示器