標籤彙整: VPN

Win7導入證書後SSTP依然提示0x800B0109

Win7連線SSTP的時候提示0x800B0109,可以剛剛明明右鍵導入自簽名的root證書成功了,依舊說證書不是信任的機構頒發。打開Internet選項發現,證書也確實在受信任的根證書頒發機構裡,這是為什麼呢。原因是sstp根本不用這個用戶證書列表(其實其他很多程式也不用這個。
解決方案如下:
開始-運行mmc
選擇文件-添加刪除管理單元
左側選擇證書-點擊添加
1
選擇計算機帳戶
2
本地計算機
3
確定後查看一下證書列表
4
發現確實沒有剛才導入的證書!
於是在證書目錄上右鍵-所有任務-導入證書
再次連線發現已經可以了。

======
文章參考sun8134的blog

Linux下查看pptpd等VPN撥入日誌的方法

使用pptpd和xl2tpd搭建VPN之後,會發現在/var/log下並沒有詳細的日誌,在syslog中雖然有IP記錄和撥入時間,但卻沒有帳戶和連接等信息,當需要查看當前連接的用戶,或者之前的使用日誌則無從查起。
之前的文章中介紹過利用shell腳本對VPN撥入的PPP連接進行限速,原理是利用ppp撥入時會加載ip-up,事實上在ppp斷開時也會加載ip-down。參考pptpd幫助可以得知其中可以使用的參數。因此可以用如下方法:
在ip-up結尾添加

在ip-down結尾添加

之後當連接撥入和斷開時則寫入日誌,如果擔心日誌過大可以在crontab寫一個自動清理腳本即可。

======
kujou_rin

連接VPN後自動區分國內國外流量的方法

大陸的網友常常遇到這樣的問題,連接VPN後,會遇到國內網站訪問變慢問題。這也是全局VPN的一大缺陷,如何解決這個問題呢。
之前的文章講過如何設置路由,那麼我們可以用路由區分國內和國外流量,從而實現目的地不同走不同網路的效果。
方法如下:
1,下載以下附件
pre_created_for_win
2,解壓,右鍵管理員身份運行vpnup.bat。
3,連接VPN
注意,以上方案適用與中國大陸翻X的網友,重啟後可能需要重新運行bat進行設置。
相關文章,路由表的原理和基本配置方法:
https://lilith.pro/gijyutsu/1930
======
kujou_rin

Ubuntu搭建PPTP/L2TP類型VPN伺服器

在Ubuntu下搭建VPN伺服器,我們分別搭建PPTP和L2TP兩種類型。

首先我們搭建PPTP伺服器。
下載安裝pptpd:

接下來修改配置腳本,首先在/etc/ppp/options中配置DNS。
將以下兩行的注釋符號刪除並改為你需要的外網DNS:

然後修改pptp配置文件/etc/ppp/pptpd-options,除注釋行外的內容如下:

以及另一個用於pptp分配ip的配置文件/etc/pptpd.conf,在該文件結尾加入:

給pptp連接分配的內部ip地址段請根據需要填寫。
接下來打開路由轉發功能,在/etc/sysctl.conf中找到以下內容將數值改為1:
net.ipv4.ip_forward=1
保存後運行命令生效:
sysctl -p
修改iptable規則NAT轉發以及設置MTU

以上兩行重啟後會失效,很多人的做法是將其保存為iptable rules添加到pre-up中
我的做法比較簡單,直接將這兩行寫入/etc/rc.local結尾(exit之前)。
(注意:eth0是你的公網網卡名稱,請通過ifconfig確認)
然後在/etc/ppp/chap-secrets中添加用戶和密碼。
格式為[用戶名\t連接類型\t密碼\t用戶IP],例如:

使用/etc/init.d/pptpd restart重啟pptpd服務。
至此pptp類型VPN搭建完畢。

接下來搭建L2TP類型VPN。
因為L2TP需要通過IPSec加密,同樣我們下載安裝需要的組建服務:

然後修改配置文件/etc/ipsec.conf,除注釋行外的內容如下:

left處請填寫您本伺服器的IP位址!
接下來修改/etc/xl2tpd/xl2tpd.conf,除注釋行外的內容如下:

ip range處請填寫您需要給l2tp連接分配的內部ip網段。
再修改/etc/ppp/options.xl2tpd,如果沒有可以新建,內容如下:

DNS處可設置您需要分配的DNS地址。
再修改/etc/ipsec.secrets文件設置預設共享密鑰:

前面為本伺服器IP地址,引號內的為您要設置的密鑰
修改網路策略使ipsec能正常運行:

順便也加入到/etc/rc.local中(exit之前)。
以上配置全部完畢後,可以通過ipsec verify命令檢測ipsec運行是否正常。
如果出現Checking for IPsec support in kernel [FAILED],您可能未啟動ipsec服務,通過/etc/init.d/ipsec start啟動。
如果出現NETKEY: Testing XFRM related proc values [FAILED],您可能未修改網路策略。
如果出現Pluto listening for IKE on udp 500 [FAILED],您可能需要安裝apt-get install lsof。
如果沒有出現[FAILED]表示運行正常。
Ubuntu使用apt-get安裝openswan一定會出現Two or more interfaces found, checking IP forwarding [FAILED]。
而且客戶端無法連接,且在/var/log/auth日誌中出現
ERROR: netlink XFRM_MSG_DELPOLICY response for flow eroute_connection delete included errno 2: No such file or directory
那麼原因應該是apt-get到的openswan版本並不能在該Ubuntu上運行,建議去openswan的官網下載2.6.34版本手動編譯安裝。
或在此下載源碼:ftp://ro:[email protected]/openswan_lilith.pro.tar.gz
(這實在非常噁心,因為源碼編譯安裝不是誰都能完成的,注意必須把源碼解壓在/usr/src下並apt-get install libgmp3-dev,以及bison,flex等然後再編譯安裝)
L2TP將和PPTP一樣使用/etc/ppp/chap-secrets作為帳戶密碼文件。
重啟所有服務:

大功告成!

======
kujou_rin

利用shell腳本對VPN撥入的PPP連接進行限速

  在Linux下使用xl2tpd或pptpd架設VPN服務後,如果需要對撥入的用戶進行限速可以用shell腳本實現。筆者使用tc進行限速,該命令一般預設於Linux中。Linux的VPN在每一個用戶撥入後,會建立一個名為ppp+數字編號的連接並加載 /etc/ppp/ip-up 腳本,因此我們可以把限速的腳本寫在這個文件裡,每次ppp連接建立執行腳本為新連接應用限速規則。
  具體方法是在ip-up的文件末尾加入如下幾行:

  其中down為下行速率,upload為上行速率,這裡的400就是400k/s,iprange是你為撥入用戶分配的ip位址,該位址以外的ip將不受限速規則影響。以上方式筆者在Ubuntu測試通過。

======
kujou_rin

XP系統連線VPN後修改DNS優先級的方法

XP系統及更早版本的Windows在連線VPN後仍然會使用本地DNS進行解析,這使得翻越G*F*W的用戶在使用VPN後仍然出現DNS被劫持的現象。因此需要修改DNS優先級,優先使用VPN連接所分配的DNS,修改方法如下:

開始-運行-regedit,開啟註冊表編輯器。
找到這裡「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage」並在右側修改「Bind」鍵值。
在鍵值表內會發現一行「\Device\NdisWanIp」寫在最後,用複製粘貼將其移動到最上面第一行,保存退出。

當然也可以手動指定國外DNS如8.8.8.8和8.8.4.4來解決優先級問題。