介绍在centos上使用pptpd搭建vpn的方法。
安装并配置pptpd
安装pptpd
yum install pptpd
修改pptpd的配置文件/etc/pptpd.conf
,将以下两行的注释符#
去掉:
localip 120.24.22.100 remoteip 10.0.0.100
修改PPPD DNS配置
在/etc/ppp/options.pptpd
添加Google的Public DNS:
ms-dns 8.8.8.8 ms-dns 8.8.4.4
可以使用man pppd
查看pppd及其配置文件的用户手册。
修改日志输出位置
pptpd默认将日志写入/var/log/syslog
系统日志,在/etc/ppp/options
里加入如下一行启用单独的日志。
logfile /var/log/ppp.log
需要注意的是,pptpd依然会写系统日志。
修改连接数
pptpd的默认配置只有6个IP可供分配,pptpd启动时日志里经常见到如下的警告信息。
Maximum of 100 connections reduced to 6, not enough IP addresses given
如果想要增加更多的连接,可修改/etc/pptpd.conf
的remoteip
选项。
remoteip 10.0.0.100-200
上面的配置将连接数增加到16个,需要注意的是,连接数同时受remoteip
和connections
两个配置项控制,详情可参考man pptpd.conf
。
设置×××用户名和密码
假设用户名为test
,密码为test
(不要设置过于简单的密码),则在/etc/ppp/chap-secrets
添加如下一行:
"test" pptpd "test" "*“
上面的*
表示任何ip均可访问你的vpn,也可以改为自己的一些ip,ip之间用逗号或空格隔开。
设置iptables规则
首先配置nat表的翻译规则, 将目标IP为192.168.0.0/24的包转向eth0接口. 在iptables配置文件的nat表中添加如下规则:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 120.24.22.100
修改sysctl.conf
修改/etc/sysctl.conf
,去掉下面一句前面的注释符#
:
net.ipv4.ip_forward=1
重新加载sysctl.conf:
sysctl -p
pptpd服务管理
service pptpd restart-kiil service pptpd start