看板 terievv
作者 標題 標題 [攻略] 在 VPS 上架設個人 PPTP 模式 VPN
時間 2015-06-11 Thu. 02:26:04
看板 KanColle
作者 標題 [攻略] 在 VPS 上架設個人 PPTP 模式 VPN
時間 Wed Jun 10 00:25:50 2015
基本上文長,直接用網頁看可以到 Blogger:
http://takahashi65.blogspot.tw/2015/06/vultr-vps-pptp-vpn.html
==
這篇文章要講述的,是如何在 VULTR VPS 上以 Ubuntu 14.04 LTS 架設 PPTP VPN 服務
==
首先,得感謝某個三不五時就「大量貓空襲」的日本網頁遊戲,讓我在 PHP、CSS 與 HTML
的世界之外點了一堆 Linux 技能,還順便實作了 VPS 上架設 PPTP VPN 的操作,這篇文
章主要是關於如何在 VPS,也就是 Virtual private server,也就是虛擬專用伺服器上架
設 PPTP 服務的操作
==
在選擇 VPS 廠商方面,我本來會推薦 Linode 這家異常超值的廠商,無奈它的東京機房已
經售罄許久,我在六月初曾經用開一個位在新加坡機房的單位,用延遲過高的理由要求搬
遷到東京,藉以迴避無論是老客戶還是新客戶都無法購買東京機房單位的限制,無奈這招
也行不通了,目前只能等它們開通新的東京機房( Linode 在本年度的展望報告中有提及
到),目前我選擇的 VPS 廠商是 VULTR,這家廠商也有提供位在東京機房的單位,且除了
信用卡之外,還支援 PayPal 與比特幣儲值
==
https://c1.staticflickr.com/9/8879/18384523980_881d9df158_b.jpg
註冊後首先是儲值,藉由舊客戶邀請的方式可以獲得五鎂的獎勵,而舊客戶邀請新客戶也
可以獲得十鎂的獎勵
https://c1.staticflickr.com/1/328/18567743502_8440e0b9a2_b.jpg
接著選擇部屬 VPS 單位
https://c1.staticflickr.com/9/8845/18574282521_cab24424b8_b.jpg
選擇 VPS 單位的規格,由於 VULTR 在各地機房規格的關係,如東京機房不會給你 2TB 流
量,這點之後會說
https://c1.staticflickr.com/9/8828/18386056829_21931451fe_b.jpg
部屬後會進行安裝,大約三十秒就會顯示完成,但是要稍等一會才可以遠端操作
https://c1.staticflickr.com/1/391/18384573540_bf18b6275e_b.jpg
雖然說 VULTR 支援 noVNC 這種 KVM,但我慣用終端機連線到 VPS 上
https://c1.staticflickr.com/1/412/18384640200_11591c2dc5_b.jpg
登入方式是「ssh root@VPS 的網路位址」,輸入管理密碼後以 root 權限登入
==
這邊要講一下,一樣是十鎂方案的話,Linode 跟 VULTR 的差異主要在頻寬跟 IP 位址上
==
首先是 VULTR 東京機房沒有 2TB XFER,只有 400GB XFER,不過兩家一樣都只算流出而不
算流入(架設 VPN 的話,就是只算出 VPS 的流量,對於架設連線上是雙向流動的 VPN 服
務來說是很大的優點),一樣的價格只買到五分之一的流量想必不是很好受,但真的買不
到 Linode 的東京機房啊!日本國內流量不限的 VPS 廠商也限制日本國內購買而已(有綁
定日本信用卡與住址、電話號碼),而且目前 VULTR 十鎂方案打折成八鎂,在更好的方案
出現,或是 Linode 的新東京機房上線前,想買到日本地區 VPS 只能先用 VULTR,而亞馬
遜的 AWS EC2 雖然說第一年給你免費(以 t2.micro 方案來說)試用,但限制一個月七百
五十小時單位執行時間與 15GB 流量很容易就爆掉,而爆掉之後的 Amazon EC2 會瞬間變
成日本地區 VPS 中最高昂的服務廠商,看到信用卡帳單你會崩潰
==
再來是 IP 位址的問題,不論是 Linode 或 Amazon EC2 服務,在建立 VPS 時就會發給你
日本 IP,而 VULTR 由於所購買的 IP 位址區段是 Choopa.Inc 與 GameServer.com 等廠
商共有(這三者某種程度上其實是一體的),因此會有一段時間會被判定成美國 IP,而在
GeoIP 單位的資料庫更新之前基本上不會改變,而這個更新所需要的時間是個很曖昧的「
過幾天」,好一點可能一兩週以內就會更新,慘一點就是以月來計算了,不過這是網路架
構的問題,無解
==
回到設定 PPTP 服務的話題,首先是安裝 PPTP 服務
指令是「sudo apt-get install pptpd」,其實以 root 登入的話可以不用打 sudo 啦,
當初太累忘了,不過真要進 root 建議照表操課,不然會把系統炸掉
==
https://c1.staticflickr.com/1/488/17949640084_42a94d7095_b.jpg
接著調整 pptpd.conf,輸入「sudo nano /etc/pptpd.conf」
https://c1.staticflickr.com/9/8840/18574348901_2fab0f539e_b.jpg
進入 pptpd.conf 進行編輯,移到最下面
https://c1.staticflickr.com/9/8838/18545898606_0f9cb8b3e7_b.jpg
設定 IP 位址,「localip 192.168.2.25 」是 VPS 內部出口
而「remoteip 192.168.2.1-20」則是提供給用戶連線
https://c1.staticflickr.com/1/480/18572305125_605ce6f009_b.jpg
Crtl+X 結束編輯,按下 Y 後直接 Enter 原檔案名稱存檔,
接下來是「/etc/ppp/chap-secrets」這個檔案
https://c1.staticflickr.com/9/8893/18572327365_2173982c52_b.jpg
「/etc/ppp/chap-secrets」用於連線帳號設定,
用空格分開的分別是使用者帳號、服務名稱(預設 pptpd )、密碼與連線 IP
https://c1.staticflickr.com/9/8888/18384661690_d68ec40494_b.jpg
接著是「/etc/ppp/options」
https://c1.staticflickr.com/1/266/18572327345_349e31e576_b.jpg
這裡可以看到服務名稱,就是用在「/etc/ppp/chap-secrets」中 #server 項目的那個
https://c1.staticflickr.com/1/550/17949662474_4794d5bddd_b.jpg
在「/etc/ppp/options」進行 DNS 的設定,
以較不容易被污染的 Google Public DNS 為設定
https://c1.staticflickr.com/1/554/18384526468_e915f4ce3b_b.jpg
以「sudo service pptpd restart」指令讓 PPTP 服務重新啟動
https://c1.staticflickr.com/1/492/18386178079_c2f88466d0_b.jpg
接著會回送結果,「OK」就是確認重新啟動
https://c1.staticflickr.com/9/8859/18545954366_b1b247a203_b.jpg
再來是「/etc/sysctl.conf」
https://c1.staticflickr.com/1/418/18567865102_6bf4e920df_b.jpg
將該行的註解 # 刪去,啟動設定伺服端 IPv4 協定封包的繞送,
讓使用者可以藉由 VPS 主機上網
https://c1.staticflickr.com/1/459/18574403341_4308030f9b_b.jpg
「sysctl -p」重啟
https://c1.staticflickr.com/1/478/18386177829_c09dfebe44_b.jpg
確認回送「net.ipv4.ip_forward=1」則成功
https://c1.staticflickr.com/1/438/18567918732_67059253d2_b.jpg
設定「Iptables」,編輯路由表以確認繞送規則
https://c1.staticflickr.com/1/532/18574456981_e3dd4959f7_b.jpg
參數
「sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE」
,繞送整個 PPTP 服務的封包
https://c1.staticflickr.com/1/499/18567918402_7fec78b85d_b.jpg
但是上述參數重啟 VPS 的話會消失 所以要編輯「/etc/rc.local」
https://c1.staticflickr.com/1/380/18572412675_c5f5c0ea6a_b.jpg
在 exit 0 前一行輸入
「iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE」
https://c1.staticflickr.com/1/400/17951738103_5ee3457e0a_b.jpg
接著就可以登出了,不放心可以再讓 PPTP 服務重新啟動一次
https://c1.staticflickr.com/9/8835/18574688371_455e4edd6b_b.jpg
再來就是本機端的 VPN 設定,這裡用隨邊一張擷圖作示範,
伺服器位址填入 VPS 的 IP 位址,而帳戶、密碼就是剛才設定的那些
==
基本上這樣大費周章購買 VPS 來架設 VPN 有兩大優點,一是 VPN 是你自己的,管理權限
在你自己手上,安全性方面只要不是你設定失誤或是軟體上的臭蟲,理論的安全性與可信
任度是高於付費 VPN,更遑論免費的 VPN 服務,二是由少數幾個人一起租用同一台 VPS
運作 VPN 不只可以分攤費用,也可以避免大量使用者使用同一台 VPN 時被遊戲營運廠商
列入黑名單的可能性 (理論
==
https://c1.staticflickr.com/1/510/18386242249_71f8217eb2_b.jpg
話說 VULTR 有提供 noVNC 的 KVM 服務,不過 VPS 上的作業系統基本上都是靠終端機在
跑,除非裝 X Window 圖形介面
==
基本上安裝 Ubuntu 14.04 LTS 的 VPS 架設方式都是這樣,幾乎可以套用在任何運作 Xen
的 VPS 上
==
剛剛研究出來了,以查IP網站「http://www.whatismyip.com.tw/」為範例,
其位址「106.187.42.221」,在 OS X 上撰寫如下,先將同時將「透過VPN 連線傳送所有
流量」取消勾選,接著在終端機上輸入下列這個,會問管理密碼
sudo route add -net 106.187.42.221 -netmask 255.255.255.255 <VPN 本地的IP>或是
sudo route add -net 106.187.42.221 -netmask 255.255.255.255 -interface ppp0
ppp0是 OS X 預設的 VPN 閘口,用 ppp0 就不用每次重連 VPN 時刪掉舊的,重打新的路
由指令了,如果看到網站的結果是 VPN 的端口,你就成功了,輸入下列即可刪除這條規則
sudo route delete -net 106.187.42.221 -netmask 255.255.255.255 <VPN 本地的IP>或
sudo route delete -net 106.187.42.221 -netmask 255.255.255.255 -interface ppp0
再來有兩個問題,一是把 203.x.x.x 都包進去的話 CIDR 要如何撰寫?二是在 Windows
上該如何撰寫?懇請解惑
--
我的噗浪:http://www.plurk.com/Takahashi_65
我的推特:https://twitter.com/#!/Takahashi_65
我的網誌:http://takahashi65.blogspot.tw/
Fenrisulfr: http://www.fenrisulfr.org/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.87.6
※ 文章代碼(AID): #1LTnERFE (KanColle)
※ 文章網址: https://www.ptt.cc/bbs/KanColle/M.1433867163.A.3CE.html
推 : 太專業了(捏眉1F 06/10 00:32
推 : 趕快推文,要不然人家會說我們看不懂2F 06/10 00:33
推 : 這是中文嗎?3F 06/10 00:34
推 : 遊戲真是增進電腦技能的最好方法4F 06/10 00:35
推 : 有點..錯版老實說lol5F 06/10 00:36
推 : 沒辦法 DMM水量還不夠吧6F 06/10 00:37
推 : 可惜AWS不能這樣玩我跟AWS比較熟7F 06/10 00:38
AWS EC2 確定可以https://www.flickr.com/photos/124577094@N02/sets/72157653780009570
→ : 我該寫一份M$Azure Windows Server SSTP VPN版本的嗎8F 06/10 00:39
Azure 好像不允許跑 PPTP 協定,所以我跟 Azure 不熟推 : 建議不要開在192.168.0.x 這樣發配到client端的IP很可能跟原9F 06/10 00:39
→ : 本的區域網路對撞
→ : 本的區域網路對撞
推 : 嗯嗯跟我想的一樣11F 06/10 00:41
→ : 喔我看到是開在192.168.2了 Orz 後面文字的地方似乎打成.012F 06/10 00:41
已修正,我打太快推 : 推好心, 但是我看不懂orz13F 06/10 00:41
推 : OSX的route好像可以用-interface ppp0指定?14F 06/10 00:43
似乎不行的樣子→ : 用 SSH Tunnel 就夠了吧,特地設定 VPN 有點自找麻煩15F 06/10 00:55
→ : Windows最近才加原生ssh 這可能也沒有比較容易...16F 06/10 00:57
推 : Azure的ENDPOINT只開TCP/IP PPTP的GRE被封了所以..(r17F 06/10 00:59
→ : 有 PuTTY ,也有 OpenSSH ,絕對比較簡單18F 06/10 00:59
→ : 容我我研究一下19F 06/10 01:00
推 : 先推詳細教學,遊戲真是讓人學習任何事的好動力20F 06/10 01:02
→ : 不過用root登入ssh、port開在預設22,這兩件事很危險
→ : 不過用root登入ssh、port開在預設22,這兩件事很危險
→ : 文中不是有用 SSH 連到 VPS ?加上 -D <port> 就可以在22F 06/10 01:03
→ : local 開一個 SOCKS5 Proxy
→ : local 開一個 SOCKS5 Proxy
推 : 推24F 06/10 01:06
推 : Azure就直接WinServer+RRAS架設L2TP就可以了25F 06/10 01:07
→ : 如樓上所說,教新手這樣用實在很危險,我 VPS 就被打過26F 06/10 01:07
要的話我可以教改 SSH Port,不過我密碼是強密碼所以沒什麼在擔心,而且改 Port 之後登入時要特地調
推 : route add 203.x.0.0/16 -interface ppp0 這樣呢?27F 06/10 01:07
研究出在 OS X 上適用的規則了,不過是針對單一的,廣泛的 CIDR 我不會※ 編輯: takahashikag (61.228.87.6), 06/10/2015 01:23:20
推 : PPTP姑且比較簡單,需不需要在文章中提醒密碼強度?28F 06/10 01:26
推 : 請不要教新手用root登入...29F 06/10 01:26
→ : OpenSSH有Tun/Tap可以開,兩邊都是UNIX可以用這個做VPN
→ : 另外建議上fail2ban,不然就改port
→ : OpenSSH有Tun/Tap可以開,兩邊都是UNIX可以用這個做VPN
→ : 另外建議上fail2ban,不然就改port
→ : 其實比較在意頻寬 現在骯賴game頻寬都吃很大32F 06/10 01:32
※ 編輯: takahashikag (61.228.87.6), 06/10/2015 01:38:40推 : putty開socks proxy也不難,也有command line mode33F 06/10 01:34
→ : putty.exe --ssh -D [port] username@host
→ : putty.exe --ssh -D [port] username@host
推 : 推專業35F 06/10 02:29
推 : ...看不懂= ="...太難了...36F 06/10 03:45
推 : 好像很厲害 先推個37F 06/10 05:32
推 : 推專業38F 06/10 06:39
推 : 看不懂還是推39F 06/10 07:08
推 : 完全看不懂40F 06/10 07:18
推 : 我今年一月還買的到LINODE的東京VPS,不過我是架41F 06/10 08:52
→ : ANONYMOUS PROXY來用比較方便
→ : ANONYMOUS PROXY來用比較方便
推 : LINODE 線路不太穩 晚上有時候會風狂掉包43F 06/10 10:43
→ : 之前用過免費EC2 如果只有將艦これ流量導過去 15G不會爆
→ : 只是現在VPS除了VPN之外 還有其他服務 流量就不夠了
→ : 之前用過免費EC2 如果只有將艦これ流量導過去 15G不會爆
→ : 只是現在VPS除了VPN之外 還有其他服務 流量就不夠了
→ : 太難了,我決定放棄專利法46F 06/10 10:45
→ : EC2的時候 是四個人共用 一個月8G快10G而已47F 06/10 10:46
推 : 補上 我是架 OpenVPN 還有其他東西需要VPN
推 : 補上 我是架 OpenVPN 還有其他東西需要VPN
推 : 如果只有自己用還是架proxy比較有彈性49F 06/10 11:45
推 : 推一下﹐雖然我覺得烤餅乾就足以解決問題...50F 06/10 15:43
推 : 前陣子測Azure 台灣到日本會繞到香港 所以延遲多兩倍51F 06/10 18:59
→ : Linode 4x ms/Azure 東京8x ms, 大阪 9x ms
→ : 補充: 我是用hinet連的
→ : Linode 4x ms/Azure 東京8x ms, 大阪 9x ms
→ : 補充: 我是用hinet連的
→ : 前陣子登陸信用卡有送50USD 不知道還有沒有54F 06/10 19:40
看板 KanColle
作者 標題 Re: [攻略] 在 VPS 上架設個人 PPTP 模式 VPN
時間 Wed Jun 10 17:45:25 2015
假定你位於匪區,兼翻牆版。
PPTP L2TP/IPSEC 已經能被拆包 OPENVPN握手特徵被掌握,流量稍微一大就直接滅亡。
特別是GFW現在採用有罪推定,被盯上後是直接丟光加密封包,你對此無可奈何。
SHADOWSOCKS+SAKURAVPS簡易版
需要對LINUX操作有基礎了解。
環境:SAKURAVPS CENTOS 6
yum install epel-release
yum update
yum install python-setuptools m2crypto supervisor
easy_install pip
pip install shadowsocks
vi /etc/shadowsocks.json
i編輯輸入
{
"server":"0.0.0.0",
"server_port":yourport,
"local_port":1080,
"password":"yourpassword",
"timeout":300,
"method":"aes-256-cfb"
}
按esc
:wq
如果要AUTOSTART
vi /etc/supervisord.conf
i編輯輸入 最後方追加
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
log_stderr=true
logfile=/var/log/shadowsocks.log
按esc
:wq
vi /etc/rc.local
i編輯輸入
service supervisord start
按esc
:wq
reboot
到這邊你已經成功的架設SHADOWSOCKS,並且AUTOSTART。
客戶端:
http://sourceforge.net/projects/shadowsocksgui/files/dist/
目前的最新版是Shadowsocks-win-2.3.1.zip
雖然是簡體中文,不過應該看得懂,就不另做說明了。
有需要單獨代理的,請自行編輯PAC。
備註:指令部分參考自Anonymous V氏的shadowsocks相關教學。
備註二:對SAKURA有興趣的可站內信聯繫。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 153.205.50.28
※ 文章網址: https://www.ptt.cc/bbs/KanColle/M.1433929530.A.3E4.html
→ : 玩個艦娘好搞肛1F 06/10 17:56
推 : 總比互打嘴砲好。2F 06/10 18:07
推 : 被丟包 比被拆包好多了3F 06/10 18:07
推 : 差點以為走錯版4F 06/10 18:11
推 : ...太難了啦~~~pass~~~(我還是乖乖烤餅乾好了5F 06/10 18:27
→ : 話說我以前為了讓筆電可以玩區域限定遊戲,還弄了OPENVPN
→ : 現在已經完全忘記怎麼裝了= ="
→ : 話說我以前為了讓筆電可以玩區域限定遊戲,還弄了OPENVPN
→ : 現在已經完全忘記怎麼裝了= ="
推 : 趕快推不然別人以為我看不懂8F 06/10 18:33
推 : 雖然看不懂但還是給推9F 06/10 18:39
推 : 恩!!!跟我想的一樣!!!!10F 06/10 18:53
推 : 這邊文組和醬料異常的多...11F 06/10 19:44
推 : 趕快推不然別人以為我看不懂12F 06/10 20:00
→ : 雖然看得懂可是不想看(謎)13F 06/10 20:06
推 : vi對初學者太難惹啦14F 06/10 20:09
推 : 電類表示在這邊看到這幾篇不禁痛哭流涕15F 06/10 20:11
推 : L2TP也陣亡囉..剩ipsec可用嗎16F 06/10 20:16
推 : 我當初入坑的時候 都沒想到會遇到這些東西....17F 06/10 20:36
推 : L2TP本身完全沒有加密 比PPTP那種容易破的加密還慘18F 06/10 20:43
推 : L2TP可以用IPSEC加密啊,這套看起來也是PROXY的作法19F 06/10 20:51
推 : 自從我進入艦娘的世界後,不僅腦袋靈光,變受歡迎,連20F 06/10 21:23
→ : 程設計概都拿滿分了呢~
※ 編輯: clse0190 (153.205.50.28), 06/10/2015 21:39:19→ : 程設計概都拿滿分了呢~
→ : GWF越來越噁心了...22F 06/10 21:40
→ : FW
→ : FW
推 : L2TP是傳輸協定 可以自由搭配加密協定 比較常見是IPsec 這樣24F 06/10 22:21
--
※ 作者: terievv 時間: 2015-06-11 02:26:04
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 500
回列表(←)
分享