我们常见的PPTP都是在路由器上配置的,不过linux下也可以实现PPTP服务器的功能。
我现在配置的是在Centos 6.4 x86_64下进行的,centos 6.4内核版本在2.6.15以上,都默认集成了MPPE和PPP,因此下面检查可以忽略,如果是2.6.15以下的需要检测如下:
#rpm -q ppp //查询当前系统的ppp是否默认集成了,以及ppp的版本
检查PPP是否支郴銹PE
用以下命令检查PPP是否支郴銹PE:
#strings‘/usr/sbin/pppd’|grep -i mppe | wc–lines
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。
安装ppp
yum –y install ppp
安装pptpd
下载pptpd:
rpm -ivh pptpd-1.3.4-2.el6.x86_64.rpm
配置
编辑 /etc/ppp/options.pptpd文件/etc/ppp/options.pptpd ----pptp加密选项文件路径
pptpd是服务器的名字
默认拒绝使用pap、chap和mschap认证,而采用mschap-v2进行认证,加密采用128位的mppe方式加密。
ms-dns配置的是加速器 client连接上加速器服务器之后获得的DNS,需要配置自己所在地的运营商的DNS也可以是第三方的DNS。
编辑配置文件 /etc/pptpd.conf ,内容如下:
option/etc/ppp/options.pptpd
stimeout 120 ----开始PPTP控制连接的超时时间,以秒计;debug ----把所有debug信息记入系统日志/var/log/messages;
localip ----服务器加速器虚拟接口将分配瞪鯬地址,可设置为与加速器服务器内网地址相同网段瞪鯬,也可以设置为另一网段瞪鯬;remoteip ----客户端加速器连接成功后将分配瞪鯬地址段,同样可设置为与加速器服务器内网地址相同网段瞪鯬地址段,也可以设置为另一网段瞪鯬地址段;
.对用户认证文件/etc/ppp/chap-secrets 进行配置,内容如下:# client server secret IP addressestest pptpd test *client对应客户端登录用户名,secret为密码,ip下的*为随机分配刚才remoteip池中的地址,也可以自己指定用户连接加速器之后获取瞪鯬地址,pptpd则为服务名。
设置防火墙,iptables的pptp 加速器策略:
iptables -A INPUT -p 47 -j ACCEPT
iptables -A OUTPUT -p 47 -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT
启用nat转发
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT--to-source *.*.*.* (如*.*.*.*为加速器服务器的公网IP地址,或者配置了加速器 client获取的是不同网段瞪鯬)
保此鴓tables转发规则:
service iptables save
重启iptables:
service iptables restart
设置linux内核,支趁誴转发
配置 /etc/sysctl.conf 文件
net.ipv4.ip_forward = 1将值改为1,即为启用
保存退出,执行sysctl -p 使之生效
重启pptp服务:
service pptpd restart
设置开机自动运行pptp服务:
chkconfig pptpd on
设置开机自动运行iptables服务:
chkconfig iptables on
至此,centos架设加速器完成。