Linux搭建pptpVPN

第一步:确认内核是否支持

在这里提供两种检测方法,请注意,满足其中的任何一个都表示可以内核支持

1. 检查系统内核是否支持MPPE补丁

modprobe ppp-compress-18 &&echo success

显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel

yum install kernel-devel

2. 检查系统是否开启TUN/TAP支持

cat /dev/net/tun

如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state #系统为英文版本
cat: /dev/net/tun: 文件描述符处于错误状态 #系统为简体中文版本
如果没有,需要VPS服务商开通TUN/TAP功能,一般VPS默认都开启此功能

第二步:安装所需的软件包——ppp

1. yum源安装

yum install ppp


1. 确认ppp版本,需要在2.4.2以上

rpm -qa|grep ppp

ppp-2.4.5-10.el6.x86_64

2. 检查PPP是否支持MPPE

strings '/usr/sbin/pppd' |grep -i mppe | wc -l

以上命令输出为“0”则表示不支持,输出为“30”或更大的数字则支持。

第三步:安装pptpd

1. 可以从http://poptop.sourceforge.net/yum/stable/packages/中找到合适的版本,用wget下载

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm

2. rpm安装

rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm

3.配置IP池

在 /etc/pptpd.conf 加入以下设定,用于配置客户端可用IP:

localip 192.168.0.1 #服务端IP,不需在网卡上设定的,仅供VPN客户端连接
remoteip 192.168.0.200-238,192.168.0.250 #客户端IP池

4. 配置pptpd选项

编辑 /etc/ppp/options.pptpd,加入:

ms-dns 8.8.8.8 #Google的DNS服务器地址
ms-dns 8.8.4.4

5. 配置登录用户名和密码
编辑/etc/ppp/chap-secrets,按下面的格式输入:

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
'admin'         pptpd   'admin'                 *

其中,第一列为登陆用户名,第二列为PPP服务名,第三列为登陆密码,第四列为允许客户端访问IP范围。

请注意:用户名和密码必须加引号,否则链接的时一直会出现 619

6. 配置内核参数,允许IP转发
把 /etc/sysctl.conf 中的 net.ipv4.ip_forward 修改为1:

vim /etc/sysctl.conf |grep ip_forward
net.ipv4.ip_forward = 1

然后执行sysctl -p激活

7. 配置iptables防火墙放行和转发规则

# iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source + 公网IP

--to-source 后面跟着你的公网IP

service iptables save   #保存配置
service iptables restart
service pptpd start

8. 查看端口 PPTP使用的1723端口侦听

netstat -ntpl

9. 设置为开机启动

chkconfig --level 35 iptables on
chkconfig --level 35 pptpd on

至此,VPN 就搭建完成了。

下面是一些常见的报错:

1. 重启防火墙出现“Setting chains to policy ACCEPT: security raw nat[FAILED]filter

解决办法如下:

编辑/etc/init.d/iptables文件,在”case “$i” in”行下面加上下面的脚本:

security)
 $IPTABLES -t filter -P INPUT $policy \
 && $IPTABLES -t filter -P OUTPUT $policy \
 && $IPTABLES -t filter -P FORWARD $policy \
 || let ret+=1
 ;;

《Linode VPS重启iptables出现Setting chains to policy ACCEPT: security raw nat[FAILED]filter错误解决办法》 Linux搭建pptpVPN Linux

编译后,如下图所示,然后保存,再重启,就不在出现“Setting chains to policy ACCEPT: security raw nat[FAILED]filter”错误信息了。问题就得到解决了。

2. VPN连接常见错误及其解决方法:https://wenku.baidu.com/view/7b34c296c281e53a5802fff4.html






未经允许请勿转载:熊先生个人博客 » Linux搭建pptpVPN

赞一个 (0)

评论 板你个凳

换个身份

取消评论
  1. #1
    nreghe
    nreghe 1周前 (07-28)回复
    根据联交所最新股权披露内容,北京汽车持有神州租车股份由20.87%升至28.92%。

分享:

支付宝

微信