1. 程式人生 > >stunnel+squid搭建代理伺服器

stunnel+squid搭建代理伺服器

一、網路環境

主機A :192.168.0.11

主機B:66.0.0.6

主機C:4.2.2.2

主機A和B互通,B和C互通,A訪問C網路較慢或不通,可以通過stunnel+squid代理跳轉訪問。

二、squid 安裝配置

squid和stunnel可以在主機B上配置,也可在不同主機配置實現網路跳轉。這裡squid和stunnel server在主機B配置,stunnel client 在客戶端主機A配置

  • 安裝 yum install squid

  • 配置 vim /etc/squid/squid.conf,主要配置如下兩處

acl localnet src 66.0.0.6
/32 # 根據實際情況修改,新增允許 stunnel-client 的ip地址 http_port 3128 # squid監聽埠

啟動服務 service squid start

三、stunnel 配置

  • 安裝yum -y install stunnel openssl openssl-devel

1、stunnel server 配置

  • 生成證書認證檔案

    openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem
    openssl gendh 512>> stunnel.pem
    #不是必須的
  • 配置

vim  /etc/stunnel/stunnel_ser.conf   (;;; 註釋形式)

cert = /etc/stunnel/stunnel.pem   ;;;# 認證檔案
CAfile = /etc/stunnel/stunnel.pem  ;;;# 認證檔案
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
;;;chroot = /var/run/stunnel
pid = /tmp/stunnel_server.pid
verify = 3
;;; CApath = certs
;;; CRLpath = crls
;;; CRLfile = crls.pem
setuid
= web setgid = web ;;; client=yes compression = zlib ;;; taskbar = no delay = no ;;; failover = rr ;;; failover = prio ;;; sslVersion = TLSv1 ;;; fips=no sslVersion = all ;;; options = NO_SSLv2 ;;; options = NO_SSLv3 debug = 7 syslog = no output = /var/logs/stunnel_server.log client = no ;;;# 服務端 [sproxy] accept = 44550 ;;;# 監聽埠 connect = 66.0.0.6:3128 ;;;# squid服務連線埠
  • 啟動服務 stunnel /etc/stunnel/stunnel_ser.conf

2、stunnel client 安裝配置

yum -y install stunnel openssl openssl-devel
vim  /etc/stunnel/stunnel_cli.conf 

cert = /usr/local/etc/stunnel/stunnel_cli.pem  ;;;#步驟1中生成的stunnel.pem,改了名字而已
CAfile = /usr/local/etc/stunnel/stunnel_cli.pem
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

;;;chroot = /var/run/stunnel
pid = /tmp/stunnel.pid
verify = 3

;;; CApath = certs
;;; CRLpath = crls
;;; CRLfile = crls.pem

setuid = web
setgid = web

;;; client=yes
compression = zlib
;;; taskbar = no
delay = no
;;; failover = rr
;;; failover = prio
;;; fips=no
sslVersion = all
;;; options = NO_SSLv2
;;; options = NO_SSLv3

debug = 7
syslog = no
output = /data/logs/stunnel.log
client = yes   ;;;# 客戶端

[sproxy]
accept = 0.0.0.0:44550  ;;;# 監聽地址
connect = 66.0.0.6:44550  ;;;# stunnel 服務端地址

四、測試及錯誤解決

  • 測試:配置代理伺服器地址:192.168.0.11,埠44550後,可以訪問主機C
  • 錯誤解決:

stunnel 報錯:CERT: Verification error: certificate has expired

stunnel客戶端連不上服務端,連上幾秒就斷開了,具體報錯資訊如下

# stunnel 客戶端:
2017.09.25 10:16:19 LOG7[13955:140155381970688]: Starting certificate verification: depth=0, /C=CN/L=Default City/O=Default Company Ltd
2017.09.25 10:16:19 LOG4[13955:140155381970688]: CERT: Verification error: certificate has expired
2017.09.25 10:16:19 LOG4[13955:140155381970688]: Certificate check failed: depth=0, /C=CN/L=Default City/O=Default Company Ltd
2017.09.25 10:16:19 LOG7[13955:140155381970688]: SSL alert (write): fatal: certificate expired
2017.09.25 10:16:19 LOG3[13955:140155381970688]: SSL_connect: 14090086: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
2017.09.25 10:16:19 LOG5[13955:140155381970688]: Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
2017.09.25 10:16:19 LOG7[13955:140155381970688]: Remote socket (FD=13) closed
2017.09.25 10:16:19 LOG7[13955:140155381970688]: Local socket (FD=3) closed
2017.09.25 10:16:19 LOG7[13955:140155381970688]: Service [sproxy] finished (0 left)

# stunnel 服務端:
2017.09.25 10:13:24 LOG7[15546:140344803059456]: SSL state (accept): SSLv3 flush data
2017.09.25 10:13:24 LOG7[15546:140344803059456]: SSL alert (read): fatal: certificate expired
2017.09.25 10:13:24 LOG3[15546:140344803059456]: SSL_accept: 14094415: error:14094415:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate expired
2017.09.25 10:13:24 LOG5[15546:140344803059456]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2017.09.25 10:13:24 LOG7[15546:140344803059456]: sproxy finished (0 left)

需要安裝上面的證書生成命令,重新生成證書後手動更新

openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem

相關推薦

stunnel+squid搭建代理伺服器

一、網路環境 主機A :192.168.0.11 主機B:66.0.0.6 主機C:4.2.2.2 主機A和B互通,B和C互通,A訪問C網路較慢或不通,可以通過stunnel+squid代理跳轉訪問。 二、squid 安裝配

Squid-搭建代理伺服器

安裝 yum -y install squid 安裝 yum -y removed squid 解除安裝 配置 白名單驗證: # /etc/squid/squid.conf acl client src xx.xx.xx.xx #ip白名單 acl localne

在虛擬機器上搭建代理伺服器,使用squid

下面介紹一下使用squid來搭建虛擬機器代理伺服器(簡單配置方式的介紹) 安裝squid: sudo apt-get install squid 修改該配置檔案: cd /etc/squid3 && ls得到檔案目錄如下: . ├── errorp

搭建代理伺服器時的筆記,request使用筆記

request 請求筆記: 1、opation中使用form欄位傳參 對應 content-type': 'application/x-www-form-urlencoded',如果想要content-type設定為 var options = { url: "http://localhost:

ubuntu使用squid搭建代理

安裝squid //檢查是否安裝squid which squid // apt update sudo apt install squid   配置squid的配置檔案squid.conf //備份squid

[bigdata-126] docker+squid3搭建代理伺服器

1.參考文獻 https://www.tuicool.com/articles/eIVFVna 2.命令 在遠端vps用docker方式安裝squid3 docker run -d -p 3000:3000 sameersbn/squid:3.3.8-14在本地用ssh連

Arcgis API for Javascript筆記 -- Step1搭建代理伺服器

前言 arcgis提供了許多圖層服務供學習使用,這樣節省了我們很多時間,將更多精力關注到arcgis for javascript api的學習之中。但由於這些服務大多是需要身份驗證的服務,如果直接拿來使用的話,每次訪問該服務都需要填寫使用者名稱和密碼進行登入

《初入linux》--第二十一部分-利用squid搭建vpn伺服器(免流伺服器初級入門)

一.squid搭建簡單的vpn 正向代理       何為正向代理:簡單的解釋,我從主機A上想訪問伺服器C上的資源,但是因為種種原因(例如acl限制,防火牆,萬惡的GFW 5555555~~)A被限制了無法訪問C,此時,我們知道伺服器B是可以訪問C的,於是,我們先用A連線B

轉 Centos7下使用Squid快速搭建帶認證的HTTP代理伺服器

原文連結:https://blog.phpgao.com/squid_proxy_with_basic_auth.htmlI. 安裝安裝狠簡單!yum install squid -yyum install http-tools -yII. 生成密碼檔案mkdir /etc

ubuntu 使用代理伺服器 squid

一、代理伺服器 簡介:   代理伺服器是目前網路中常見的伺服器之一,它可以提供檔案 快取、複製和地址過濾等服務,充分利用有限的出口頻寬,加快 內部主機的訪問速度,也可以解決多使用者需要同時訪問外網但公 有IP地址不足的問題。同時可以作為一個防火牆,隔離內網與外 網,並且能提供監控網路和記錄傳輸資訊的功

centos伺服器搭建代理IP 給 Python爬蟲使用

  centos7伺服器 用Squid搭建HTTP代理,給python 爬 網站用 python 爬一個網站次數太多,被封IP,就用代理IP解決 可去西刺免費代理IP網站找免費代理IP(http://www.xicidaili.com/) 找了一會免費IP,發現不

用阿里雲搭建Http代理伺服器

先說下我的執行環境: Ubuntu16.04+python3.5,用的是阿里雲ECS乞丐版。 搭建步驟: 0. 直接用xshell或putty遠端到雲伺服器 1. pip3 install

巧妙地把windows搭建代理伺服器

0x01 背景   在現實情景中,我們僅有一臺windows 主機可以上網(在公司的生產環境、測試環境、各種其他場景下,由於各種安全策略或者上網限制,其他伺服器均無法上網。但是我們在測試、生產中,可能

CentOS搭建Socks5 Proxy代理伺服器

    關於SOCKS5     SOCKS5 是一個代理協議,它在使用TCP/IP協議通訊的前端機器和伺服器機器之間扮演一箇中介角色,使得內部網中的前端機器變得能夠訪問Internet網中的伺服器,或者使通訊更加安全。     正常情況下客戶端和服務端的通訊:客戶端<

代理伺服器搭建socks5環境的方法

轉:http://www.ccproxy.com/socks5-dai-li.htm SOCKS5搭建準備工作 1) 一臺VSP伺服器(或者朋友的電腦),假如公網IP地址為:202.6.6.6 2) 一臺客戶端 3) 一套CCProxy軟體(下載地址:http:

Squid代理伺服器配置與部署

代理伺服器 squid服務端 主配置檔案:/etc/squid/squid.conf 預設監聽埠:TCP 3128 預設訪問日誌:/var/log/squid/access.log 常用配置 http_port         3128      ac

正向代理伺服器 squid

1. 檢 查squid 軟體包安裝其情況  rpm -qa|grep squid 2. 如果未安裝,則使用 yum 方式安裝  yum -y install squid 3. 設定服務開機自啟動  chkconfig --level 35 squid on 4. 編輯 squid 的主配置檔案 /etc

linux基礎伺服器架設squid(一)普通代理伺服器

一、簡介 代理伺服器英文全稱是Proxy Server,其功能就是代理網路使用者去取得網路資訊。 Squid是一個快取Internet 資料的軟體,其接收使用者的下載申請,並自動處理所下載的資料。當一個使用者想要下載一個主頁時,可以向Squid 發出一個申請,要Squid 代替其進行下載,然後Squid

騰訊雲搭建Socks5多IP代理伺服器實現遊戲單視窗單IP搭建教程

騰訊雲搭建Socks5多IP代理伺服器實現遊戲單視窗單IP 騰訊雲多IP Socks5搭建教程 配合代理工具實現 單視窗單IP 1.多IP伺服器選擇 2.伺服器購買 3.建立彈性網絡卡,繫結彈性公網IP 實現多IP 4.如何更換

Ubuntu上安裝tinyproxy搭建HTTP代理伺服器

1.TinyProxy安裝 sudo apt-get update apt-get install tinyproxy 2.然後配置引數檔案: vi /etc/tinyproxy.conf 3.修改下面兩個部分。 Port 8888      #預設