首页/系统安全代维/通过vpn搭建squid stunnel 代理服务器成功访问google
系统安全代维

通过vpn搭建squid stunnel 代理服务器成功访问google

最近公司有一需求

通过国内服务器要访问国外的google推送服务器https://android.googleapis.com/gcm/send

刚开始想过通过搭建vpn来实现,但由于公司两边都是使用linux服务器,考虑到风险,暂时没有使用这种方法

后来通过各种方法的测试,最后总结出一套好的办法来实现

方案squid认证代理+stunnel

此种方法前提条件是有一台自己的vps机器

配置步骤如下:

二,服务端安装squid

1,安装squid

# yum install squid openssl openssl-devel

2,生成加密代理证书

# cd /etc/squid
# openssl req -new > example.csr    //要求输入密码和确认密码
# openssl rsa -in privkey.pem -out example.key  //输入上面输入的密码
# openssl x509 -in example.csr -out example.crt -req -signkey example.key -days 3650

生成认证用户

# touch /etc/squid/passwd
# chown root.squid /etc/squid/passwd
# chmod 640 /etc/squid/passwd

# /usr/local/apache/bin/htpasswd /etc/squid/passwd 360push

3,配置squid

# vim /etc/squid/squid.conf

visible_hostname push.360push.com

acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 182.150.2.130/32  //push client

acl SSL_ports port 443
acl Safe_ports port 443         # https
acl Safe_ports port 1025-65535  # unregistered ports
acl CONNECT method CONNECT

https_port 443 cert=/etc/squid/example.crt key=/etc/squid/example.key

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

cache_dir ufs /var/spool/squid 2048 16 256
coredump_dir /var/spool/squid

acl OverConnLimit maxconn 100   //限制每个IP最大允许10个连接,防止攻击
minimum_object_size 1 KB      //允午最小文件请求体大小
maximum_object_size 1 MB      //允午最大文件请求体大小
cache_swap_low 10             //最小允许使用swap 10%
cache_swap_high 25            //最大允许使用swap 25%
cache_mem 300 MB              //可使用内存

##Add auth##
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 12 hours
auth_param basic realm Push Server
acl 360push proxy_auth REQUIRED

vps硬盘,内存都不富裕,所以对squid所占用的内存和硬盘等要加以控制。

4,启动squid,并查看

# squid -z   生成交换文件

# squid -k parse  检查配置文件正确性

# /etc/init.d/squid start

VPS很少有,自启动开启防火墙的,如果有先关掉,等都配置好了,在开放端口。

三,客户端安装配置stunnel

1,安装

# yum install stunnel

2,新增配置/etc/stunnel/stunnel.conf,添加以下内空

client = yes
fips = no
[https]
accept = 8888
connect = VPS的IP:443

如果报,FIPS_mode_set: 2D06C06E: error:2D06C06E:FIPS routines:FIPS_module_mode_set:fingerprint does not match,stunnel.conf配置文件中加上,fips = no

3,启动stunnel并查看

# stunnel            //启动,默认配置文件路径 /etc/stunnel/stunnel.conf

curl本机测试

curl -v -x 127.0.0.1:8888 -U 360push:360push https://android.googleapis.com/gcm/send

php也可以利用代理服务器

function testCurl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $gurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, “127.0.0.1:8888”);    //ip/端口
curl_setopt($ch, CURLOPT_PROXYUSERPWD, ‘360push:360push’);  //认证用户和密码
$result=curl_exec($ch);
curl_close($ch);
return $result;
}

echo testCurl(“google.com”);

google提示错误,如下

We’re sorry… but your computer or network may be sending automated queries. To protect our users, we can’t process your request right now

解决办法。

方法一:编辑 /etc/sysctl.conf,添加如下内容

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

重启网卡

# /etc/init.d/networking restart

方法二,实时生效

echo ‘1’ > /proc/sys/net/ipv6/conf/lo/disable_ipv6
echo ‘1’ > /proc/sys/net/ipv6/conf/lo/disable_ipv6
echo ‘1’ > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo ‘1’ > /proc/sys/net/ipv6/conf/default/disable_ipv6

SERVICE

相关服务与公开报价

以下为三家云市场官方店铺的在售商品,价格取自平台页面、可核验。 点击直达商品页,由平台完成下单与交付。

按本文主题推荐的云市场在售服务与公开报价
商品图 服务 / 商品 云市场 公开报价 操作
公司站长VPN搭建及配置 公司站长VPN搭建及配置 阿里云 ¥400 去商品页
linux服务器VPN搭建及配置 linux服务器VPN搭建及配置 阿里云 ¥400 去商品页
云服务器运维 云服务器运维 阿里云 ¥500 去商品页
VPC/VPN中小企业上云搭建服务 VPC/VPN中小企业上云搭建服务 腾讯云 ¥400 / 次 去商品页
中小企业网站技术支持服务 中小企业网站技术支持服务 腾讯云 ¥1 / 次 去商品页
Wordpress建站系统(附高级运维支持) Wordpress建站系统(附高级运维支持) 腾讯云 ¥0 / 小时 去商品页
服务器维护 · 网站代维护 · 网站托管维护 服务器维护 · 网站代维护 · 网站托管维护 华为云 ¥2000 / 次 去商品页
BT 宝塔 Linux 面板安装服务 BT 宝塔 Linux 面板安装服务 华为云 ¥100 / 次 去商品页
国密 SM2 证书安装服务 国密 SM2 证书安装服务 华为云 ¥300 / 次 去商品页
FREE CHECKUP

先做一次免费服务器体检

我们会在 1 个工作日内给出问题清单与处置建议 —— 做不做代维都没关系。

135 410 16684
工作日 Mon – Fri 10:00 – 22:00 · 紧急故障 7×24 响应
立即拨打
CONTACT

在线留言

有什么可以帮您?

带 * 为必填