Skip to content

简明教程:架设 PPTP VPN 及在 Linux 上远程连接 VPN

在”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

Related Posts with Thumbnails

16 Comments

  1. Hugo.Leen wrote:

    请问SSH帐户能限制流量的么?好像没这方面资料,哈。
    VPN翻墙的话,所有流量都走VPN,VPS很快就用完流量了…… 折腾路由表的话,大部分人不会吧。真纠结。

    回复回复
    星期三, 一月 27, 2010 at 5:44 下午 | Permalink
  2. 冰古 wrote:

    /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’

    有什么解决方案呢

    回复回复
    星期三, 一月 27, 2010 at 8:06 下午 | Permalink
  3. Riku wrote:

    这方面倒没怎么研究,改天研究一下。VPS 的流量一个人用应该足够了吧。

    回复回复
    星期三, 一月 27, 2010 at 8:08 下午 | Permalink
  4. Riku wrote:

    你是什么版本的 Linux ? 注意其中的变量是否和你的机器环境一样,比如 IP 范围,网络接口名称等等。

    回复回复
    星期四, 一月 28, 2010 at 1:18 下午 | Permalink
  5. yegle wrote:

    iptables,限制带宽

    回复回复
    星期四, 一月 28, 2010 at 10:14 下午 | Permalink
  6. yegle wrote:

    linux上连接pptp那个比较实用~

    回复回复
    星期四, 一月 28, 2010 at 10:14 下午 | Permalink
  7. sqrurutia wrote:

    太高阶了。。。。。。。没能看懂。。。。。。。我去补习下再回来算了。。。。。。

    回复回复
    星期四, 二月 4, 2010 at 9:58 下午 | Permalink
  8. G字头老大 wrote:

    “Riku”大哥,你上次告诉我的那个插件的主页访问不了了,但找到了一个叫做“short-url-plugin”的家伙(地址:http://wordpress.org/extend/plugins/short-url-plugin/),虽然还没能用上,但我知道可以用,而且要用上的。

    今天来想请教你帮大家一个忙:

    抽点时间,费些心思,发一篇你个人认为对我们这些小站长最实用、高效的Wordpress插件列表,简单介绍即可。我想那会给不少像我一样对插件知之甚少的朋友带来巨大帮助!

    无论如何,谢谢了!

    回复回复
    星期四, 二月 11, 2010 at 5:05 上午 | Permalink
  9. Riku wrote:

    你可以搜索一下,我的 Blog 上以前介绍过很多这方面的插件。最近比较忙,我懒得单独写一篇。

    回复回复
    星期四, 二月 11, 2010 at 8:50 上午 | Permalink
  10. Lane wrote:

    你好!
    我也是用VPSLink来架设vpn,做到/sbin/iptables -I FORWARD -p tcp -syn -i ppp+ -j TCPMSS -set-mss 1356的时候,提示说:multiple -s flags not allowed

    应该怎么做呢?谢谢!

    回复回复
    星期六, 四月 10, 2010 at 9:21 下午 | Permalink
  11. Lane wrote:

    对了,我在sysctl net.ipv4.ip_forward这一步查询的结果是0,我就改文件,结果改了之后重启后查询还是0.
    另外,username pptpd password *这里的格式是不是就是: wo pptpd 123456 * 就可以了?

    谢谢!

    回复回复
    星期六, 四月 10, 2010 at 9:26 下午 | Permalink
  12. Lane wrote:

    到了这一步就不行了
    /sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356

    说是multiple -s flags not allowed

    回复回复
    星期六, 四月 10, 2010 at 9:28 下午 | Permalink
  13. Lane wrote:

    用了两天,突然发现没法上twitter了,facebook倒是能上去。请教一下什么原因呢?
    谢谢!

    回复回复
    星期三, 四月 14, 2010 at 2:31 下午 | Permalink
  14. Riku wrote:

    看看本地 hosts 文件中是否存在 twitter host ip ,或者换一个 DNS , 用 8.8.8.8

    回复回复
    星期三, 四月 14, 2010 at 2:32 下午 | Permalink
  15. VPN杯具 wrote:

    免费VPN服务代理,无需安装任何软件,绝对安全可靠,轻松实现匿名上网,安全的数据传输。翻墙利器VPNCUP.COM,VPN杯具欢迎您,让网络从此不再杯具,赶快登录http://www.vpncup.com吧。注册即可免费使用VPN服务器,测试阶段推出壹圆店和贰圆店产品,仅仅支付一元人民币就可以任意使用免费VPN服务器,流量高达1G任意使用,且不掉线,不限时,不限速,支付二元人民币流量达到2G任意使用,赶快注册登陆VPN杯具吧http://www.vpncup.com,网络从此不再杯具。

    回复回复
    星期四, 七月 29, 2010 at 8:39 下午 | Permalink
  16. VPN杯具 wrote:

    免费VPN服务代理,无需安装任何软件,绝对安全可靠,轻松实现匿名上网,安全的数据传输。翻墙利器VPNCUP.COM,VPN杯具欢迎您,让网络从此不再杯具,赶快登录http://www.vpncup.com吧。注册即可免费使用VPN服务器,测试阶段推出壹圆店和贰圆店产品,仅仅支付一元人民币就可以任意使用免费VPN服务器,流量高达1G任意使用,且不掉线,不限时,不限速,支付二元人民币流量达到2G任意使用,赶快注册登陆VPN杯具吧http://www.vpncup.com,网络从此不再杯具

    回复回复
    星期四, 七月 29, 2010 at 8:49 下午 | Permalink

2 Trackbacks/Pingbacks

  1. [...] 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 [...]

  2. [...] 原文地址 [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*