Linode VPS PPTP VPN 配置
作者: reistlin
来源: http://www.reistlin.com/blog/20
更新时间: 2010.04
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要
前言:
中国第一封电子邮件的内容:“跨越长城,走向世界”
(Across the Great Wall We can reach every corner in the world)
因为虚拟化技术的不同,所以不保证所有的VPS均可以配置PPTP VPN,本文是通过在 [Linode] 实际配置PPTP VPN成功后的指导手册。以后我会逐步跟大家一起讨论与学习关于 ESXi / XenServer / Hyper-V 等企业级解决方案。
介绍:
Linode 是国外VPS (Virtual Private Server 虚拟专用服务器) 顶级服务商,提供以 [Xen virtualization] 虚拟化技术平台为基础的服务。通过使用虚拟化技术 (类似的解决方案还有:[VMWare ESXi] [Citrix XenServer]),将一台高性能的服务器 (裸机,不需要安装额外的操作系统) 虚拟化成若干台独立运行的虚拟服务器。
本文主要是阐述如何在 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