Gentoo搭建PPTP服务器

安装:emerge pptpd

配置:

首先是内核,需要把Device Drivers -> Network device support -> PPP (Point-to-point protocol) support中的这些选项选上编译:

PPP support for ansy serial ports
PPP support for sync tty ports
PPP MPPE compression (encryption)

/etc/ppp/chap-secret (pptp和l2tp都以ppp为基础)

#name  server  secret  ip
 yuan  pptpd  yuan  *

第一项是登录vpn时使用的用户名,第二项是vpn服务器名(pptpd,l2tpd,xl2tpd等,也可以用*号),第三项是密码,第四项是分配给客户端的ip,如果是*号,vpn服务器则会从自己的配置文件中选择一个ip分配给客户端。

/etc/ppp/options.pptpd

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
lock
nobsdcomp 
novj
novjccomp
nologfd


这个配置文件当中,可以选择openssl license的mppe,也可以选择bsd license的mppe,根据google搜索结果,后者是前者的升级。

/etc/pptpd.conf

ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
logwtmp
connections 10
localip 172.16.0.1
remoteip 172.16.0.2-254


开启系统的封包转发:
/etc/sysctl.conf

net.ipv4.ip_forward = 1


最后,加iptables规则:
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/24 -j MASQUERADE
/etc/init.d/iptables save

好吧,差不多是把小付同学的笔记搬了过来搞了个简化版+gentoo版: http://flw521521.iteye.com/blog/941626

gentoo下pptp客户端的安装和使用
http://pptpclient.sourceforge.net/howto-gentoo.phtml
http://en.gentoo-wiki.com/wiki/PPTP
客户端出错的各种诊断
http://pptpclient.sourceforge.net/howto-diagnosis.phtml

p.s:用我的android连接这个pptp服务器有个蛋疼的问题,花了我3天时间没有搞定,假期就这样过去了……
这个蛋疼的问题是这样的:我用的是Linode提供的vps,装的是gentoo linux,用以上办法搭建好VPN之后,拿我的手机拨号,VPN能拨上,但怎么也上不了网,没有数据。打开服务器端log一看,好多:Protocol-Reject for unsupported protocol 0xbb……
上网搜索了很久,找到这个: http://blog.fangjian.me/?p=185和这个 http://code.google.com/p/android/issues/detail?id=4706
不过客户端存在问题的可能性比较小,因为 rei同学和我用的是同一款手机,他的pptp服务器也设置了require-mppe-128,我和他的手机都可以连接上他的vpn服务器。
另外,我在自己的笔记本上(gentoo)也搭建了一个pptp服务器,同样没有任何问题,我的手机可以直接通过我的笔记本访问网络。

补充:以上Protocol-Reject的问题在公司里怎么都无法重现,但在家里或者在大成家就总是有这问题。

这个问题暂时就先放着吧。准备尝试搭建ipsec/l2tp服务器。

猜你喜欢

转载自yuan.iteye.com/blog/1170385