环境:centos6.4
1.安装ppp pptp pptp-setup
- yum install ppp pptp pptp-setup
复制代码
2.创建VPN连接
- pptpsetup --create tunnelname --server ip地址 --username 用户名 --password 密码
复制代码
文件会出现在/etc/ppp/peers/下面,
文件名就是tunnelname, 也就是–create后面的参数.
3.然后
- cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
- cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
- chmod +x /usr/sbin/pon
- chmod +x /usr/sbin/poff
复制代码
4.配置pptp
4.1 编辑/etc/pptpd.conf,命令如下
将 #localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245 修改成 localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245 即将这两行第一个字符“#”去掉,保存退出
4.2 编辑/etc/ppp/options.pptpd,命令如下
- cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
- vim /etc/ppp/options.pptpd
复制代码
添加 ms-dns 8.8.8.8 ms-dns 8.8.4.4
4.3设置使用pptp的用户名和密码
- cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
- vim /etc/ppp/chap-secrets
复制代码
根据您的需要添加账号,每行一个。按照: “用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,例如:kuro pptpd 123456 * (*表示所有IP)
5.修改内核设置,使其支持转发
将net.ipv4.ip_forward=0 改成net.ipv4.ip_forward=1
执行以下命令使修改后的内核生效
这里有时会遇到一些问题,如图:
解决方法如下: 修复modprobe的:
r- m -f /sbin/modprobe
- ln -s /bin/true /sbin/modprobe
复制代码
修复sysctl的:
- rm -f /sbin/sysctl
- ln -s /bin/true /sbin/sysctl
复制代码
然后运行
由于没有启用防火墙,所以此处省略防火墙转发等过程,文章末尾链接会有相关介绍。
6.拨vpn pon vpn连接名称(自定义)
7.查看是否连接 ifconfig 如图所示有ppp0即成功
查看/var/log/message,是否启动成功了, 如果未成功, 看是什么错误 可能出现的问题:
1.如果是这个错误: MPPE required but peer negotiation failed, 说明服务端不支持MPPE加密,pptpsetup时不需要使用–encrypt选项。可以手工修改/etc/ppp/peers/tunnelname 文件, 去掉require-mppe-128
2.如果是这个错误: LCP terminated by peer (MPPE required but peer refused), 说明服务端要求MPPE加密,但是客户端不支持。解决方法正好相反,往/etc/ppp/peers/tunnelname 文件添加一行require-mppe-128
8.如果你能ping通ppp0IP,但ping同网段其他IP,请添加路由 route add -net 172.16.1.0 netmask 255.255.255.0 dev ppp0
9.断开连接 poff vpn连接名称(自定义) |