使用PPTP配置Linux上的VPN服务器
来源:互联网 发布:java jdk 64下载 编辑:程序博客网 时间:2024/05/21 13:54
PPTP是一个比较简单的VPN构建方式,但是很难找到比较全的说明文档。因此,记录一篇说明文档,详细记录架设VPN服务器以及总结一些其他比较容易遇到的问题。
安装PPTP
基本上安装pptp是比较简单的了,比如在我的CentOS6.4 x64上,只需要两个命令:
rpm -i http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
yum -y
install
pptpd
如果是Ubuntu的话,更加简单了:
apt-get
install
pptpd
配置IP地址
基本上程序的安装是全自动完成的了,下面需要进行一些简单的配置,编辑/etc/pptpd.conf ,在最后加入IP地址配置:
localip 10.0.0.1
remoteip 10.0.0.100-200
上面的IP地址是可以随便填的,ABC三类的内网地址都可以,主要兼顾其他地方的IP配置,不要出现IP冲突就可以了,后面的remoteip,默认从第一个10.0.0.100开始分配给客户,localip表示分配给服务器的内部网关地址。
配置客户端DNS
要配置客户端的dns,首先要确定配置文件,查看/etc/pptpd.conf中指定的option文件,如果没有指定,那就默认是/etc/ppp/pptpd-options,下面是我的默认配置文件,因此要修改/etc/ppp/pptpd-options.pptpd
在配置文件中加上:
ms-dns 202.96.128.86
ms-dns 202.96.128.166
这里配置成客户端所在地的DNS就好了。
配置VPN账号
然后是创建VPN的账号,账号保存在/etc/ppp/chap-secrets,我们打开编辑这个文件,按下面的格式加入自己的账号以及密码,依次为:账号,协议,密码,ip地址。
这里的ip地址如果明文表示静态分配,如果填*就表示动态分配。
启动服务
配置完毕,可以启动服务并且加入启动项了
service pptpd restart
chkconfig pptpd on
查看一下服务器是否在1723上面监听了
配置系统转发
现在的VPN服务可以连上,但是不能通过VPN服务器进行转发,也就是不能够上网或者访问其他服务器等,需要开启系统转发和NAT。编辑系统配置文件/etc/sysctl.conf,设置如下值为1
net.ipv4.ip_forward = 1
如果未来ipv6普及了,估计应该就是改ipv6了,修改完毕之后要马上生效,使用命令
sysctl -p
配置防火墙转发
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
或
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j SNAT --to 115.115.115.115
其中第一种比较简单,自动伪装ip,第二种的10.0.0.0/24指的是VPN虚拟内网,而115.115.115.115代表外网地址,进行NAT。如果VPN服务器是用来代理上网的,仅有上面的配置会出现访问网站缓慢的情况,需要手动修改一下转发包的mss
iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --
set
-mss 1356
这样就不会出现打不开网页的问题了,最后可以保存一下防火墙。
iptables-save
常见的问题
619错误
很多人在拨VPN的时候卡在验证用户名和密码,然后会出现619的错误,这种错误90%以上是由于客户端到服务器的网络中有设备不支持GRE协议或NAT-T造成的,最常见的是由于客户端的路由器等不支持造成的,在更换以后立马能拨上VPN。而这种错误在服务端的日志也有体现。例如
LCP: timeout sending Config-Requests
下面是双方加解密不一致的:
LCP terminated by peer (^O^XH-^@<M-Mt^@^@^@^@)
pptp需要用到的端口
pptp使用到的端口只有一个,那就是1723,网上有很多误人子弟的文章还说要开47端口,真是坑爹,因为GRE协议号是47,并不代表需要开47端口,因此如果是要映射端口的话,1723就完全够了,不要信网上的某些教程,如果使用了iptable来作为防火墙,需要加入规则
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p 47 -j ACCEPT
如果是在内网中,需要网关转发,那么网关需要如下配置:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to SERVER_IP
iptables -t nat -A PREROUTING -i eth0 -p 47 -j DNAT --to SERVER_IP
如需详细文档,可参考:
http://poptop.sourceforge.net/dox/
原文:http://www.nigesb.com/setup-your-own-vpn-with-pptp.html
- 使用PPTP配置Linux上的VPN服务器
- 使用PPTP配置Linux上的VPN服务器
- 使用PPTP配置Linux上的VPN服务器
- 转载:使用PPTP配置Linux上的VPN服务器
- LINUX配置基于PPTP协议的VPN服务器
- Linux 服务器搭建VPN(配置PPTP)
- Linux下PPTP VPN服务器配置
- PPTP配置VPN服务器
- PPTP配置VPN服务器
- linux pptp vpn服务器的架设
- openwrt RG100A-AA 上使用双网卡配置PPTP VPN服务器
- centos配置pptp VPN服务器
- 关于在linux系统上安装vpn(pptp)服务器
- 关于在linux系统上安装vpn(pptp)服务器
- Linux搭建pptp vpn服务器
- 在Redhad AS 5上配置VPN(使用pptp)
- 配置 Linux PPTP VPN 公网VPN
- 在虚拟机Windows2003上安装配置PPTP协议的VPN
- oracle管理权限与角色(篇1)
- Excel Sheet Column Number(java)
- SpringMVC Redirect 跳转后保存Model中的数据
- 〈数据结构〉课程设计综合题目(题目一代码)
- Classifying the SQL-on-Hadoop Solutions
- 使用PPTP配置Linux上的VPN服务器
- All SQL-on-Hadoop Solutions are missing the point of Hadoop
- STL中的set---可以直接修改set中的元素么?
- 跟踪在用碳同位素指纹海龟必需氨基酸的生物合成源
- 栈和队列结构导图
- 华为机试—相同子串
- 【转】Unity3D-深入剖析NGUI的游戏UI架构
- 使用kvm进行linux内核开发
- JUnit测试框架的使用实例