建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
基于Debian/Ubuntu的PPTP VPN 安装笔记
发布日期:2011-05-24 阅读次数:1025 字体大小:

1.首先需要确定你的VPS是否支持PPTPD协议的VPN

modprobe ppp-compress-18 && echo ok

假如返回OK,则支持。否则进行下一步

cat /dev/net/tun

如返回

cat: /dev/net/tun: File descriptor in bad state

那就可以了。假如这两条都不可以,那你就只能向服务商发个ticket了。问一下他们能不能帮你启用TUN/TAP/PPP 模块,不过感觉上可能性不大。:D

2.安装PPTP。不建议编译安装,没有多大意义,得不偿失。命令如下

apt-get -y update

apt-get -y install pptpd

3.编辑 pptpd.conf

localip 是 VPN 服务器 IP,可任意指定。

remoteip 是可分配给 vpn 客户端 IP。

为避免冲突,localip、remoteip 最好不要与服务器当前内网或经常拨入的客户端内网地址在同一网段。

cat >>/etc/pptpd.conf<<EOF

localip 10.10.10.1

remoteip 10.10.10.2-245

EOF

4.编辑 pptpd-options

cp /etc/ppp/pptpd-options /etc/ppp/pptpd-options.bak

cat>etc/ppp/pptpd-options<<EOF

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

ms-dns 8.8.8.8

ms-dns 8.8.4.4

proxyarp

nodefaultroute

debug

lock

nobsdcomp

EOF

name pptpd(pptpd服务名,可以随便填写。)

refuse-pap(拒绝pap身份认证模式。)

refuse-chap(拒绝chap身份认证模式。)

refuse-mschap(拒绝mschap身份认证模式。)

require-mschap-v2(在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。)

require-mppe-128(MPPE 模块使用 128 位加密。)

ms-dns 8.8.8.8 (ppp 为 Windows 客户端提供 DNS 服务器 IP 地址。)

proxyarp (建立 ARP 代理键值。)

nodefaultroute(不替换默认路由)

debug(开启调试模式,相关信息记录在 /var/logs/message 中。)

lock(锁定客户端 PTY 设备文件。)

nobsdcomp (禁用 BSD 压缩模式。)

5.添加 VPN 用户

chap-secrets 文件为4段,分别是:用户名、服务器名称、密码、分配给客户端的IP。

服务器名可以是pptpd或今后的l2tpd,*号代表全部。

密码以明文填写,不需进行加密。

最后的*号代表从remoteip指定的IP段随机分配

cat >/etc/ppp/chap-secrets<<EOF

user * 123456 *

EOF

6.配置数据包转发

sed -i ‘s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g’ /etc/sysctl.conf

sysctl -p

开启iptables转发

iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j SNAT --to-source “1.1.1.1”

将1.1.1.1替换成你VPS的公网IP

7.重启pptpd服务

/etc/init.d/pptpd restart

netstat -lntp

8.常见vpn错误处理

错误800:修改/etc/ppp/pptpd-options文件,#号注释掉 require-mppe-128

错误619:

mknod /dev/ppp c 108 0

然后重启 pptpd 服务。

原文地址:http://jiaozhu.org/archives/1119.html