Gentoo搭建PPTP服务器
安装:emergepptpd
配置:
首先是内核,需要把DeviceDrivers->Networkdevicesupport->PPP(Point-to-pointprotocol)support中的这些选项选上编译:
PPPsupportforansyserialports
PPPsupportforsyncttyports
PPPMPPEcompression(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
这个配置文件当中,可以选择openssllicense的mppe,也可以选择bsdlicense的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-tnat-APOSTROUTING-oeth0-s172.16.0.0/24-jMASQUERADE
/etc/init.d/iptablessave
好吧,差不多是把小付同学的笔记搬了过来搞了个简化版+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,装的是gentoolinux,用以上办法搭建好VPN之后,拿我的手机拨号,VPN能拨上,但怎么也上不了网,没有数据。打开服务器端log一看,好多:Protocol-Rejectforunsupportedprotocol0xbb……
上网搜索了很久,找到这个: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服务器。