标签汇整: 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来解决优先级问题。