VPS试用PPTP

VPS - Virtual Private Server 虚拟专用服务器

VPN - Virtual Private Network 虚拟专用网络

VPN应该已经不陌生了,但是VPS一直没有接触过,昨天在budgetvm网站上看到一款月付$4.9的入门型订单,1G/1G/50G 3TB的配置,看起来还不错,而且支持支付宝,于是乎就买了一个月,看看这东西到底有什么神奇的地方。因为加cPanel是要额外收钱的,所以我只有一个裸机,但是官方页面提供简单的配置:更换操作系统,带宽监控,IPMI(一个类似terminal的DD)。基本上功能是够用了,而且VPS server有公网的IP地址,可以直接ssh 22端口或者http 80端口访问,不知道运行商是怎么做到的。

VPS实际也就是虚拟化,没有传说中的那么贵,也不神奇,真要去架设这套系统,那才是技术活。拿到了server,接下来能干什么呢?除了有公网可以自由访问之外,好像也没有多大用途,暂时不如弄个VPN试试,看看能不能代理访问。网上在VPS部署VPN的相关的资料很多,试了一圈,从squid+stunnel到ppp+pptp,按部就班,结果不是很理想,因为不了解Linux上有哪些好用的VPN软件和各协议的基础知识,所以配置和测试都得google,很费劲,想省事可以参考linuxeye上的一个一键安装脚本(http://mirrors.linuxeye.com/scripts/vpn_centos.sh),CentOS上使用挺方便,:- 运维的人才真的有实力,深入和专业!但是在我的VPS上部署PPTP后客户端链接不了,在win7上总是返回619和651错误,悲催。

PPP - Point to Point Protocol 点对点协议

PPTP - Point to Point Tunneling Protocol 点对点隧道协议

最后,根据各方经验总结一下pptp安装的 一些步骤,以便日后有兴趣了再继续参考:

1.安装pptp和ppp

2.配置/etc/pptpd.conf

修改本地地址和远程地址,格式如下:

localip 172.20.0.1
remoteip 172.20.0.100-200

意思是VPN Server会使用172.20.0.1作为本地地址和被分配为100-200地址的远程访问过来的客户端进行通信

PS:按照上面的配置,启动pptp之后没看到本地有自动添加172.20.0.1这个地址,所以考虑是否需要手动静态添加172.20.0.1地址呢?试两种方法:

ifconfig eth0:1 172.20.0.1 netmask 255.255.255.0 ip

tunctl -b
ipconfig tap0 172.20.0.1 netmask 255.255.255.0 up

结果依旧链接不上

3.在/etc/ppp/chap-secrets中添加用户,格式如下,可以添加多条:

user1 pptpd password1 *

意思客户端通过pptp登录服务器任何地址时,输入用户名user1和密码password1

4.可选,修改/etc/ppp/options.pptpd,添加DNS,推荐OpenDNS或者Google DNS:

OpenDNS: 208.67.222.222 | 208.67.220.220
Google DNS: 8.8.8.8 | 8.8.4.4

格式如下:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5.修改/etc/sysctl.conf,

net.ipv4.ip_forward = 0

修改为

net.ipv4.ip_forward = 1

然后重新加载配置

sysctl -p

6.配置iptables,已经看不懂了,权且记录以备验证

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(上述配置为了让clients之间能互相访问,eth0和下述地址都需要改为实际值)
iptables --table nat --append POSTROUTING --out-interface ppp0 -j
iptables -I INPUT -s 172.20.0.0/20 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT

7.启动pptpd

service pptpd start

参考:https://www.linux.com/blog/setting-vpn-linux

发表评论

电子邮件地址不会被公开。 必填项已用*标注