Redian新闻
>
squid代理http和https方式上网的操作记录

squid代理http和https方式上网的操作记录

公众号新闻

需求说明:公司IDC机房有一台服务器A,只有内网环境:192.168.1.150现在需要让这台服务器能对外访问,能正常访问http和https请求(即80端口和443端口)
操作思路:在IDC机房里另找其他两台有公网环境的服务器B(58.68.250.8/192.168.1.8)和服务器C(58.68.250.5/192.168.1.5),且这两台服务器和内网环境的服务器A能相互ping通。(当然也可以将下面B的http和C机器的https代理环境放在一台机器上部署)其中:
在服务器B上部署squid的http代理,让服务器C通过它的squid代理上网,能成功访问http
在服务器C上部署squid的https代理,让服务器C通过它的squid代理上网,能成功访问https  [需要在客户端安装stunnel ]

一、服务器B上的操作记录(http代理)

1)安装squidyum命令直接在线安装squid[root@openstack ~]# yum install -y gcc openssl openssl-devel #依赖软件要先提前安装[root@openstack ~]# yum install squid 安装完成后,修改squid.conf 文件中的内容,修改之前可以先备份该文件[root@openstack ~]# cd /etc/squid/[root@openstack squid]# cp squid.conf squid.conf_bak[root@openstack squid]# vim squid.confhttp_access allow all                                                   #修改deny为allowhttp_port 192.168.1.8:3128cache_dir ufs /var/spool/squid 100 16 256                    #打开这个注释,保证/var/spool/squid这个缓存目录存在 2)启动squid,启动前进行测试和初始化[root@openstack squid]# squid -k parse                    #测试2016/08/09 13:35:04| Processing Configuration File: /etc/squid/squid.conf (depth 0)2016/08/09 13:35:04| Processing: acl manager proto cache_object............................2016/08/09 13:35:04| Processing: refresh_pattern . 0 20% 43202016/08/09 13:35:04| Initializing https proxy context [root@openstack squid]# squid -z                            #初始化2016/08/09 13:35:12| Creating Swap Directories [root@openstack squid]# /etc/init.d/squid startStarting squid: . [ OK ] -------------------------------------------------------------------------------------------如果开启了防火墙iptables规则,则还需要在/etc/sysconfig/iptables里添加下面一行,即允许3128端口访问:-A INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT-------------------------------------------------------------------------------------------- 然后重启iptables服务
[root@openstack squid]# /etc/init.d/iptables restart

二、服务器C上的的操作记录(https代理)

1)安装squidyum命令直接在线安装squid[root@openstack ~]# yum install -y gcc openssl openssl-devel #依赖软件要先提前安装[root@openstack ~]# yum install squid[root@openstack ~]# cd /etc/squid/[root@openstack squid]# cp squid.conf squid.conf_bak 2)现在开始生成加密代理证书:[root@bastion-IDC squid]# pwd/etc/squid[root@bastion-IDC squid]# openssl req -new > lidongbest5.csrGenerating a 2048 bit RSA private key..........................................................................+++.........................................................................................................+++writing new private key to 'privkey.pem'Enter PEM pass phrase:                                                                   #输入密码,后面会用到,比如这里输入123456Verifying - Enter PEM pass phrase:-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:cn                                                  #国家State or Province Name (full name) []:beijing                                       #省份Locality Name (eg, city) [Default City]:beijing                                      #地区名字Organization Name (eg, company) [Default Company Ltd]:huanqiu        #公司名Organizational Unit Name (eg, section) []:Technology                            #部门Common Name (eg, your name or your server's hostname) []:huanqiu    #CA主机名Email Address []:[email protected]                                              #邮箱 Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:123456                                                         #证书请求密钥,CA读取证书的时候需要输入密码An optional company name []:huanqiu                                                #-公司名称,CA读取证书的时候需要输入名称 [root@bastion-IDC squid]# openssl rsa -in privkey.pem -out lidongbest5.keyEnter pass phrase for privkey.pem:                                                     #输入上面设置的密码123456writing RSA key [root@bastion-IDC squid]# openssl x509 -in lidongbest5.csr -out lidongbest5.crt -req -signkey lidongbest5.key -days 3650Signature oksubject=/C=cn/ST=beijing/L=beijing/O=huanqiu/OU=Technology/CN=huanqiu/[email protected]Getting Private key 修改squid.conf配置文件[root@bastion-IDC squid]# vim squid.confhttp_access allow all #deny修改为allow#http_port 3128                                                                    #注释掉https_port 192.168.1.5:443 cert=/etc/squid/lidongbest5.crt key=/etc/squid/lidongbest5.key            #添加这一行cache_dir ufs /var/spool/squid 100 16 256                             #打开这个注释,保证/var/spool/squid这个缓存目录存在 3)重启squid服务[root@bastion-IDC squid]# squid -k parse[root@bastion-IDC squid]# squid -z[root@bastion-IDC squid]# squid reload[root@bastion-IDC squid]# /etc/init.d/squid restart -------------------------------------------------------------------------------------------如果开启了防火墙iptables规则,则还需要在/etc/sysconfig/iptables里添加下面一行,即允许443端口访问:-A INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT------------------------------------------------------------------------------------------- 然后重启iptables服务[root@bastion-IDC squid]# /etc/init.d/iptables restart


三、服务器A(即客户端)上的操作记录

1)安装配置stunnel关闭客户端的iptables防火墙[root@dev-new-test1 ~]# /etc/init.d/iptables stop [root@dev-new-test1 ~]# cd /usr/local/src/[root@dev-new-test1 src]# pwd/usr/local/src  官网下载:http://www.stunnel.org/downloads.html百度云盘下载:https://pan.baidu.com/s/1JXqfB7yc6H2GY9qtBVO4iw     提取密码:4kt8[root@dev-new-test1 ~]#yum install -y openssl openssl-devel gcc [root@dev-new-test1 src]# lsstunnel-5.45.tar.gz[root@dev-new-test1 src]# tar -zvxf stunnel-5.45.tar.gz[root@dev-new-test1 src]# lsstunnel-5.45 stunnel-5.45.tar.gz[root@dev-new-test1 src]# cd stunnel-5.45[root@dev-new-test1 stunnel-5.45]# ./configure[root@dev-new-test1 stunnel-5.45]# make && make install 安装完成后,配置stunnel.conf[root@dev-new-test1 stunnel-5.45]# cd /usr/local/etc/stunnel/[root@dev-new-test1 stunnel]# lsstunnel.conf-sample[root@dev-new-test1 stunnel]# cp stunnel.conf-sample stunnel.conf[root@dev-new-test1 stunnel]# lsstunnel.conf stunnel.conf-sample[root@dev-new-test1 stunnel]# cat stunnel.conf              #把原来内容清空,写入:client = yes[https]accept = 127.0.0.1:8088connect = 192.168.1.5:443                               #运行本机stunnel端口8088连接squid服务端192.168.1.5443端口,然后在/etc/profile里配置本机8088端口代理(如下) 2)启动stunnel服务[root@dev-new-test1 stunnel]# /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf[root@dev-new-test1 stunnel]# ps -ef|grep stunnelroot 20281 1 0 02:23 ? 00:00:00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.confroot 20283 13002 0 02:23 pts/0 00:00:00 grep --color stunnel[root@dev-new-test1 stunnel]# lsof -i:8088COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEstunnel 20281 root 7u IPv4 745475 0t0 TCP localhost:radan-http (LISTEN) 3)配置/etc/profile系统环境变量底部添加下面两行[root@dev-new-test1 stunnel]# vim /etc/profile...............export http_proxy=http://192.168.1.8:3128                          #这个是通过服务端A机器的3128端口的squid上网(http代理)export https_proxy=http://127.0.0.1:8088                            #这个是通过服务端B机器的443端口的squid上网(https代理) [root@dev-new-test1 stunnel]# source /etc/profile                   #配置生效 4)测试:[root@dev-new-test1 stunnel]# curl http://www.baidu.com                           #访问80端口ok[root@dev-new-test1 stunnel]# curl https://www.xqshijie.com                      #访问443端口ok[root@dev-new-test1 stunnel]# yum list                                                     #yum可以正常使用[root@dev-new-test1 stunnel]# wget http://www.autohome.com.cn/3442      #wget正常下载


+++++++++++++++++++++++++++++++++++++++++++++++++++

如果客户机是ubuntu系统,则安装配置stunnel记录如下:root@kevin-KVM:~# apt-get install stunnel4root@kevin-KVM:~# cd /etc/stunnel/root@kevin-KVM:/etc/stunnel# lsREADMEroot@kevin-KVM:/etc/stunnel# vim stunnel.conf    #手动创建该配置文件client = yes[https]accept = 127.0.0.1:8088connect = 192.168.1.8:443 root@kevin-KVM:/etc/stunnel# vim /etc/default/stunnel4......ENABLED=1          #默认为0 =========================================================注意:上面的ENABLED一定要修改为1,否则启动stunne服务时会失败,通过status查看报错为:527 00:45:56 kevin-KVM systemd[1]: Starting LSB: Start or stop stunnel 4.x (SSL tunnel for network daemons)...527 00:45:56 kevin-KVM stunnel4[23356]: SSL tunnels disabled, see /etc/default/stunnel4527 00:45:56 kevin-KVM systemd[1]: Started LSB: Start or stop stunnel 4.x (SSL tunnel for network daemons).========================================================= 接着启动stunne服务root@kevin-KVM:~# /etc/init.d/stunnel4 start root@kevin-KVM:~# /etc/init.d/stunnel4 restartroot@kevin-KVM:/etc/stunnel# lsof -i:8088COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEstunnel4 23625 root    7u  IPv4 138476      0t0  TCP localhost:omniorb (LISTEN) 然后进行代理的环境变量配置root@kevin-KVM:~# cat /etc/profile......export http_proxy=http://192.168.1.8:3128export https_proxy=http://127.0.0.1:8088 root@kevin-KVM:~# source /etc/profile 测试上网:root@kevin-KVM:~# curl http://www.baidu.comroot@kevin-KVM:~# curl https://www.baidu.com

链接:https://www.cnblogs.com/kevingrace/p/5853199.html

(版权归原作者所有,侵删)



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
面向数据库的操作系统:80 岁的 PostgreSQL 之父宣布推出 DBOS CloudSQL 50 周年了,但 SQL 之父已经“投靠”NoSQL 了【深入学习MySQL】MySQL的索引结构为什么使用B+树?开源日报 | AI手机需要新故事;做了十几年的操作系统和AI应用,跨界到机器人领域;苹果曾试图为安卓开发手表同是家属准证,新加坡的DP和LTVP准证到底有什么不同?销售额又双叒叕涨了,SKP和合生汇大火靠的是什么?Nature | 科学家识别出一组能参与工作记忆的特殊脑细胞在海外接到“警察局”电话,他的操作值得学习北京、杭州、上海、深圳 ,欢迎IP和个人品牌创业者如何通过内网穿透实现外部网络对 SpringBoot 接口的 HTTP 监听和调试?旧文新感--和润涛阎的曾经对话为了卖房拼了!多伦多地产经纪居然做出这样“不顾脸面、不择手段”的操作!【买房】翻新Somerville绿线Magoun Square公寓 近93 | 3b1b 1,354sqft $67.5W为什么专家建议不开心就多唱歌?研究表明:接触音乐方式可以改善工作记忆和执行力!特别是能会改善中晚年的大脑健康大模型元年,人类文明的操作系统正在大更新 | ifanRank冰岛印象(5)Http压测工具wrk使用指南MySQL 巨坑:永远不要在 MySQL 中使用 UTF-8!降价!最后1天!特斯拉最近的操作你看懂了吗?相比外企,国内有些企业的操作太不是东西了!初恋的为赋新诗强说愁【本周讲座预告】答疑讲座 | OPT申请和H1B新政解析Linux —— curl 命令使用代理、以及代理种类介绍房东凯(10)短篇小说 --《迟来的道歉迟来的涟漪》Google停止"网页库存"功能!"1方式"可捞取资料...但恐随时失效刷三观:父母拿英国永居,孩子读英国大学甚至能'不花钱'?这么6的操作学起来!MYP和GCSE,为什么GCSE衔接IBDP更占优势?【CSSA招新】Locker Room和HR部欢迎你的加入!全球首个符合汽车功能安全开源OS方案发布,助推软件定义汽车加速官宣了!安省中小学生在校禁用手机:​是让你上学的,不是去上网的!肯德基联名周大生;水獭吨吨招募公司开设“低卡果茶间”;FunnyElves方里官宣梅耶马斯克... | 刀法品牌热讯30 多年前被 Linux、Windows “ 灭掉 ” 的操作系统 MS-DOS 4.0,微软在 GitHub 上开源了3DGS方向微信交流群成立!我在淘宝写SQL|ODPS SQL 优化总结
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。