centos pptp服务器(pptp服务器搭建)

大家好,关于centos pptp服务器很多朋友都还不太明白,今天小编就来为大家分享关于pptp服务器搭建的知识,希望对各位有所帮助!

CentOS搭建PPTP服务端

CentOS搭建PPTP服务端教程

PPTP是基于PPP协议的点对点隧道网络技术,它为远程用户提供了安全连接公司专用网络的通道。通过拨号连接PPTP服务器,建立隧道并分配IP地址,用户可在公共网络上实现私有网络内的通信。但请务必注意,PPTP服务存在安全隐患,部署时需谨慎考虑相关风险。

云服务器部署步骤

成功安装PPTP服务后,终端输入指令确认安装。

编辑pptpd.conf,设置网关和IP范围,确保网关和分配地址在同一IP段。

可选修改DNS,将ms-dns设置为公共DNS服务器地址。

创建用户并设置用户名、密码,注意用户IP的分配方式。

建议设置MTU,以优化网络性能,避免问题发生。

启用内核网络转发,确保数据包传递。

防火墙与NAT配置

根据服务器网络状况,可能需要安装防火墙并配置NAT规则,确保内部通信和外部访问的正确性。

重启与开机自启设置

配置更改后务必重启PPTP服务,并设置开机自启动,确保服务始终运行。

常见问题解决

遇到yum安装问题时,需检查软件源并更新缓存。

centos安装配置pptpvpn服务器步骤分享

说明:

服务器操作系统:CentOS 5.X 64位

服务器IP地址:192.168.21.128

实现目的:服务器安装配置pptp软件,对外提供vpn拨号服务

具体操作:

一、安装包下载

1、ppp#安装pptpd需要此软件包

2、pptpd#目前最新版本

下载好之后上传到/usr/local/src目录

二、检查服务器系统环境是否支持安装pptp vpn

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

3、检查系统是否开启ppp支持

复制代码代码如下:

cat/dev/ppp

如果这条指令显示结果为下面的文本,则表明通过:

复制代码代码如下:

cat:/dev/ppp: No such device or address

上面三条必须同时满足,否则不能安装pptp vpn

三、安装pptp

复制代码代码如下:

cd/usr/local/src

rpm-ivh ppp-2.4.4-14.1.rhel5.x86_64.rpm#安装ppp

rpm-ivh pptpd-1.4.0-1.rhel5.x86_64.rpm#安装pptp

四、配置pptp

1、vi/etc/ppp/options.pptpd#编辑,添加、修改以下参数

复制代码代码如下:

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

ms-dns 8.8.8.8#添加主DNS服务器地址

ms-dns 8.8.4.4#添加备DNS服务器地址

:wq!#保存,退出

2、vi/etc/ppp/chap-secrets#设置pptp拨号用户和密码(可以设置多个用户,每行一个)

复制代码代码如下:

# client server secret IP addresses

osyunweivpnuser01 pptpd 123456*

osyunweivpnuser02 pptpd 1234*

osyunweivpnuser03 pptpd 12345678*

格式:用户名 pptpd密码*

其中*表示为客户端自动分配IP地址

:wq!#保存,退出

3、vi/etc/pptpd.conf#设置pptp服务器IP地址,设置vpn拨入客户端ip地址池

复制代码代码如下:

option/etc/ppp/options.pptpd

logwtmp

localip 172.16.36.1#设置pptp虚拟拨号服务器IP地址(注意:不是服务器本身的IP地址)

remoteip 172.16.36.2-254#为拨入vpn的用户动态分配172.16.36.2~172.16.36.254之间的IP地址复制代码代码如下:

:wq!#保存,退出

/sbin/service pptpd start#启动pptp

/etc/init.d/pptpd stop#关闭

service pptpd restart#重启

chkconfig pptpd on#设置开机启动

五、开启服务器系统路由模式,支持包转发

编辑vi/etc/sysctl.conf

复制代码代码如下:

net.ipv4.ip_forward= 1#设置为1

#net.ipv4.tcp_syncookies= 1#注释掉

复制代码代码如下:

:wq!#保存,退出

/sbin/sysctl-p#使设置立刻生效

六、设置防火墙转发规则

复制代码代码如下:

yum install iptables#安装防火墙

service iptables start#启动防火墙

iptables-t nat-A POSTROUTING-s 172.16.36.0/255.255.255.0-j SNAT--to-source 192.168.21.128#添加规则

iptables-A FORWARD-p tcp--syn-s 172.16.36.0/255.255.255.0-j TCPMSS--set-mss 1356#添加规则

/etc/init.d/iptables save#保存防火墙设置

七、开启pptp服务端口tcp 1723,设置vpn拨入客户端ip地址池172.16.36.0/255.255.255.0通过防火墙

编辑vi/etc/sysconfig/iptables,添加以下代码

复制代码代码如下:

-A RH-Firewall-1-INPUT-p tcp-m state--state NEW-m tcp--dport 1723-j ACCEPT

-A RH-Firewall-1-INPUT-s 172.16.36.0/255.255.255.0-j ACCEPT

:wq!#保存,退出

备注:

复制代码代码如下:

#192.168.21.128为服务器IP地址

#172.16.36.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段

/etc/init.d/iptables restart#重启防火墙

chkconfig iptables on#设置开机启动

cat/etc/sysconfig/iptables#查看防火墙配置文件

# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013

*nat

: PREROUTING ACCEPT [60:4680]

: POSTROUTING ACCEPT [4:258]

:OUTPUT ACCEPT [4:258]

-A POSTROUTING-s 172.16.36.0/255.255.255.0-j SNAT--to-source 192.168.21.128

COMMIT

# Completed on Wed Dec 11 20:21:08 2013

# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [94:16159]

:RH-Firewall-1-INPUT- [0:0]

-A INPUT-j RH-Firewall-1-INPUT

-A FORWARD-j RH-Firewall-1-INPUT

-A FORWARD-s 172.16.36.0/255.255.255.0-p tcp-m tcp--tcp-flags FIN,SYN,RST,ACK SYN-j TCPMSS--set-mss 1356

-A RH-Firewall-1-INPUT-i lo-j ACCEPT

-A RH-Firewall-1-INPUT-p icmp-m icmp--icmp-type any-j ACCEPT

-A RH-Firewall-1-INPUT-p esp-j ACCEPT

-A RH-Firewall-1-INPUT-p ah-j ACCEPT

-A RH-Firewall-1-INPUT-d 224.0.0.251-p udp-m udp--dport 5353-j ACCEPT

-A RH-Firewall-1-INPUT-p udp-m udp--dport 631-j ACCEPT

-A RH-Firewall-1-INPUT-p tcp-m tcp--dport 631-j ACCEPT

-A RH-Firewall-1-INPUT-m state--state RELATED,ESTABLISHED-j ACCEPT

-A RH-Firewall-1-INPUT-p tcp-m state--state NEW-m tcp--dport 22-j ACCEPT

-A RH-Firewall-1-INPUT-p tcp-m state--state NEW-m tcp--dport 1723-j ACCEPT

-A RH-Firewall-1-INPUT-s 172.16.36.0/255.255.255.0-j ACCEPT

-A RH-Firewall-1-INPUT-j REJECT--reject-with icmp-host-prohibited

COMMIT

# Completed on Wed Dec 11 20:21:08 2013

八、设置开机自动建立ppp设备节点(系统重新启动后有可能会丢失此文件,导致pptp客户端拨号出现错误619)

编辑vi/etc/rc.d/rc.local,在文件最后添加此行代码

复制代码代码如下:

mknod/dev/ppp c 108 0#在文件最后添加此行代码

:wq!#保存,退出

Linux系统上PPTP协议VPN服务器架设方法

VPN服务常用的协议一般有两种:

PPTP——PPTP(点对点隧道协议)是一个很好的,轻量级的VPN协议,高速提供基本的在线安全。 PPTP是内建于各种桌面和移动设备,并有128位加密功能。相比L2TP速度更快。

L2TP——附带IPsec(IP安全)的L2TP(第2层隧道协议)是非常安全的协议,其内置于多种桌面和移动设备。L2TP/IPsec采用256位加密,但额外的安全开销比PPTP需要更多的CPU使用率。

我们在这篇文章中要讲的便是PPTP的VPN架设,点对点隧道协议(PPTP)是由包括微软和3Com等公司组成的PPTP论坛开发的一种点对点隧道协,基于拨号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用 Microsoft的点对点加密算法MPPE。其通过跨越基于 TCP/IP的数据网络创建 VPN实现了从远程客户端到专用企业服务器之间数据的安全传输。PPTP支持通过公共网络(例如 Internet)建立按需的、多协议的、虚拟专用网络。PPTP允许加密 IP通讯,然后在要跨越公司 IP网络或公共 IP网络(如 Internet)发送的 IP头中对其进行封装。

PPTP是一个比较简单的VPN构建方式,但是很难找到比较全的说明文档。因此,记录一篇说明文档,详细记录架设VPN服务器以及总结一些其他比较容易遇到的问题。

安装PPTP

基本上安装pptp是比较简单的了,比如在我的CentOS6.4 x64上,只需要两个命令:

复制代码代码如下:

rpm-i

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

阅读剩余
THE END