CentOS VPS上搭建PPTP VPN
本文介绍在安装CentOS操作系统的Xen VPS上,如何搭建PPTP VPN服务。包括PPTP的安装、配置,以及相应的iptables规则。本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇。2011年7月20日更新:在安全建议这一部分,增加了使用不同的IP地址,分别提供VPN服务和Web等其他常规服务,以及使用不同IP地址时如何书写iptables规则的内容。
写在前面
在Godaddy一美元COM域名的怂恿下,这几天先是拿到了这个gnailuy.com,然后觊觎了很久的VPS也就顺便到手了。所以说万事嘛,总是要有个开端。
按照之前的构想,下个月起这个VPS将由我和几个好朋友合租,配置虚拟主机,各自建立自己的小网站,还能合用VPS上的VPN服务。从成本上考虑,只要有些钻研技术的精神,加上几个志同道合的朋友,合租一台不太高端的VPS自建服务器,应该还是低于同时购买域名、Web托管以及VPN这几样的成本之和的。这是第一个月,我们会先熟悉熟悉技术,做做各种测试,多学习多发些技术文章,供有同样想法的朋友们借鉴。
正文
在Google苦海里游了两天两夜,终于完成了PPTP VPN还有这个Wordpress小站的基本配置,今天先写一下VPN。这些天因为嫌Google中文首页太丑,搜索资料的时候大都是用英文,本来也打算用英文写这篇文章,但考虑到下面两个原因,于是作罢:一是到自己这英语写作能力,实在不济;二是可能热衷于搭建VPN的个人或者团体,大概也许基本都是在中国大陆上网的吧,o(∩∩)o…
之所以选择PPTP VPN,是考虑到客户端连接起来会比较方便。我们几个人主要都是在Linux Desktop、Windows还有Android上使用VPN,这些终端原生都有连接PPTP的客户端。当然还有一个原因,就是我们购买的VPS是基于Xen PV技术的,可以搭建PPTP。这个原因本来其实是结果,当初要买基于Xen PV的而不是OpenVZ的,就是因为打算在上面搭建PPTP服务。BTW,Xen PV是种半虚拟化技术,不能跑Windows,但据说比全虚拟化的Xen HVM跑Linux效率高。
平台简介
- “硬”件平台:Xen PV, 215M Memory, 512M Swap, 1T Transfer
- 操作系统:CentOS release 5.6 (Final)
- 内核:2.6.18-194.32.1.el5xen i686 i386 GNU/Linux
- 网络:1 IP, 1 Network Adapter(eth0)
配置概览
PPTP的配置主要有下面五个步骤:
- 验证内核是否加载了MPPE模块
- 安装所需的软件包
- 配置PPP和PPTP的配置文件
- 打开内核的IP转发功能
- 启动pptpd守护进程
- 配置iptables防火墙放行和转发规则
详细步骤
开机以后,首先是登录VPS。我平时用Linux,就直接ssh命令登录上去。如果是在Winodws下,推荐使用PuTTY,有一点需要注意,就是连接之前最好把字符集设置成UTF-8,因为Linux默认的locale都是UTF-8了,如果出现非ASCII字符,不设置字符集就会出现乱码,具体的设置方法Google知道。
下面的所有配置操作都需要root权限,如无特别说明,所有命令都在root的家目录下执行。顺便,最好在VPS上禁用root直接登录,尽量建立一个普通用户然后su到root,具体细节偏题了,也请自行Google。
1、验证内核是否加载了MPPE模块:
内核的MPPE模块用于支持Microsoft Point-to-Point Encryption。Windows自带的VPN客户端就是使用这种加密方式,主流的Linux Desktop也都有MPPE支持。其实到了我们这个内核版本,默认就已经加载了MPPE,只需要使用下面命令验证一下,显示MPPE ok即可:
modprobe ppp-compress-18 && echo MPPE is ok2、安装所需的软件包:
–ppp–
PPTP使用PPP协议对用户数据进行封装,然后将PPP数据帧封装在IP数据报里,经由IP网络传播。因此首先需要支持PPP协议,我们使用的完整版CentOS已经自带了ppp这个软件包,如果你安装的是Minial CentOS之类的精简系统,则可能需要下面命令安装ppp:
yum install ppp作为一个懒人,如果没有特殊的自定义要求,我一般尽量用yum安装软件。只要软件源里有,yum比较方便一些,还能自动解决依赖关系。
–pptpd-
有了PPP协议支持,接下来安装pptpd。首先到这里找到最新版适合你的平台的pptpd。CentOS与RHEL通用,Fedora系统则可以使用后缀含fc字样的包,然后还需要根据内核选择32位或者64位的包。找到正确的软件包以后,复制其URL,然后用wget下载到root的家目录(或者用rpm -ivh URL直接安装也行)。譬如我的32位内核CentOS 5,使用下面命令下载:
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm这篇文章默认不考虑”wget: command not found”此类初级的错误。如果看到类似错误,一是检查命令有没有拼错,二是yum install it,三是Google it。其实,这篇文章里总共也用不到几条容易Not Found的命令。
下载完成后,安装:
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm–iptables–
同样,如果不是Minial的系统,应该不会没有安装iptables。这是Linux下最流行的防火墙,默认应该就能找到,如果没有,则:
yum install iptables然后像是iptables这样的软件,对服务器非常重要。虽然还没有配置防火墙的规则,装完就打开吧(只要默认放行ssh的22端口就没问题),打开以后还需要设置一下,在主要的运行级别自动启动:
/etc/init.d/iptables start
chkconfig --level 35 iptables on3、配置PPP和PPTP的配置文件:
接下来需要对ppp和pptpd进行配置,编辑它们的几个配置文件。如果有Linux基础的话,当然推荐使用vi/vim来编辑配置文件。如果不熟悉也不想熟悉vi,那么可以用更容易上手的nano替换下面我将要使用的vi命令。本文不涉及文本编辑器的基础知识,只需要知道如何打开文件、编辑文件、保存文件和退出文本编辑器就可以了。
这些配置文件中,#号开头的行均为注释,对配置不起作用。我们不必关心注释,所以下面我将使用类似
grep ^[^#] /etc/ppp/options.pptpd这样的命令,过滤出配置文件中有效的行显示在本文正文中。你在编辑的时候,只需要添加或修改这些有效的行,把不需要的行前面加上#号注释掉即可。
–ppp–
配置ppp需要编辑它的两个配置文件,一个是option(选项)文件,一个是用户账户文件。首先编辑option文件:
vi /etc/ppp/options.pptpd我编辑这个文件时,它已经是存在的,并且其中的内容也几乎不需要编辑,如果这个文件不存在,自行创建它并填入下面的有效配置就行了。下面是这个文件中有效的行:
- name pptpd
- refuse-pap
- refuse-chap
- refuse-mschap
- require-mschap-v2
- require-mppe-128
- ms-dns 8.8.8.8
- ms-dns 8.8.4.4
- proxyarp
- lock
- nobsdcomp
- novj
- novjccomp
- nologfd
其中name后面的pptpd是服务名称,可以任意修改成你喜欢的名字,在后面的配置中将对应的pptpd替换为你在这里修改的名字即可。
接下来的几行以refuse或者require开头的指令,是配置拒绝和接受的加密方式,这里接受的mschap-v2和mppe-128都是较新的比较安全的加密方式,其中mppe-128需要第一步中验证的内核模块支持。
另外两个比较重要的行就是ms-dns了,它们指定VPN使用的DNS服务器。毕竟VPS位于国外,所以推荐使用上面通用的Google Public DNS,当然也可以修改为你的VPS所在ISP提供的DNS。
剩下后面几个选项,就不在这里叙述了,需要知道其含义的童鞋可以参考这个范例文件中的注释。
接下来修改另一个,存储着用户账户的文件:
vi /etc/ppp/chap-secrets这个文件非常简单,其中用明文存储VPN客户的用户名、服务名称、密码和IP地址范围,每行一个账户:
- username1 pptpd passwd1 *
- username2 pptpd passwd2 *
其中第一第三列分别是用户名和密码;第二列应该和上面的文件/etc/ppp/options.pptpd中name后指定的服务名称一致;最后一列限制客户端IP地址,星号表示没有限制。
–pptpd–
下面编辑pptpd的配置文件:
vi /etc/pptpd.conf这个文件中有效的行也很少:
- option /etc/ppp/options.pptpd
- logwtmp
- localip 192.168.0.1
- remoteip 192.168.0.207-217
其中option选项指定使用/etc/ppp/options.pptpd中的配置;logwtmp表示使用WTMP日志。
后面两行是比较重要的两行。VPN可以这样理解,Linux客户端使用一个虚拟网络设备ppp0(Windows客户端也可以理解成VPN虚拟网卡),连接到服务器的虚拟网络设备ppp0上,这样客户端就加入了服务器端ppp0所在的网络。localip就是可以分配给服务器端ppp0的IP地址,remoteip则是将要分配给客户端ppp0(或者虚拟网卡)的。
这两项都可以是多个IP,一般localip设置一个IP就行了,remoteip则视客户端数目,分配一段IP。其中remoteip的IP段需要和localip的IP段一致。
localip和remoteip所处的IP段可以随意些指定,但其范围内不要包含实际网卡eth0的IP地址。一般情况下,使用上面配置文件中的配置就好使了,你需要做的只是把192.168.0.207-217这个IP区间修改成你喜欢的192.168.0.a-b,其中1<a<b<255。
4、打开内核的IP转发功能:
要使VPN服务器可以作为网络请求的中转代理,能够使客户端通过VPN访问Internet,还需要开启内核的IP转发功能。可以编辑配置文件:
vi /etc/sysctl.conf找到其中的行:
net.ipv4.ip_forward = 0修改为:
net.ipv4.ip_forward = 1然后执行下面命令使上述修改生效:
sysctl -p5、启动pptpd守护进程:
上面配置完成后,就可以启动pptpd进程并设置自动启动了,和上面iptables的例子类似:
/etc/init.d/pptpd start
chkconfig --level 35 pptpd on6、配置iptables防火墙放行和转发规则:
最后,还需要配置防火墙。这里配置防火墙有三个目的:一是设置默认丢弃规则,保护服务器的安全;二是放行我们允许的数据包,提供服务;三是通过配置nat表的POSTROUTING链,增加NAT使得VPN客户端可以通过服务器访问互联网。总之我们的原则就是,只放行我们需要的服务,其他统统拒绝。
首先介绍跟PPTP VPN相关的几项:
- 允许GRE(Generic Route Encapsulation)协议,PPTP使用GRE协议封装PPP数据包,然后封装成IP报文
- 放行1723端口的PPTP服务
- 放行状态为RELATED,ESTABLISHED的入站数据包(正常提供服务的机器上防火墙应该都已经配置了这一项)
- 放行VPN虚拟网络设备所在的192.168.0.0/24网段与服务器网卡eth0之间的数据包转发
- 为从VPN网段192.168.0.0/24转往网卡eth0的出站数据包做NAT
如果你其他的防火墙规则已经配置好无需改动,只需要增加上述相关VPN相关的规则,那么执行下面几条命令即可(第三条一般不用执行,除非你原来的防火墙连这个规则都没允许,但是多执行一遍也无妨):
- iptables -A INPUT -p gre -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
- iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
- iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
- iptables -A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT
- iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
上述的IP段192.168.0.1/24可能需要修改成/etc/pptp.conf中你配置的localip和remoteip所在地IP段。
在我们这台服务器上,还需要一些其他的服务:
- 22端口的SSH(非常重要!如果不小心连这个都忘了,基本就只能给VPS服务商发Ticket了)
- 21端口的FTP控制
- 80端口的Web服务
- 允许响应各种icmp请求
根据上述需求,加上服务器的基本要求,我写了下面的shell脚本。这个脚本默认DROP掉没有明确允许的规则,然后允许包括上面VPN相关的规则和上述几项其他服务所需的规则。可以根据你的实际需求,修改这个脚本,然后执行这个脚本快速部署iptables规则。
- #!/bin/bash
- ### Clear Old Rules
- iptables -F
- iptables -X
- iptables -Z
- iptables -t nat -F
- iptables -t nat -X
- iptables -t nat -Z
- ### * filter
- # Default DROP
- iptables -P INPUT DROP
- iptables -P FORWARD DROP
- iptables -P OUTPUT DROP
- # INPUT Chain
- iptables -A INPUT -p gre -j ACCEPT
- iptables -A INPUT -i lo -p all -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
- iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
- iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
- # OUTPUT Chain
- iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
- # FORWARD Chain
- iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
- iptables -A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT
- ### * nat
- # POSTROUTING Chain
- iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
需要注意的是,这个脚本开头首先清除掉了所有iptables规则,然后才部署新的规则,如果你需要保留你机器上现有的规则,请千万不要执行前面的清除语句,或者做好旧规则的备份再做实验:
iptables-save > iptables.backup如果想恢复使用上面命令做好的备份,可以:
iptables-resotre iptables.backup最后,如果确定所有的iptables规则已经合乎你的心意,就可以执行下面命令,将iptables规则保存下来。
/etc/init.d/iptables save安全建议
在Twitter上得到了@alexwwang @helijohnny的指点,知道VPN与这个网站放在一起,可能不安全。他们建议我为VPS增加一个IP,可以让VPN服务和Web走不同的IP,这样就不会因为Web网站发表的内容轻易暴露VPN服务器的IP了。之前我只是在测试机上测试过,今天终于新购得一个IP地址,得以把这一部分补全。
单网卡配置多个IP地址
CentOS下单网卡配置多个IP很容易。例如,假设现在网卡eth0已经有一个IP地址是123.123.123.123/24,想要增加一个IP是123.123.123.124/24,可以在/etc/sysconfig/network-scripts/目录下增加一个新的虚拟网卡配置文件ifcfg-eth0:0。想省事的话可以直接把ifcfg-eth0复制成ifcfg-eth0:0。然后编辑其内容,例如:
- DEVICE=eth0:0
- BOOTPROTO=static
- ONBOOT=yes
- IPADDR=123.123.123.124
- NETMASK=255.255.255.0
虚拟网卡eth0:0配置的信息看起来有些少,其实它会共享实际设备eth0的配置信息,因此如上简单的配置就够了。另外如果在这张网卡上还需要添加更多的IP地址,照此例增加eth0:1、eth0:2等等虚拟设备既可。
多IP的iptables配置
然后关于iptables配置,思路就是在INPUT链上使用-d区别目的IP,只在Web等服务使用的IP上放行22和80等几个端口,VPN服务的IP上只放行1723端口。
如果喜欢的话也可以为新增加的IP绑定一个不同的域名,只要防火墙配置好了,然后VPN使用的IP域名都不公开,理论上是挺难找到VPN服务地址的,这也是自建VPN的一个好处。这里再提供一个iptables规则的配置脚本,与上面的脚本类似,只是做了少量的修改,适用于多IP的情况:
- #!/bin/bash
-
- # Clear Old Rules
- iptables -F
- iptables -X
- iptables -Z
- iptables -t nat -F
- iptables -t nat -X
- iptables -t nat -Z
-
- ### * filter
-
- # Default DROP and ACCEPT
- iptables -P INPUT DROP
- iptables -P FORWARD DROP
- iptables -P OUTPUT DROP
-
- # INPUT Chain
- iptables -A INPUT -p gre -j ACCEPT
- iptables -A INPUT -i lo -p all -j ACCEPT
- iptables -A INPUT -p tcp -m tcp -d 123.123.123.123 --dport 21 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp -d 123.123.123.123 --dport 22 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp -d 123.123.123.123 --dport 80 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp -d 123.123.123.123 --dport 443 -j ACCEPT
- iptables -A INPUT -p tcp -m tcp -d 123.123.123.124 --dport 1723 -j ACCEPT
- iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
- iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-
- # OUTPUT Chain
- iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-
- # FORWARD Chain
- iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
- iptables -A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT
-
- ### * nat
-
- # POSTROUTING Chain
- iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
这样配置完成后,对公开的Web域名进行端口扫描,就只能扫描到80等端口,而VPN服务使用的域名IP不公开,就保证了安全性。我手欠扫描了一下我们的服务器,结果就成了这样:
- [root@sheldon ~]# nmap -sS gnailuy.com
-
- Starting Nmap 5.21 ( http://nmap.org ) at 2011-07-20 20:46 CST
- Nmap scan report for gnailuy.com (One of our IP address)
- Host is up (0.31s latency).
- Not shown: 996 filtered ports
- PORT STATE SERVICE
- 21/tcp open ftp
- 22/tcp open ssh
- 80/tcp open http
- 443/tcp open https
-
- Nmap done: 1 IP address (1 host up) scanned in 17.44 seconds
- [root@sheldon ~]# nmap -sS vpnservers.domain.name
-
- Starting Nmap 5.21 ( http://nmap.org ) at 2011-07-20 20:53 CST
- Nmap scan report for vpnservers.domain.name (Our another IP address)
- Host is up (0.32s latency).
- Not shown: 999 filtered ports
- PORT STATE SERVICE
- 1723/tcp open pptp
-
- Nmap done: 1 IP address (1 host up) scanned in 24.52 seconds
后记
这篇文章是边爬搜索引擎边学习边实验写成的,在摸索的过程中学习,确实学到了不少东西。学习和配置服务器的过程中,我不断的Google到相关的文章,中文的英文的已经有一大把,于是我就在想,我写这篇文章,应该完成哪些现有的资料尚不完善的地方。技术上我只是个初学者,除了搜索、思考、组织之外,暂时没有可能创造出新的技术来,于是只好从语言组织、信息翔实程度和对配置细节的解释上尽量提高本文的含金量,希望成为中文文章中比较有用的一篇,能够为其他有这方面想法的朋友提供一些小小指引。
非常感谢在Twitter上为我出主意的 @alexwwang 和 @helijohnny,他们的宝贵意见促成了本文目前的样子。如果本文中还有哪些不足甚至纰漏,请千万不吝赐教;或者如果你想要和我探讨这方面的技术,都欢迎与我联系。可以@gnailuy on Twitter,或者也可以在我的About Me页面找到更多其他联系方式。
© 2011, Yuliang Jin. All rights reserved.
This post is under a Creative Commons Attribution-ShareAlike 3.0 Unported License.



July 4th, 2011 at 6:35 AM
吼吼,我来了
[Reply]
July 4th, 2011 at 6:36 AM
[Reply]
Yuliang Reply:
July 4th, 2011 at 7:04 AM
哈哈,要不你检查一下你的Email在Gravatar里的头像
[Reply]
July 4th, 2011 at 8:16 AM
好文,顶!!!
[Reply]
July 4th, 2011 at 8:29 AM
话说我也想买个VPS了,可是技术不行,唉
[Reply]
Yuliang Reply:
July 4th, 2011 at 9:05 AM
这个好办,Google神马都知道o(∩∩)o…哈哈
[Reply]
July 4th, 2011 at 11:49 AM
哎呦哎呦 不错么 你这个是有模板的吗?
[Reply]
Yuliang Reply:
July 4th, 2011 at 12:19 PM
就是Wordpress哈,不会自己写网站,就用人这现成的了
[Reply]
July 8th, 2011 at 7:49 AM
博主你的VPS是什么的?
[Reply]
Yuliang Reply:
July 8th, 2011 at 9:35 AM
ThrustVPS.com的,因为他家比较便宜,这几天用白天速度还可以,晚上有点卡,呵呵。
[Reply]
July 22nd, 2011 at 5:43 AM
[...] 参考资料: http://www.jefflei.com/post/573.html https://www.deleak.com/blog/2010/06/04/openvpn-on-vps/ http://www.douhua.im/2010/02/03/centos-vps-install-openvpn/ http://openvpn.net/index.php/open-source/documentation/howto.html http://gnailuy.com/2011/07/04/centos-vps%E4%B8%8A%E6%90%AD%E5%BB%BApptp-vpn/ [...]
August 22nd, 2011 at 2:12 PM
Nice job
[Reply]
September 2nd, 2011 at 3:54 PM
你好,看了你的文档,给了我莫大的帮助。
非常感谢你。
此外,我有一个疑问,就是为什么我只能使用电脑连接到VPN服务器?使用移动设备就不行,比如Android/iPhone/iPad等。
是不是需要些其他组件呢?
望博主赐教。
[Reply]
Yuliang Reply:
September 3rd, 2011 at 3:14 AM
客气哈!有推友教过我这个事,可以用下面命令设置MTU试试看:
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356[Reply]
February 11th, 2012 at 4:18 AM
安装pptpd出现 ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.i386 是怎么回事啊
[Reply]
Yuliang Jin Reply:
February 11th, 2012 at 12:44 PM
你是否安装了ppp呢?或者看一下安装的版本对不对?用这个命令 rpm -qa ppp 检查一下,譬如我检查的结果 ppp-2.4.4-2.el5。如果没有安装的话,可以用 yum install ppp 安装一下再安装 pptp,pptp 依赖 ppp 才能运行。
[Reply]
May 22nd, 2012 at 11:25 AM
我按照你的提示 弄完了 客户端连接是800错误 不知道是为什么啊
另外怎么才能知道vpn server搭建好了啊
[Reply]
Yuliang Jin Reply:
May 22nd, 2012 at 11:37 AM
@阿超, 上面的每个步骤都没有出错的话,应该就算是已经运行了。你可以试试命令:/etc/init.d/pptpd status,输出应该是pptpd (pid [一个数字]) is running…
[Reply]
阿超 Reply:
May 22nd, 2012 at 11:55 AM
@Yuliang Jin, 是的pptpd (pid 2165) is running… 但是我连接不上啊 是客户端的问题吗 我是xp
[Reply]
May 22nd, 2012 at 12:04 PM
那两个ms-dns 我是用的cat /etc/resolv.conf 这里的dns ip地址
[Reply]
Yuliang Jin Reply:
May 22nd, 2012 at 12:16 PM
@阿超, 感觉ms-dns还是设置成Public DNS比较好。防火墙能确认没有问题吗?不清楚800错误是什么,没有XP。。。
[Reply]
June 16th, 2012 at 3:40 PM
感谢博主,之前我的VPS能拨号了,却一直不连网,连安装过程中都遇到千千万万的问题,最后在你这里解决了,十分感谢,我已经耗时1天了,不知道能不能加个好友,向你学习一下,你可以邮件你的QQ我加你 ,感谢了
[Reply]
Yuliang Jin Reply:
June 17th, 2012 at 5:02 PM
@阳光与风, 没问题哈。我不方便经常登QQ,我们可以发邮件或者加GTalk,我把我gmail发给你。
[Reply]
July 7th, 2012 at 5:18 PM
之前参照一个Cento5.8下建立VPN的教程,在Centos6.2下,折腾半天没成功。
[Reply]
Yuliang Jin Reply:
July 9th, 2012 at 1:16 PM
@MagentoEye, 啊,我似乎用的还是5.6。。。
[Reply]
August 26th, 2012 at 9:25 PM
我在架设VPN时遇到了点问题,能请教下您吗,能否把您的email发给我呢。
[Reply]
Yuliang Jin Reply:
August 27th, 2012 at 1:41 PM
@陈俊杰, 没问题,我会的也不多,如果会的话会尽量帮吧。最近这周写一篇论文,时间特别紧张,如果回复晚了请不要介意哈!
我不想直接在网页上公开邮箱,不过在About页面也留了邮箱,下面引号里面引用的命令可以执行:“echo U2hlbGRvbi5ZLkppbkBHTWFpbC5DT00K | base64 -d -”
[Reply]
September 26th, 2012 at 8:47 AM
文章写的不错,vps有点慢. 推荐用我用的vps,看我站点速度如何.
http://pyramidserver.com/
[Reply]
Yuliang Jin Reply:
September 26th, 2012 at 5:53 PM
@老黄瓜刷绿漆, 刚开始还挺快,然后就越来越慢了。。。
[Reply]
January 16th, 2013 at 8:41 PM
谢谢兄台的详细讲解。悲剧的是我一路顺利地配置下来,整到一半的时候IP被墙了。这年头居然还能有这么巧合的事情。想把文章转走,下次找的时候方便些,不知兄台允许否?
[Reply]
Yuliang Jin Reply:
January 17th, 2013 at 2:33 PM
@Gniy US, 请随意,随意,咱这儿都是CC协议的,但转走无妨。话说我的俩VPN也被墙差不多了,这年月在天朝上网才是个悲剧啊。。。
[Reply]
May 3rd, 2013 at 6:35 PM
Resolving poptop.sourceforge.net… failed: Temporary failure in name resolution.
wget: unable to resolve host address `poptop.sourceforge.net’
我在安装pptpd的时候出现了问题,不知道什么情况,求救!
[Reply]
Yuliang Jin Reply:
May 3rd, 2013 at 9:17 PM
@cooaer, 下载失败啊,翻Wall试试
[Reply]