代理服务器是一种硬件技术,代理服务器原理
介绍和安装1关于Squid Squid Cache(简称Squid)是HTTP代理服务器软件鱿鱼用途广泛它可以用作缓存服务器,过滤流量以帮助网络安全,或者作为代理服务器链中的一个链接,将数据转发到上级代理或直接连接到互联网Squid程序运行在类Unix系统上由于是开源软件,有网站修改Squid的源代码,编译成原生Windows版本;用户也可以在Windows中安装Cygwin,然后在Cygwin中编译Squid
鱿鱼历史悠久,功能完善除了HTTP之外,对FTP和HTTPS的支持也相当不错,3.0 beta版中也支持IPv6但是Squid的上级代理不能使用SOCKS协议
引用自:维基百科
2.关于stunnel Stunnel是一款提供全球TLS/SSL服务的免费跨平台软件
Stunnel可以为无法与TLS或SSL通信的客户端和服务器提供安全的加密连接该软件可以在许多操作系统下运行,包括类Unix系统和WindowsStunnel依赖于一个独立的库,比如OpenSSL或SSLeay,来实现下面的TLS或SSL协议
Stunnel使用基于X.509数字证书的公钥加密算法来保证SSL的安全连接客户端也可以选择自签名数字证书来获得授权
如果Stunnel在编译时链接到libwrap库,它也可以配置为代理防火墙服务
Stunnel由Michal Trojnara和Hatch(一头糊涂的老虎)维护,按照GNU通用公共许可证发布
引用自:维基百科
3.使用squid运行在服务端做代理和缓存的功能,使用stunnel运行在客户端做与squid加密传输的功能使用说明
4.软件获取说明:本文使用3.5版本的配置
(1)获取鱿鱼
①源代码获取
Squid官网源代码获取链接
②二进制包采集
squid官网二进制包获取方法
(2)安装鱿鱼
①源代码安装过程:
下载——tar解压缩——配置配置——制作——制作安装
WGET http://www . squid-cache . org/versions/v3/3.5/squid-3 . 5 . 27 . tar . gztar-vxzfsquid-3 . 5 . 27 . tar . gzcdquid-3 . 5 . 27/查看如何配置:
[MSN @ xxquid-3 . 5 . 27]#/configure-help推荐的配置/configure-prefix=/usr/local/squid-with-OpenSSL-enable-dlmalloc-enable-debug-CB data-enable-async-io=100-with-pthreads-enable-store io= aufs,diskd,ufs -enable-removal-policies= heap,LRU -enable-icmp-enable-delay-pools-enable-user agent-log-enable-referer-log-disable-wccp-disable-wccp v2-enable-kill-parent-hack-enable-ARP-ACL
centos 7
Sudyum安装squid (3)以获得stunnel
stunnel的Windows版和Linux版下载
(4)安装stunnel
省略
其次,配置代理1为squid签一套自己的证书(1)使用签证程序openssl
转到安装目录的配置文件目录:
cd /usr/local/squid/etc/yum安装的默认配置路径是
Cd /etc/squid需要openssl程序命令,不是先自己安装
参见:
安装openssl和openssl-devel
①生成证书申请文件(my.csr)
Openssl req -new my.csr,然后按照提示填写,并记录任何涉及到的密码
②生成私钥(myPrivate.key)
OpenSSL RSA-inprivkey . PEM-outmy private . key③自签名证书(my.crt)
OpenSSL 509-inmy . CSR-out my . CRT-req-sign key my private . key-days 3650要输入密码,请输入第一个密码(填写申请文件时的密码)
关于openssl的更多用法,请参考博客
openssl简介
2.为squid准备一个认证程序和密码文件①需要程序:basic_ncsa_auth(为下面的配置文件做准备)
在安装源代码的情况下,这是在安装目录的libxx目录中,例如:
/usr/local/squid/libexec/若找不着,请扫描磁盘
sufind/-name *auth找到后复制到/usr/local/squid/etc/统一操作,如承上操作
CP/usr/local/squid/lib exec/basic _ ncsa _ auth/usr/local/squid/etc/②使用使用生成密码文件
如无使用命令,请安装街头流氓或超文本协议服务
htpasswd-c/usr/local/squid/etc/passwd oneNeedAuthUser接着输入允许这个用户oneNeedAuthUser连接服务器的密码
3.配置鱿鱼官网的配置解释和各个版本的区别
修改配置前可以先把程序中的配置模板备份一份
CP/usr/local/squid/etc/squidconf/usr/local/squid/etc/squid糖膏剂贝克(1)推荐配置:
##############访问控制的互联网协议(互联网协议的缩写)列表定义##############建议的最低配置:#允许从本地网络访问的示例规则.适应列出应允许浏览的(内部)IP网络# acl localnet src 100 .0 .0/8 # RFC 1918可能的内部网络ACL本地网src 17216 .0 .1918年12月0日可能的内部网络ACL本地网src 192168 .0 .0/16 # RFC 1918可能的内部网络acl localnet src fc00:/7 # RFC 4193本地专用网络范围前十字韧带服务器自身外网地址###############访问控制的端口列表定义#######acl SSL_ports端口443acl安全端口端口80 # httpacl安全端口端口21 # ftpacl安全端口端口443 # httpacl安全端口端口70 # gopheracl安全端口端口210 # waisacl Safe_ports端口1025-65535 #未注册的端口sacl安全端口端口280 # http-mgmtacl安全端口端口488 # gss-httpacl安全端口端口591 # filemakeracl安全端口端口777 #多线httpacl连接方法连接##########实施访问控制#############http_access deny!Safe_portshttp_access拒绝连接!SSL_portshttp_access允许远程服务器#######用户认证########################上文准备的basic_ncsa_auth连接认证程序和密码文件验证参数基本程序/usr/local/squid/etc/basic _ ncsa _ auth/usr/local/squid/etc/passwd ACL ncsa _ users proxy _ auth必需的http _ access允许ncsa_users###用户认证的细节配置auth _ param basic children 5 auth _ param basic realm Squid代理缓存网服务器auth_param基本证书列表tl 2小时auth _ param基本区分大小写off # http _ access拒绝所有# # # # # # 3 # #监听配置######################可以接受超文本传送协议(超文本传输协议的缩写)明文传输#http_port 3128 #https密文传输,用要用到自准备的证书(公钥)和私钥https _ port 443 cert=/usr/local/squid/etc/myCRT key=/usr/local/squid/etc/my private键# # # # # # #域名服务器配置# # # # # # # # # # # # # # DNS _ name服务器88 .8 .8 # # # # # # # #存储设置####################内存大小高速缓存_内存40兆字节#磁盘大小国际金融服务集团格式500米一块分16个一级目录216个二级目录cache _ dir ufs/tmp/squid 500 16 216 #进程死掉后的存续信息coredump _ dir/var/spool/squid # # # # # # # #刷新过滤设置# # # # # # # # # # # # refresh _ pattern ^ftp: 1440 20% 10080 refresh _ pattern ^gopher: 1440 0% 1440 refresh _ pattern-I(/CGI-bin/ \?)0 0% 0刷新模式.0 20% 4320#refresh_pattern \(jpe?g png gif js CSS MP3 MP4 flv)1440 20% 2880 # # # # # # ##高匿设置# # # # # # # # # # # # # # # # request _ header _ access Via deny all request _ header _ access X-Forwarded-For deny all # # # # # # # # #日志存储# # # # # # # # # # # # # # # # # # # cache _ log/temp/cachelog access _ log/home/temp/access日志缓存_存储_日志/主页/临时/存储日志# # # # # #域名展示和联系管理员# # # # # # # # # # # # # # # # # visible _ hostname MSNcom cache _ mgr msnqqmail@qq.com(2)检查配置中的存储目录是否存在和是否有相应的权限
也许要用到
mkdir xxxsudo chmod -R 777 xxx/(3)检查网络防火墙
查看状态
服务防火墙状态或防火墙-命令-状态开放端口
防火墙-cmd-zone=public-add-port=80/TCP-permanent其他详见
详解centos6和centos7防火墙的关闭
(4)使用鱿鱼
检查配置是否正确
/usr/local/squid/sbin/squid -k解析初始化缓存目录
/usr/local/squid/sbin/squid -z前台启动(便于调试)
/usr/local/squid/sbin/squid-N D1守护启动(服务的方式启动)
/usr/local/squid/sbin/squid -s查看启动进程状态
ps -aux grep鱿鱼查看占用的端口状态
grep鱿鱼重载配置
/usr/local/squid/sbin/squid -k重新配置重起
/usr/local/squid/sbin/squid-k restart停止代理服务器
/usr/local/squid/sbin/squid-k关闭#柔和/usr/local/squid/sbin/squid-k kill #暴力如果还没停,超级暴力停止
pkill-kill/usr/local/squid/sbin/squid或杀死-杀死pid三,使用stunnel连接代理1.配置stunnel与鱿鱼之间的连接[https]client=是接受=1270 .0 .1:8089连接=XXXXXXXXX:443[https]client=是接受=1270 .0 .1:8090连接=XXXXXXXXX:443 2配置浏览器(客户端)与stunnel之间的连接① 浏览器连接
窗子代理设置
在开始处输入因特网
然后代理拘留选项
选择连接
局域网配置
配置局域网
② python连接
使用要求库
从请求导入请求auth import httpproxyauthproxy={ http : 1270 .0 .1:8089 ,}auth=HTTPProxyAuth(sa ,xxxxx
)respo SNE=请求。get( http://www。谷歌。com。hk/搜索?q=ledoq=led ,proxies=proxies,auth=auth)print(respo SNE。状态代码)如打印200表示成功
博客文章参考公司内部枪乌贼代理安全超文本传输协议访问资料网站
[经验分享[英语背诵文选鱿鱼用户密码认证的三种玩法
鱿鱼工作原理及源码包编译安装配置
程序员斯图内尔使用详解
通过Stunnel实现加密套接字协议层连接(测试ing)
详解centos6和centos7防火墙的关闭
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。