IT技术博客大学习 共学习 共进步

如何快速搭建一个VPN(pptp)

PT Ubuntu Blog 2009-11-17 23:17:32 浏览 6,024 次

这是一个简短的教程,目的是为了快速搭建一个可用的VPN,本文并不涉及有关VPN的正常使用内容。本简短教程基于以下硬件条件:

一台安装了Debian GNU/Linux 5.0的VPS。当然理论上所有可以安装pptpd包的*nix系统都可以作为主机,教程中安装方式是基于Debian的apt-get命令,其他发行版请自行对照使用。这台VPS的物理位置是Fremont, CA。物理位置作为VPN这个应用本身并不重要,在这里提出只是多此一举。

安装服务器端软件

# apt-get install pptpd

Debian的包管理是所有发行版里最好的,所以这条命令打完就安装完毕了我们的pptp服务器端程序。

配置IP地址范围

    编辑/etc/pptpd.conf,在最后添加如下地址:

localip 192.168.0.1remoteip 192.168.0.234-238,192.168.0.245

这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。

增加一个用户

    编辑/etc/ppp/chap-secrets,在下面增加类似的条目:

username pptpd password *

上面内容很好理解,最后那个星号是说允许从任何IP地址联接,如果你想单独设定IP地址也可以。

重启pptpd服务

# /etc/init.d/pptpd restart

理论上到这里一个vpn就已经搭建完毕了。无论你用的是Windows还是OSX,或者是iPhone OS,都可以通过建立一个pptp链接来联入这个VPN。不过你并不能通过这个来上Internet,因为所有的数据都作用于那台pptpd的服务器上,而不会传入拨入的计算机设备上。要上Internet还需要这么干:

dns解析支持

    编辑:/etc/ppp/options,在里面找一下“ms-dns”项目:

ms-dns 208.67.222.222ms-dns 208.67.220.220

我填写的是OpenDNS的地址,当然你也可以填写电信的DNS。

允许转发

    编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1。

net.ipv4.ip_forward=1

最后的最后,运行一下这条命令来打开iptables的转发支持:

/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
注意:来自@LEMONed的消息,只有Xen的VPS可以搭建pptp,OpenVZ的不行
连接 VPN用 Windows 自带的VPN链接功能就可轻松的连接到你架设的VPN中,过程如下:
网络链接->创建一个新链接->连接到我的工作场所的网络->虚拟专用网络链接->输入名称、VPN用户名和密码

OK,如果前面架设正确的话,现在你就可以浏览任何网站,全宇宙畅通无阻了。

在这里提供一些相前的VPS主机。你可以去看看是否合适你的。

VPSLink 支持安装 Centos、Debian、Fedora、OpenSuse及Ubuntu等 Linux OS,个人建议你安装 Ubuntu

这个主要是有一个很不错的特点就是一键安装好系统。

建议继续学习

  1. Linux 安装pptp vpn client (阅读 5,425)
  2. 使用 OpenVPN Access Server 轻松搭建 VPN 服务器 (阅读 5,361)
  3. Linux(CentOS5.4)系统下安装VPN(pptp)最终版 (阅读 5,005)
  4. 如何快速搭建一个VPN(pptp) (阅读 4,224)
  5. CentOS5.3下安装pptpd提供VPN服务 (阅读 3,744)