VPS搭建VPN笔记&在VPS(debian)上搭建L2TP笔记
VPS搭建VPN笔记
昨天晚上答应了圈友,要将本次自己购买VPS搭建VPN的经过和细节写出来,供有同样爱好和同样需求的圈友参考,话既然说了,咱就不能食言!
但是要申明在先,写出来的东西没啥“自主产权”的成分,教材都是网上搜过来的,如果非说有的话,那也只是那些细节上面由于本人亲身经历过了,写出来算不得盗了别人的版。其他技术性的东西,圈友在阅读的时候只要别忘记前人的辛苦,我想,应该也不会有谁来追究版权的问题吧?
VPN,大家都知道,此乃圈友翻墙上基上推之必备良品(墙外人士可以飘过)!本人最早使用的VPN也是在推友送的免费午餐。一 直都在用它,开始感觉还不错,浏览个网页啥的都没有太大问题,上youtube看个视频啥的速度也还能接受,反正是免费的嘛,咱也没去计较那么多。可是慢 慢地那枚VPN的速度就越来越慢了,可能是上的人多了吧!后来干脆自己又去买了一枚一年的VPN专门用来翻墙!提起这事咱就气啊,这枚VPN是淘宝上买 的,卖家咱也不说是谁了,新买的这枚VPN白天速度还可以,到了晚上就不行了,甚至连都连不上去!把我气得啊,真想找这老板算账去,想想还是算了,估计淘 宝的店主也是受害着,现在卖VPN的鱼龙混杂、良莠不齐,也怪不得他!
这段时间上G+上了瘾,没速度不行啊,想想自己买个VPS搭建一个算了,速度自己掌控,以后还可以把独立博客挂上去,何乐而不为!反正现在VPS价格也不比VPN贵多少!这就是我购买VPS搭建VPN的想法,估计很多发烧友都有同我一样……
废话少说,言归正传!
-
购买VPS
购买VPS之前也在G+上征求了圈友们的意见,不知道再哪里买好,在网上搜了下评论,
也是各执一词,东说东的好,西说西的好,最后敲定了quickweb这家,注册!选套餐!结账…… NND 等到了绑定信用卡一步了,才发现自己的信用卡怎么也绑定不了paypal。提示是说该信用卡已经绑定了另外的账户,想来想去不知道自己的信用卡绑哪里去 了,一直都有在godaddy玩域名,也是用的这张信用卡,不知道是不是有关系——算了,不想了,找其他的吧!
后来搜到了这家 http://cp.onovps.com/page.aspx?c=referral&u=12234 ,服务器在美国凤凰城,中文版面,支持人民币付款,当时还有个30的套餐(现在貌似这款已经卖完了)——本来对国人的东西不太感冒,但想着反正自己买VPS主要也是用来搭建VPN,方便就行了吧!又是注册,选套餐,付款,搞定!
二,VPS系统
这步可是费了我几个小时的时间,不知道选啥系统好!本人是linux盲,多希望是windows系统啊!但是我买的套餐不支持windows!只有 centos 和 debian供选择。于是最先装了centos系统。
装好了,怎么连呢?说出来让大家见笑了,一开始我傻帽一样用本地windows的远程桌面去连,怎么也连不上!网上一查,原来 要SSH才行!后来听了圈友甲的意见,下载了一个 PUTTY,英文版的,虽然本人英文也是半拉子,但借助谷歌翻译总算把版面看懂了!其实也很简单:
-
填上地址;
-
点OPEN
两步就可以了,然后就是这样的界面了:
在login as:输入 root (root是linux默认具有管理员权限的用户)
在password后面输入密码,回车!如果密码没错的话就可以链接进去啦!
-
搭建VPN
- 先安装iptables
怎么安装呢?linux不是windows你双击就可以的,linux需要你输入命令
在~# 符号的后面输入 apt-get -y install iptables 回车即可安装
2、Debian自带了pptpd的软件包,直接安装,
apt-get install -y pptpd
3、安装nano(如果你能够熟练的使用vi,可以省略这一步)
apt-get install nano
4、编辑置文件 /etc/ppp/pptpd-options,内容如下:
nano /etc/ppp/pptpd-options 回车!
然后就相当于在windows中用记事本打开了某个文件,你可以看到很多的代码在里面,其中前面有#的,表示该行被注释起来 了,不会执行的代码!把下面的代码复制进去(不会复制挨个输入也可以)。其实细心的人会发现,下面的东东有好几句原文件里面都有,咱不懂linux,为了 不乱,先整个把下面的东东输进去,把原文件里的全都在前面加#注释起来!
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4
然后就是保存这个文件了,一开始我也不会保存,后来听了基友的指点,CTRL+X
即可!
然后出现一个对话框,大概就问你要不要保存修改过的文件,你输入 Y 回车即可!
然后再回车,就可以回到 ~# 这个让你输入命令的界面了!
5、编辑配置文件 /etc/pptpd.conf,方法如下:
输入 nano /etc/pptpd.conf 回车!
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.92.1
remoteip 192.168.92.11-15
配置的方法和保存的方法参见第四条!
6、编辑配置文件 /etc/ppp/chap-secrets
输入 nano /etc/ppp/chap-secrets 回车!你就可以看到下面的界面。被我涂掉的分别是我的账户名称和设置的密码。
账户名称和密码数字字母都可以,后面的星号表示IP,即任何IP都可以连接!
配置好以后,ctrl+x保存!方法见第四条……
7、修改配置文件/etc/sysctl.conf,启用内容外发,方法如下:
输入 nano /etc/sysctl.conf 回车!
然后找到 #net.ipv4.ip_forward = 1这条,把前面的#去掉,即去掉注释!
然后是保存,参见第四条!
8、编辑/etc/rc.local,配置iptables,把下面内容写到 EXIT 0 前面,否则VPN能连接上但访问不了其他网页。
输入 nano /etc/rc.local 回车!
然后在EXIT 0 前面输入下面的代码
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.92.0/24 -j MASQUERADE
iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
9、最后,reboot一下VPS,OK,VPN搭建成功。
四、总结
本人是linux盲,上面的方法都是参考和总结了多篇文章给到的方法,谢谢文章的原作者!在具体操作的时候,碰到了很多小细节不知道怎么办的时候,比如,不知道使用什么SSH工具、不知道怎么保存文件、不知道怎么退出等等!多谢圈友们的指点迷津!
这篇文章不能算是教程,只能算是本人亲身实践的一次书面总结,希望能给有同样爱好的圈友们带去一点点启发就OK了!
分享是快乐的!希望大家都能在网络里面找到分享的快乐……
在VPS(debian)上搭建L2TP笔记
因为头脑发热购买了好几个VPS,这段日子一直在向G+圈友提供免费VPN的服务。反正是自己搭建的,不送出去每个月几百G的流量也浪费掉了!
不过最近有些手机用户的圈友说PPTP在手机上无法连接,由于本人只在电脑上测试过,无法得知手机上的使用状况!接受圈友的建议另外在VPS上搭建了L2TP。现在讲具体的操作过程记录下来,供有同样爱好的朋友参考,也供自己今后不需要再到处查找资料之备!
第一步:如果你的debian系统是新安装的,请升级你的系统
# apt-get update
# apt-get upgrade
这一步很重要,否则可能期间会产生不可预知的错误!
如果你的debian没有安装sudo,你还需要执行以下的命令
# apt-get install sudo
如果你对 vi 命令掌握不好,建议安装nano
# apt-get install nano
第二步:安装 IPSec
IPSec 会对 IP 数据包进行加密和验证。这意味着你的电脑 / 移动设备与服务器之间传输的数据无法被解密、也不能被伪造。可以用 openswan 来跑 IPSec。
# sudo aptitude install openswan
第三步:用文字编辑器打开 /etc/ipsec.conf
# nano /etc/ipsec.conf
修改成如下内容:
version 2.0
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=YOUR.SERVER.IP.ADDRESS
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
按ctrl+x键保存数据
第四步:修改 /etc/ipsec.secrets文件
# nano /etc/ipsec.secrets
修改成如下内容:
YOUR.SERVER.IP.ADDRESS %any: PSK “YourSharedSecret”
注意把your.server.ip.address 替换成你的服务器的IP;把yoursharesecret替换成你自己设定的公共密匙!
按ctrl+x键保存数据
第五步:运行以下的命令
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
第六步:检查一下 IPSec 能否正常工作
# sudo ipsec verify
结果中你会看到「Opportunistic Encryption Support」被禁用了,其他项 OK 就代表检测通过了!
第七步:重启 openswan
# sudo /etc/init.d/ipsec restart
第八步:安装 L2TP(常用的 L2TP 后台软件包是 xl2tpd
# sudo aptitude install xl2tpd
第九步:修改/etc/xl2tpd/xl2tpd.conf 文件
# nano /etc/xl2tpd/xl2tpd.conf
修改成如下的内容:
[global]
ipsec saref = yes
[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
;require chap = yes
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
按ctrl+x键保存数据
第十步:安装 ppp (这是用来管理 VPN 用户的)
# apt-get install ppp
第十一步:检查一下 /etc/ppp 看下ppp目录下面有没有options.xl2tpd这个文件
# ls /etc/ppp
如果没有options.xl2tpd 这个文件,建一个
# nano /etc/ppp/options.xl2tpd
内容如下:
require-mschap-v2
ms-dns 208.67.222.222
ms-dns 208.67.220.220
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
注意 ms-dns 两行我填的是OpenDNS。如果你想用其他的 DNS 服务器(例如谷歌的公共 DNS 8.8.8.8 8.8.4.4),请自行更换。
按ctrl+x键保存数据
第十二步:添加一个VPN 用户。用文字编辑器打开 /etc/ppp/chap-secrets
# nano /etc/ppp/chap-secrets
打开文件之后你会看到如下代码
# user server password ip
这段代码是被#注释起来了的,意思就是按着这个顺序设置账号的相关信息.
user是账户名称;server是l2tpd;password是设置你想要的密码;ip可以设置成*,表示任何IP都可以连接。
设置完成后保存退出
第十三步:重启 xl2tpd
# sudo /etc/init.d/xl2tpd restart
第十四步:设置 iptables 的数据包转发
# iptables –table nat –append POSTROUTING –jump MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
第十五步:为了避免openswan 在服务器重启后无法正常自动,我们可以修改 /etc/rc.local 文件
# nano /etc/rc.local
加入以下的内容:
iptables –table nat –append POSTROUTING –jump MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart
保存退出!
到这里一切都OK了,我在电脑上试了下,连接没有任何问题!又在G+里面找了几位圈友在手机上试了下,也都反映可以连接!你也试试吧!
关于linux搭建L2TP的修正方案
上个星期在圈友们的要求下,用VPS搭建了一枚供手机链接使用的VPN(L2TP)。因为当时参与测试的网友数量比较少,而本人的手机又不支持VPN网路,只是在电脑上测试成功了!
大面积发放之后,很多网友反映手机上无法连接,经过一天的摸索和修正,今天才是真正把这枚用在手机上的VPN配置出来了!
为了方便今后查找资料,特地把今天用到的资料保存下来,把过程也记录下来……
(L2TP的理论介绍: L2TP/IPSec 是指 L2TP over IPSec,这种 VPN 分两个部分,IPSec 和 L2TP。IPSec 使用预共享密钥(PSK)进行加密和验证,L2TP 负责封包,PPP 负责具体的用户验证。)
原文:http://www.viful.com/index.php/vps-set-up-vpn-notes/
和http://www.viful.com/index.php/in-the-vps-debian-build-on-the-l2tp-notes/