centos架设pptp服务:并测试windos客户端、Linux客户端!

   PPTP(Point to Point Tunneling Protocol,点对点隧道协议)

默认端口号:1723

PPTP,即PPTF协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码身份验证协议(PAP)、可扩展身份验证协议(EAP)等方法增强安全性。可以使远程用户通过拨入ISP、通过直接连接Internet或其他网络安全地访问企业网。

点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。通过该协议,远程用户能够通过 Microsoft Windows NT工作站、Windows xp 、Windows 2000 和windows2003、windows7操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过Internet 安全链接到公司网络。

PPTP协议是点对点隧道协议,其将控制包与数据包分开,控制包采用TCP控制。PPTP使用TCP协议,适合在没有防火墙限制的网络中使用。

一、pptp服务器部署操作:


服务器


IP地址


描述


Server05 (centos6.6)


192.168.10.65(vpn:10.0.0.1)


Vpn-server服务器


Windows-xp


192.168.10.69


Vpn-client客户端


Server06  (centos6.6)


192.168.10.66


Vpn-client客户端

 

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

[[email protected] ~]# modprobe ppp-compress-18 && echo ok

# 显示ok则系统支持MPPE补丁,如不支持,需先安装kernel-devel    安装命令: yum install kernel-devel

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

[[email protected] ~]# cat /dev/net/tun

cat:  /dev/net/tun: File descriptor in bad state    # 如果显示这条信息,则表明通过

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

[[email protected] ~]# cat /dev/ppp

cat: /dev/ppp: No such deviceor address        # 如果显示这条信息,则表明通过

 注意:上面三条必须同时满足,否则不能安装pptpvpn。

4、安装pptp依赖包ppp

[[email protected] ~]# yum install ppp

5、安装pptpd

[[email protected] ~]# yum installpptpd

6.编辑/etc/ppp/options.pptpd文件。

[[email protected]~]# vim /etc/ppp/options.pptpd

ms-dns 172.16.1.5       #我这里内网因为有dns服务器,所以填写的是内网dns服务器地址,如果没有内网dns需要填写供应商提供的dns地址;
ms-dns172.16.1.7       #备用dns

7.编辑/etc/pptpd.conf 文件。

[[email protected] ~]# vim /etc/pptpd.conf

localip 10.0.0.1          #vpn拨入用户服务器IP地址,(也可以写成10.0.0.1-100,这样每个客户端都会对应一个单独的服务器IP)

remoteip 10.0.0.101-200      # vpn拨入用户客户端动态分配地址池

8.设置VPN账号密码,编辑/etc/ppp/chap-secrets这个文件。

[[email protected]~]# vim  /etc/ppp/chap-secrets

#client    server  secret          IPaddresses
test        pptpd   123456    *
testvpn        pptpd   123456    *
#第1列是vpn客户端登录的用户名,第3列是vpn客户端登录的密码,第4列是登录的用户的主机的IP地址定义,"*"表示可以是任意的IP地址。

9.修改内核设置,使其支持转发,编辑/etc/sysctl.conf 文件。

[[email protected]~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1   #将“net.ipv4.ip_forward”的值改为1

使修改的配置生效:

[[email protected]~]# sysctl -p

#如果报错:
error:"net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables"is an unknown key
error:"net.bridge.bridge-nf-call-arptables" is an unknown key

# 解决方法

[[email protected] ~]# modprobe bridge

[[email protected] ~]# lsmod |grep bridge  #查看

[[email protected] ~]# sysctl -p        #重新加载配置文件

10、启动pptpd

[[email protected] ~]# service pptpd start      #启动服务

Starting pptpd:                                           [  OK  ]

[[email protected] ~]# chkconfig pptpd on       #加入开机启动项

[[email protected] ~]# chkconfig --list pptpd   #查看开机启动

[[email protected] ~]# ss -tnl  #pptpd服务监听1723端口

State       Recv-Q Send-Q          LocalAddress:Port           Peer Address:Port 
LISTEN      0     3                  *:1723                      *:*

11.设置iptables策略

[[email protected] ~]# iptables -F  #清楚现有的iptables策略;

[[email protected] ~]# iptables -tnat -A POSTROUTING -s 10.0.0.0/24 -j  MASQUERADE  #设置IPTABLES转发策略;

[[email protected] ~]# serviceiptables save        #保存iptables设置

二、xp客户端测试(我的服务器和测试机器处于同一局域网):

再从服务器这边查看IP地址,也可以看到客户端的IP地址;

[[email protected] ~]# ip addr

1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:8d:6d:c9 brdff:ff:ff:ff:ff:ff
    inet 192.168.10.65/24 brd 192.168.10.255scope global eth1
    inet6 fe80::a00:27ff:fe8d:6dc9/64 scopelink 
       valid_lft forever preferred_lft forever
3: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1396 qdisc pfifo_fast stateUNKNOWN qlen 3
    link/ppp 
    inet 10.0.0.1 peer 10.0.0.101/32 scopeglobal ppp0

[[email protected] ~]# ping 10.0.0.101      #服务器端也可以和客户端通信;

PING 10.0.0.100 (10.0.0.100)56(84) bytes of data.
64 bytes from 10.0.0.100:icmp_seq=1 ttl=128 time=1.80 ms
64 bytes from 10.0.0.100:icmp_seq=2 ttl=128 time=3.02 ms
64 bytes from 10.0.0.100:icmp_seq=3 ttl=128 time=2.82 ms
64 bytes from 10.0.0.100:icmp_seq=4 ttl=128 time=1.93 ms
--- 10.0.0.100 ping statistics---
4 packets transmitted, 4received, 0% packet loss, time 3286ms
rtt min/avg/max/mdev =1.807/2.398/3.027/0.535 ms

三、Linux客户端连接vpn服务器:

[[email protected] ~]# iptables –F #清空iptables默认规则

[[email protected] ~]# yum -y install ppp pptp pptp-setup   #安装相关包

[[email protected] ~]# pptpsetup --create testvpn --server 192.168.10.65 --username test --password 123456 --encrypt --start    #创建名为testvpn的vpn连接

Using interface ppp0
Connect: ppp0 <-->/dev/pts/1
CHAP authentication succeeded
MPPE 128-bit statelesscompression enabled
local  IP address 10.0.0.100
remote IP address 10.0.0.1

[[email protected] ~]# cat/etc/ppp/peers/testvpn   #这个文件是上一步命令生成的vpn连接信息;

[[email protected] ~]# ip add       #查看IP,已经可以看到PPP0获取到了vpn 的IP地址;

1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:d2:d5:71 brdff:ff:ff:ff:ff:ff
    inet 192.168.10.66/24 brd 192.168.10.255scope global eth1
    inet6 fe80::a00:27ff:fed2:d571/64 scopelink 
       valid_lft forever preferred_lft forever
8: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1496 qdisc pfifo_fast stateUNKNOWN qlen 3
    link/ppp 
inet10.0.0.100 peer 10.0.0.1/32 scope global ppp0

[[email protected] 06 ~]# route add-net 0.0.0.0 dev ppp0     #添加默认路由,如果不添加,则无法实现与其他vpn客户端的通信

[[email protected] ~]# ping10.0.0.1        #测试是否能够成功连接服务器

PING 10.0.0.1 (10.0.0.1)56(84) bytes of data.
64 bytes from 10.0.0.1:icmp_seq=1 ttl=64 time=2.39 ms

[[email protected] ~]# ping10.0.0.101      #测试连接其它vpn客户端

PING 10.0.0.101 (10.0.0.101)56(84) bytes of data.
64 bytes from 10.0.0.101:icmp_seq=1 ttl=127 time=8.72 ms
64 bytes from 10.0.0.101:icmp_seq=2 ttl=127 time=5.73 ms

尝试断开连接并重新连接:

[[email protected] ~]# ps aux | grep vpn

root      1968  0.0  0.0  26564   772 ?        Ss   14:34   0:00 pppd call vpn updetach
root      2089  0.0  0.0 103244   856 pts/0    S+   15:16   0:00 grep vpn

[[email protected] ~]# kill 1968

[[email protected] ~]# ip add  #再次查看就没有这个IP了!!!

[[email protected] ~]# pppd call testvpn  #重新连接vpn服务器,这里的testvpn是刚才第一次创建时生成的连接文件;

注意:再次获取到IP地址;但是这个时候是无法连接其它vpn客户端的,因为默认路由没有了!!!!需要重新添加默认路由!!!

[[email protected] ~]# route add -net 0.0.0.0 dev ppp0

[[email protected] ~]# ping 10.0.0.101

PING 10.0.0.101 (10.0.0.101) 56(84) bytes of data.
64 bytes from 10.0.0.101: icmp_seq=1 ttl=127 time=5.67 ms
64 bytes from 10.0.0.101: icmp_seq=2 ttl=127 time=4.87 ms

测试完毕!!!!

时间: 2024-10-09 14:03:04

centos架设pptp服务:并测试windos客户端、Linux客户端!的相关文章

CentOS 架设DHCP服务

提供DHCP服务的软件 CentOS中提供DHCP服务的软件叫做dhcp,CentOS中默认没有安装.我们可以通过yum命令安装 yum -y install dhcp 目录 DHCP的配置文件的介绍 /etc/dhcp/dhcp.conf dhcpd.conf.sample /var/lib/dhcpd/dhcpd.leases /var/lib/dhclient/* 配置DHCP服务器的案例 一.DHCP的配置文件介绍 /etc/dhcp/dhcpd.conf 我们可以发现里边内容很少,需要

Linux(centos)连接云主机的PPTP(***)服务

提示一点:在服务端配置pptpd服务时,/etc/pptpd.conf 配置文件中:local ip 跟 remote ip 不要配置在同一网段,配置为任意内网网段即可. windows下连接pptp服务很简单,鼠标一步一步点就行:而centos默认不支持连接pptp服务,配置也相对麻烦一点点: 一,命令 行下连接pptp ***: 1.准备环境:通过yum安装所需软件包:yum -y install ppp pptp pptp-setup: 2.查看内核模块是否支持:lsmod | grep

Linux下搭建VPN服务器(CentOS、pptp)

本文介绍在安装CentOS操作系统的Xen VPS上,如何搭建PPTP VPN服务.包括PPTP的安装.配置,以及相应的iptables规则.本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇.2011年7月20日更新:在安全建议这一部分,增加了使用不同的IP地址,分别提供VPN服务和Web等其他常规服务,以及使用不同IP地址时如何书写iptables规则的内容. 写在前面 在Godaddy一美元COM域名的怂恿下,这几天先是拿到了这个gnailuy.com,然

Linux下搭建VPN服务器(CentOS、pptp)转

先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GRE: read(fd=6,buffer=8059680,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check

转载-Linux下搭建VPN服务器(CentOS、pptp)

转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GRE: read(fd=6,buffer=8059680,len=8196) from PTY failed: status = -1 error

Linux PPPOE 服务搭建测试

最近服务器那边需要搭建一套PPPOE拨号上网,网上找了好几次都感觉不能使用,我在基础上做了修改,可以使用了,作为资料共享给大家,共同学习. 文件版本: V1.0 文件编号: R&D0030 发布日期: 2017-01-17 编    制: xxxxxx 审    批: PPPOE服务器 xxx 版权所有 目录 1. 系统部署基础4 1.1 服务端搭建4 1.2 客户端Windows测试7 1.3 客户端Linux测试10 1.4 资料14 修订记录 版本号 发布日期 拟制人 修订描述 V1.0

centos 安装memcache服务后memcahce本机连接Permission

自己手动在虚拟机下装了下memcache,整个过程真是充满波折,本身用php5.3安装memcache扩展就麻烦很多,无法通过yum直接安装,安装方法详见http://chenwei.me/blog/server/69.html,接下来安装memcache服务,安装成功后,telnet可以成功,不过好像不是立即成功生效,过一会用stats才会有详细显示. 本机用 <?php $mem = new Memcache; $mem->connect(‘192.168.124.129′,11211)

CentOS 7 Apache服务的安装与配置

一.Apache简介 Apache 是一个知名的开源Web服务器.早期的Apache服务器由Apache Group来维护,直到1999年6月Apache Group在美国德拉瓦市成立了非盈利性组织的公司,即Apache软件基金会(Apache Software Foundation,ASF).网站需要web服务器来架构,网页设计美工人员(flash,dreamweaver,firework,photoshop等),网页开发人员(php,.net,jsp等),网站建立好后,需要我们维护,优化,排

CentOS 默认基本服务详解

1.使用chkconfig --list来查看安装的服务,比如我这里最小化安装后的一些服务 [[email protected] ~]# chkconfig --list auditd          0:off   1:off  2:on    3:on    4:on   5:on    6:off crond           0:off   1:off  2:on    3:on    4:on   5:on    6:off ip6tables       0:off  1:off