1. 程式人生 > >伺服器VPN配置教程(3)——純shell啟動

伺服器VPN配置教程(3)——純shell啟動

【內容摘要】

做資料採集經常需要爬取境外網站的內容,除了在採集程式碼中新增代理模組外,這裡介紹一種伺服器全域性代理的方法,只要購買的VPN服務支援pptp方式或L2TP方式,就可以使用本文的教程對伺服器進行全域性翻牆。

【正文】

三、純shell啟動VPN

此方法通過shell指令碼執行啟動VPN,效果和二相比沒有多大差別,但指令碼未完善不穩定,在終端輸入

sudo pptpsetup --create VPN1 --server tw1.lvdou321.com --username [email protected].com --password ******
--encrypt --start

即可建立一個VPN連結
對於本人購買的VPN,有tw、hk、us字首可供選擇,每個字首又有1-20個伺服器,如

  • tw1.lvdou321.com~ tw20.lvdou321.com
  • hk1.lvdou321.com~hk20.lvdou321.com
  • us1.lvdou321.com~ us20.lvdou321.com

這裡附上兩個指令碼,首先手動開啟createVPN.sh,changeVPN指令碼目前的功能是沒20分鐘執行一次(在crontab中配置 /20 * * * sh /home/zly/checkvpn.sh >> /home/zly/testvpnchange/change.out 2>&1)

每次檢查是否存在ppp0,若存在,則認為在vpn連線,則執行斷開vpn的操作,若沒有,則連線vpn,斷開或連線vpn之後需要更改預設路由:刪除原來的,並設定新的(連線vpn,則設為ppp0,斷開設為eth0)注意:該指令碼並沒有做過多的錯誤控制,比如某次連線失敗了,要怎麼處理,等等…需要有人去補全,以適應各種情況。:

<- --------------------------------------createVPN.sh---------------------------------------->
#!/bin/bash
#route -n | grep "0.0.0.0         0.0.0.0" 
function create() { for i in {1..15}; do echo "你的管理員賬號的密碼" | sudo pptpsetup --create amazonVPN$1$i --server $1$i.lvdou321.com --username 555666777@qq.com --password 123456 --encrypt done; } name=(tw us hk) for j in {0..2} do create ${name[$j]} done; <- ------------------------------------changeVPN.sh ------------------------------------------> #!/bin/bash changeVPN() { echo "你的管理員賬號的密碼"|sudo -S pptpsetup --create amazonVPN$1 --server $1.lvdou321.com --username 555666777@qq.com --password 123456 --encrypt --start echo sleep 20 seconds...; sleep 20s; echo "你的管理員賬號的密碼"|sudo -S ip route del default; echo "你的管理員賬號的密碼"|sudo -S route add default dev ppp0; echo "你的管理員賬號的密碼"|sudo -S route add default gw 1.2.3.4 dev ppp0; } run() { echo "你的管理員賬號的密碼"|sudo -S poff -a; echo "你的管理員賬號的密碼"|sudo -S route add default dev eth0; echo "你的管理員賬號的密碼"|sudo -S route add default gw 1.2.3.4 dev eth0; echo sleep 10 seconds...; sleep 10s; name=(tw us hk) r=`echo $[$RANDOM%10+1]`; r0=`echo $[$RANDOM%3]`; echo amazonVPN${name[$r0]}$r; changeVPN ${name[$r0]}$r; } run line=`/sbin/ifconfig | grep ppp0` #echo $line if [[ $line =~ "ppp0" ]]; then echo connect succeed. exit else run fi line=`/sbin/ifconfig | grep ppp0` #echo $line if [[ $line =~ "ppp0" ]]; then echo connect succeed. else echo connect vpn failed,use local_ip. echo "你的管理員賬號的密碼"|sudo -S route add default dev eth0; echo "你的管理員賬號的密碼"|sudo -S route add default gw 1.2.3.4 dev eth0 fi

相關推薦

伺服器VPN配置教程3——shell啟動

【內容摘要】 做資料採集經常需要爬取境外網站的內容,除了在採集程式碼中新增代理模組外,這裡介紹一種伺服器全域性代理的方法,只要購買的VPN服務支援pptp方式或L2TP方式,就可以使用本文的教程對伺服器進行全域性翻牆。 【正文】 三、純shel

伺服器VPN配置教程2——介面配置法+shell指令碼啟動

【內容摘要】 做資料採集經常需要爬取境外網站的內容,除了在採集程式碼中新增代理模組外,這裡介紹一種伺服器全域性代理的方法,只要購買的VPN服務支援pptp方式或L2TP方式,就可以使用本文的教程對伺服器進行全域性翻牆。 【正文】 在上一篇文章http:

C++開發人臉性別識別教程3——OpenCv配置和ImageWatch插件介紹

下劃線 toc bsp 對話 顯示 調試 詳細 結構 post   OpenCv是C++圖像處理的重要工具。這個人臉性別識別的項目就是借助OpenCv進行開發的。盡管網上已經有了非常多關於OpenCv的配置教程,但出於教程完整性考慮。這裏還是用專門的一篇博客來介紹Ope

cocos2d-x 3.X eclipse gradle 多渠道多SDK打包配置教程

根據上一篇的指導,應該已經可以出一個同資源同SDK的包了,現在看下在eclipse gradle下如何像Android studio一樣一鍵打出不同SDK接入的渠道包吧 首先一個專案一個專案的複製貼上到工程下,大概是這樣的 每個渠道都建立好build.gradle,裡

Flask系列教程3——專案配置

如果想深入學習Flask,可以觀看這套免費Flask教學視訊:Flask入門到專案實戰 專案配置 設定為DEBUG模式: 預設情況下flask不會開啟DEBUG模式,開啟DEBUG模式後,flask會在每次儲存程式碼的時候自動的重新載入程式碼,並且如果

Android與JavaWeb伺服器互動教程3-一個簡單的Android專案

1.前言 是時候該寫Android端了。。。 2.建立專案 3.匯入xUtils3框架 送上xUtil3框架的傳送門 附上jar包的下載地址: 百度雲 七牛雲 以及json的下載地址 七牛雲 百度雲 把jar包拷入libs

UAP-AC-LITE無線AP配置教程中文版

UBNT UAP-AC-LITE 軟AC控制器 優倍快無線AP 安裝完UniFi並打開之後,其會自動跳轉到頁面以對其進行配置。正式進入到控制器初始化設置界面,以下畫面只會在第一次安裝控制器後才會出現。1. 首先,選擇國家與時區,然後下一步。 2. 配置設備,在這一步驟中其自動掃描

痞子衡嵌入式:第一本Git命令教程3- 編輯(status/add/rm/mv)

this 通知 一次 ranch card use div 添加文件 app   今天是Git系列課程第三課,前兩課我們都是在做Git倉庫準備工作,今天痞子衡要講的是Git本地提交前的準備工作。   本地有了倉庫,我們便可以在倉庫所在目錄下做文件增刪改操作,這些操作默認都

Maven教程3--Maven倒入工程常見問題

rec m2e hive jpg https arc fun arch manifest 常見錯誤: 常見錯誤一:These projects must be migrated to correctly function in this version of MyEclip

多態3—— 虛函數和抽象類

接口類 rtu 存在 clas people 繼承 寶典 dong spa 1、基本概念   純虛函數是一個在基類中說明的純虛函數,在基類中沒有定義,要求任何派生類都定義自己的版本。   純虛函數為各派生類提供一個公共界面(接口的封裝和設計、軟件的模塊功能劃分)。 純虛函數

Thrift RPC 系列教程3——模組化

模組化是好事,以及,它讓我聯想到了 C 語言,以及它那如同平原一樣的名稱空間。 為什麼需要模組化 所謂『模組化』,是一種很自然的事情,體現了『分而治之』的思想。 坦白來說,這是一個無需過多討論的話題。如果你寫過C 語言,就會對它那『近乎平坦』的名稱空間,感到熟悉。所有的函式,變數都在同一個全域

同時安裝兩個Tomcat配置教程Win10

轉載註明出處 https://blog.csdn.net/zouguo1211/article/details/83997231 前言 在日常開發中,有時候一個Tomcat容器不能滿足我們的需求,那麼能不能在一臺機器上配置多個Tomcat呢?答案是可以的! 本文將演示如何在W

Redis配置檔案3常見的配置修改

 常見的配置:   redis.conf 配置項說明如下: 1. Redis預設不是以守護程序的方式執行,可以通過該配置項修改,使用yes啟用守護程序   daemonize no   2. 當Redis以守護程序方式執

C語言基礎教程3流程控制

流程控制 什麼是流程控制 程式程式碼執行的順序。 流程控制的分類 順序執行 選擇執行   定義:某些程式碼可能執行,可能不執行,有選擇的執行某些程式碼。 分類:if If最簡單的用法: 如果想控制多個語句的執行或者不執行,那麼需要

CentOS7配置教程安裝MongoDB並遠端連線

(全文驗證通過 20180912) 安裝方法有三種 1、下載tar.gz包解壓安裝,檢視:https://blog.csdn.net/wqc19920906/article/details/80998777 2、用下面命令直接安裝,不過這個安裝的是老版本2.6的

spring cloud系列教程3----父專案,公共專案,部門提供/消費專案建立

給大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油 ​   要求知道,父,公共專案建立的意義。 父專案:所有子專案所用的jar包,版本號定義 公共專案:只需要在一個專案中定義實體等等所有專案都可以用 部門提供專案:簡單的一個springboot+myba

ArcGIS Engine10.0輕鬆入門級教程2——建立一個ArcGIS Engine桌面應用程式 ArcGIS Engine10.0輕鬆入門級教程3——ArcEngine10.0查詢分析功能 ArcGIS Engine— 學習圖層符號化

ArcGIS Engine10.0輕鬆入門級教程(1)——必備基礎知識 ArcGIS Engine10.0輕鬆入門級教程(2)——建立一個ArcGIS Engine桌面應用程式 ArcGIS Engine10.0輕鬆入門級教程(3)——ArcEngine

Nginx 教程3:SSL 設定

大家好!分享即關懷,我們很樂意與你分享其他的一些知識。我們準備了一個 Nginx 指南,分為三個系列。如果你已經知道一些 Nginx 知識或者想擴充套件你的經驗和認知,這個再合適不過了。 我們將告訴你 Nginx 的運作模式、蘊含的概念,怎樣通過調優 Nginx 來

JProfiler入門教程3--JProfiler進行本地JVM的效能監控

監視本地的Tomcat, 看似是本地,其實JProfiler GUI在一個單獨的JVM裡啟動,他與被監視的目標jvm之間通過socket通訊,目的為了不干擾目標JVM。所以監視本地Tomcat與監視遠端的Tomcat的配置方法基本是一樣的。當你學會了如何監控本地

【LaTeX】E喵的LaTeX新手入門教程3數學公式

昨天熄燈了真是坑爹。前情回顧上一期測試答案1.大家一開始想到的肯定是\LaTeX{}er。其實\LaTeX er也可以的。 2.\LaTeX{} er或\LaTeX\ er數學模式現在我們打算在文件中插入一些數學公式什麼的了;按照正常的情況來說,數學公式裡面的字元一般