作者: reistlin
来源: http://www.reistlin.com/blog/20
更新时间: 2010.04
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要

linux.png

前言:

中国第一封电子邮件的内容:“跨越长城,走向世界”
(Across the Great Wall We can reach every corner in the world)

因为虚拟化技术的不同,所以不保证所有的VPS均可以配置PPTP VPN,本文是通过在 [Linode] 实际配置PPTP VPN成功后的指导手册。以后我会逐步跟大家一起讨论与学习关于 ESXi / XenServer / Hyper-V 等企业级解决方案。

vmware.png

介绍:

Linode 是国外VPS (Virtual Private Server 虚拟专用服务器) 顶级服务商,提供以 [Xen virtualization] 虚拟化技术平台为基础的服务。通过使用虚拟化技术 (类似的解决方案还有:[VMWare ESXi] [Citrix XenServer]),将一台高性能的服务器 (裸机,不需要安装额外的操作系统) 虚拟化成若干台独立运行的虚拟服务器。

linode.png

本文主要是阐述如何在 Linode VPS 上安装 [pptpd] 服务搭建 PPTP VPN。
请注意,Linode VPN 内核版本请选择:2.6.32.12 或更新版本,否则可能会导致配置失败。

1. 安装:

apt-get install pptpd

2. 配置:

pptpd配置文件如下:
vim /etc/pptpd.conf

# 默认
option /etc/ppp/pptpd-options

# 默认
logwtmp

# 第一次配置时开启debug, 用于排错, 配置完成后可注释.
debug

# PPTP 服务器, 虚拟接口IP地址.
localip 172.16.254.1

# PPTP 客户端拨号后, 分配的IP 地址池, 与 localip 需在同一子网。
remoteip 172.16.254.100-200

pptpd选项配置如下:
vim /etc/ppp/pptpd-options

# 默认
name pptpd

# 默认
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

# PPTP 客户端拨号后, 分配的DNS, 我写的是OpenDNS
ms-dns 208.67.222.222
ms-dns 208.67.220.220

# 默认
proxyarp
# 默认
nodefaultroute

# [注意] 指定pptp.log文件路径
logfile /var/log/pptpd.log

# [注意] 如果没有指定 pptpd.log 会报错:
GRE: read(fd=,buffer=,len=) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs

# 默认
lock
# 默认
nobsdcomp

# PPTP 客户端如果没有任何流量, 1小时自动断开拨号连接 (单位: 秒)
idle 3600

ppp选项配置文件 (默认):
vim /etc/ppp/options

asyncmap 0
auth
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

pptp 用户名密码配置文件如下:
vim /etc/ppp/chap-secrets

# 用户名 / 密码 / pptpd类型 / IP地址
reistlin password pptpd *

3. 系统配置:

vim /etc/sysctl.conf

# 启用 IPv4 Forward 转发
net.ipv4.ip_forward=1

ipv4 转发配置生效:

sysctl -p

重新启动pptp服务:

/etc/init.d/pptpd restart

配置 iptables NAT规则:

/sbin/iptables -t nat -A POSTROUTING -s 172.16.254.0/24 -o eth0 -j MASQUERADE

备注:增加 /dev/ppp 设备 (解决 pptp 拨号 619 错误)

mknod /dev/ppp c 108 0

标签: pptp, vps, linux