PPTP 在Centos 7.1 建立方法与失效处理
来源:互联网 发布:被子哪个牌子好 知乎 编辑:程序博客网 时间:2024/05/20 16:01
# yum install pptp pptp-setup
pptpsetup --create vpn --server (serverName) --username (Username) --password (Ps) --start
但是执行的时候没有正确的返回:
查了message log:
Jan 1 21:43:03 localhost pppd[25235]: Connect: ppp0 <--> /dev/pts/1
Jan 1 21:43:03 localhost pptp[25236]: anon log[main:pptp.c:333]: The synchronous pptp option is NOT activatedJan 1 21:43:03 localhost pptp[25244]: anon log[ctrlp_rep:pptp_ctrl.c:254]: Sent control packet type is 1 'Start-Control-Connection-Request'
Jan 1 21:43:03 localhost pptp[25244]: anon log[ctrlp_disp:pptp_ctrl.c:754]: Received Start Control Connection Reply
Jan 1 21:43:03 localhost pptp[25244]: anon log[ctrlp_disp:pptp_ctrl.c:788]: Client connection established.
Jan 1 21:43:04 localhost pptp[25244]: anon log[ctrlp_rep:pptp_ctrl.c:254]: Sent control packet type is 7 'Outgoing-Call-Request'
Jan 1 21:43:04 localhost pptp[25244]: anon log[ctrlp_disp:pptp_ctrl.c:873]: Received Outgoing Call Reply.
Jan 1 21:43:04 localhost pptp[25244]: anon log[ctrlp_disp:pptp_ctrl.c:912]: Outgoing call established (call ID 0, peer's call ID 26624).
Jan 1 21:43:04 localhost pptp[25244]: anon log[pptp_read_some:pptp_ctrl.c:559]: read returned zero, peer has closed
Jan 1 21:43:04 localhost pptp[25244]: anon log[callmgr_main:pptp_callmgr.c:266]: Closing connection (shutdown)
Jan 1 21:43:04 localhost pptp[25244]: anon log[ctrlp_rep:pptp_ctrl.c:254]: Sent control packet type is 12 'Call-Clear-Request'
Jan 1 21:43:04 localhost pptp[25244]: anon log[pptp_read_some:pptp_ctrl.c:559]: read returned zero, peer has closed
Jan 1 21:43:04 localhost pptp[25244]: anon log[call_callback:pptp_callmgr.c:81]: Closing connection (call state)
Jan 1 21:43:04 localhost pppd[25235]: Modem hangup
解决方法:
modprobe nf_conntrack_pptp
# pppd call codelife
去除或者注释掉require-mppe-128
# vim /etc/ppp/peers/codelife
# pon vpn# poff vpn
参考了http://ju.outofmemory.cn/entry/61068
这个时候还不能访问内网:
配置路由表
连接成功后,通过route命令可参看路由表信息
# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0.168.228.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0.0.0.0 192.168.228.153 0.0.0.0 UG 0 0 0 eth0
可见,只添加了一条访问192.168.0.1 IP的路由信息。假设你想让登陆VPN服务器的客户端互相访问,那么,你需要在客户端上加入192.168.0.0网段,即:
这个时候是不能用的,加入路由
# route add -net 192.168.0.0 netmask 255.255.255.0 dev ppp0# route -n
OK了接下来解决流量走哪里的问题:
全部流量都通过VPN
如果您想连接VPN后,全部流量都通过VPN出去(翻墙),就像Windows 那样。那么按上面的步骤可能会遇到一些问题。因为,Linux的默认网关只能是一个,所以,这需要分两种情况。
a)没有默认网关
这时,你只需设置一个默认路由即可,例如:
# route add -net 0.0.0.0 dev ppp0
b)已有默认网关
但更多情况下,默认网关都是存在的。例如,在这里的局域网内部已经设置了默认网关为192.168.228.153,例如:
# tracert www.163.comtraceroute to www.163.com (183.60.136.70), 30 hops max, 40 byte packets.168.228.153 (192.168.228.153) 0.634 ms 0.879 ms 0.879 ms.64.63.58.broad.gz.gd.dynamic.163data.com.cn (58.63.64.1) 16.410 ms 16.660 ms 17.150 ms
若像上面那样添加一条路由是不行的,需要先让访问VPN服务端的流量可通过,然后才能转发其他的数据包。
# ip route replace 124.248.205.115 via 192.168.228.153 dev eth0 src 192.168.228.135# ip route replace default dev ppp0
更新后的路由表:
# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0.248.205.115 192.168.228.153 255.255.255.255 UGH 0 0 0 eth0.168.228.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
访问路径:
# tracert www.163.comtraceroute to www.163.com (183.60.136.70), 30 hops max, 40 byte packets.168.0.1 (192.168.0.1) 33.461 ms 33.665 ms 33.872 ms switch1.hongkong.exchange.gigelayer.com (124.248.205.188) 35.284 ms 35.558 ms 35.799 ms in.core-rt-003.gi.gi0.3.sunnyvision.com (123.242.225.1) 36.502 ms 36.747 ms 40.479 ms
当然,关闭连接时,也是需要恢复默认网关的:
# ip route del 124.248.205.115 via 192.168.228.153 dev eth0 src 192.168.228.135# ip route add default via 192.168.228.153
关闭连接
注意:启动连接很简单,但停止不能使用ifconfig pp0 down,否则只是禁用了ppp0网卡,后台连接还是存在的。当然,可以杀进程(killall pppd
)来断开连接。不过,ppp工具包提供了更好用的脚本。但需要您进行一些额外的工作:
# 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
然后使用下面的命令启动和关闭连接即可:
# pon vpn# poff vpn
参考资料
http://ju.outofmemory.cn/entry/61068- PPTP 在Centos 7.1 建立方法与失效处理
- CentOS上搭建PPTP VPN及使用pptpsetup建立连接的方法
- CentOS 6.3 架设PPTP VPN的方法
- CentOS 6.3配置PPTP VPN的方法
- 如何在CentOS 6.5 上面安装PPTP VPN服务器
- 在CentOS 6上搭建PPTP类型VPN
- 在CentOS 7中搭建PPTP、L2TP、IPSec服务
- Centos 7搭建VPN(PPTP)服务器方法
- Centos 7搭建VPN(PPTP)服务器方法
- CentOS系统下OpenVZ VPS安装PPTP VPN的方法
- vps建立pptp
- 关于Setselection失效处理方法
- Centos 搭建PPTP VPN
- VPN: centos vps + pptp
- centos搭建虚拟pptp
- centos 搭建PPTP
- centos安装pptp vpn
- centos安装pptp、vpn
- maven(二)
- Java语言简介和开发环境搭建
- h264 NAL头解析
- leetcode之Permutation Sequence
- 两个Activity之间传递数据的全部方法以及Parcelable接口的用法
- PPTP 在Centos 7.1 建立方法与失效处理
- malloc和new的区别---当malloc和string相遇时, 容易出错
- Android的ImageView图片
- 数据结构链表总结一
- HDU 1035 && poj 1573 Robot Motion【模拟】
- 我的2015:行走篇
- 数据结构学习笔记——顺序存储结构
- 淘宝违规考试软件1.0
- linux系统的体系结构以及文件数据结构