在”VPS初体验及自架VPN服务“一文中我就推荐过如何架设 PPTP VPN 服务的文章,而此文则在原文基础上作了一些修改和补充,并增加了” 如何在 Linux 上连接 PPTP VPN ” 这一节。
本文所涉及的运行环境:远程服务器为 VPSLink 上低配置 Xen VPS ( 注意,OpenVZ VPS 是不能安装 PPTP VPN 的),Linux 系统为 Ubuntu 9.04 ,本地服务器为安装在 VirtualBox 虚拟机中的 Ubuntu Server 9.10 。
1. 如何快速搭建一个VPN(pptp)
# 安装服务器端软件
apt-get install pptpd
# 配置IP地址范围,编辑/etc/pptpd.conf,在最后添加如下地址:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
# 这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。
# 增加一个用户,编辑/etc/ppp/chap-secrets,在下面增加类似的条目:
username pptpd password *
# 重启pptpd服务
/etc/init.d/pptpd restart
# 编辑:/etc/ppp/options,在里面找一下”ms-dns”项目:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
#允许转发,编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1,或直接执行以下命令来查看
sysctl net.ipv4.ip_forward
# 如果输出为 0 的话就要修改 /etc/sysctl.conf 中的 net.ipv4.ip_forward ,把 0 改为1,然后执行以下命令。
sysctl -p
# 最后,运行一下这条命令来打开iptables的转发支持:
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
# 并把这两条加入到 /etc/rc.local 中的 exit 0 行前面,这样重启后就无需再执行了。
# 好了,PPTP VPN 到此就架设好了,你现在可以用 Windows 自带的 VPN 连接工具来连接了,这个应该非常简单。那么下面我再说说如何在 Ubuntu 上手工配置 PPTP VPN 连接吧。
2 .如何在 Linux 上连接 PPTP VPN
# 安装 Linux 上的 pptp 客户端
apt-get install pptp-linux
# 把下面两行加入 /etc/rc.local , 放在 exit 0 这一行的前面
/usr/sbin/pptpsetup –create lable –server ip –username username –password password –encrypt
/usr/sbin/pppd call lable
# 说明:这两行命令是最简便的建立 PPTP 连接方式。
Label: 用户自定义
IP: 是 VPN 的 IP 地址
Username 及 Password :登录 VPN 的用户名和密码
# 把下面两行加入 /etc/ppp/ip-up 中,删除默认网关及把 VPN 服务器作为默认网关,也就是改变路由策略,把所以传输流量通过 VPN 线路来走。
/sbin/route add default gw 192.168.0.1
/sbin/route del default gw 原来的网关 // 原来的默认网关地址可通过 route 命令来获取
# 另外,如果你想把此服务器作为网关服务器的话,那就按照前面架设 PPTP VPN 一节中的方式,设置 net.ipv4.ip_forward 参数来打开包转发。并把下面两行加入到 /etc/rc.local 中。
/sbin/iptables -t nat -A POSTROUTING -s 内网IP/24 -o ppp0 -j MASQUERADE
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
# 重启服务器,你可以用 ifconfig 看一下,会多出一个 ppp0 的网络接口了。另外,你可以 traceroute twitter.com 看一下,是否通过 ppp0 的网关出去的,如果是的话,就说明工作正常。
# 注意:在作网关服务器的时候,建议使用 Google 的 DNS ,国内很多 DNS 被污染了,无法正常解析 Twitter 等网站。
# 修改 /etc/resolv.conf 中,改为如下两行
nameserver 8.8.8.8
nameserver 8.8.4.4


16 Comments
请问SSH帐户能限制流量的么?好像没这方面资料,哈。
VPN翻墙的话,所有流量都走VPN,VPS很快就用完流量了…… 折腾路由表的话,大部分人不会吧。真纠结。
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables: No chain/target/match by that name
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
Bad argument `Csyn’
有什么解决方案呢
这方面倒没怎么研究,改天研究一下。VPS 的流量一个人用应该足够了吧。
你是什么版本的 Linux ? 注意其中的变量是否和你的机器环境一样,比如 IP 范围,网络接口名称等等。
iptables,限制带宽
linux上连接pptp那个比较实用~
太高阶了。。。。。。。没能看懂。。。。。。。我去补习下再回来算了。。。。。。
“Riku”大哥,你上次告诉我的那个插件的主页访问不了了,但找到了一个叫做“short-url-plugin”的家伙(地址:http://wordpress.org/extend/plugins/short-url-plugin/),虽然还没能用上,但我知道可以用,而且要用上的。
今天来想请教你帮大家一个忙:
抽点时间,费些心思,发一篇你个人认为对我们这些小站长最实用、高效的Wordpress插件列表,简单介绍即可。我想那会给不少像我一样对插件知之甚少的朋友带来巨大帮助!
无论如何,谢谢了!
你可以搜索一下,我的 Blog 上以前介绍过很多这方面的插件。最近比较忙,我懒得单独写一篇。
你好!
我也是用VPSLink来架设vpn,做到/sbin/iptables -I FORWARD -p tcp -syn -i ppp+ -j TCPMSS -set-mss 1356的时候,提示说:multiple -s flags not allowed
应该怎么做呢?谢谢!
对了,我在sysctl net.ipv4.ip_forward这一步查询的结果是0,我就改文件,结果改了之后重启后查询还是0.
另外,username pptpd password *这里的格式是不是就是: wo pptpd 123456 * 就可以了?
谢谢!
到了这一步就不行了
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
说是multiple -s flags not allowed
用了两天,突然发现没法上twitter了,facebook倒是能上去。请教一下什么原因呢?
谢谢!
看看本地 hosts 文件中是否存在 twitter host ip ,或者换一个 DNS , 用 8.8.8.8
免费VPN服务代理,无需安装任何软件,绝对安全可靠,轻松实现匿名上网,安全的数据传输。翻墙利器VPNCUP.COM,VPN杯具欢迎您,让网络从此不再杯具,赶快登录http://www.vpncup.com吧。注册即可免费使用VPN服务器,测试阶段推出壹圆店和贰圆店产品,仅仅支付一元人民币就可以任意使用免费VPN服务器,流量高达1G任意使用,且不掉线,不限时,不限速,支付二元人民币流量达到2G任意使用,赶快注册登陆VPN杯具吧http://www.vpncup.com,网络从此不再杯具。
免费VPN服务代理,无需安装任何软件,绝对安全可靠,轻松实现匿名上网,安全的数据传输。翻墙利器VPNCUP.COM,VPN杯具欢迎您,让网络从此不再杯具,赶快登录http://www.vpncup.com吧。注册即可免费使用VPN服务器,测试阶段推出壹圆店和贰圆店产品,仅仅支付一元人民币就可以任意使用免费VPN服务器,流量高达1G任意使用,且不掉线,不限时,不限速,支付二元人民币流量达到2G任意使用,赶快注册登陆VPN杯具吧http://www.vpncup.com,网络从此不再杯具
2 Trackbacks/Pingbacks
[...] This post was mentioned on Twitter by riku, 沿阶草, Corrie, jejer, jejer and others. jejer said: RT @hfcorriez: RT: @riku: 简明教程:架设 PPTP VPN 及在 Linux 上远程连接 VPN http://is.gd/78CBO [...]
[...] 原文地址 [...]
Post a Comment