概述

PPTP有许多已知的安全问题,不建议使用。然而,该协议被集成到常见的操作系统中,并且易于设置。PPTP在不考虑安全问题的网络中很有用。

PPTP流量使用TCP端口1723,IP协议GRE (Generic Routing Encapsulation, IP协议ID 47),由IANA (Internet assigned Numbers Authority)分配。PPTP可以与大多数防火墙和路由器一起使用,它允许发送到TCP端口1723和协议47的流量通过防火墙或路由器。PPTP包括PPP认证和对每个PPTP连接的记帐。每个连接的完整身份验证和记帐可以通过RADIUS客户端或本地完成。

PPTP Client

属性

属性 说明
add-default-route (yes| no; Default: no) 是否添加PPTP对端地址作为缺省路由。
allow (mschap2 | mschap1 | chap | pap;Default:mschap2, mschap1, chap, pap) 允许的认证方式。
connect-to (IP; Default: ) PPTP服务器的远程地址
default-route-distance (byte [0..255];Default:1) 设置应用于自动创建的默认路由的距离值,如果add-default-route也被选中
dial-on-demand (yes | no;Default:no) 仅在产生出站流量时连接PPTP服务器。如果选择,则在未建立连接的情况下,将添加网关地址为10.112.112.0/24网络的路由。
disabled (yes | no;Default:yes) 接口是否被禁用。缺省情况下是关闭的
keepalive-timeout (integer; Default: 60) 以秒为单位设置keepalive超时。
max-mru (integer;Default:1460) 最大接收单元。PPTP接口在不出现数据包碎片的情况下能够接收的最大数据包大小。
max-mtu (integer;Default:1460) 最大传输单元。PPTP接口在不发送数据包碎片的情况下能够发送的最大数据包大小。
mrru (disabled | integer;Default:disabled) 链路上可以接收的最大数据包大小。如果报文的大小大于隧道的MTU,则会将其分割成多个报文,允许通过隧道发送完整大小的IP或以太网报文。
name (string;Default:) 接口的描述性名称。
password (string;Default:"") 鉴权密码。
profile (_name;Default:Default -encryption)
user (string;Default:) 用于鉴权的用户名。

PPTP Server

/interface pptp-server

为每一条与给定服务器建立的隧道创建一个接口。在PPTP服务器的配置中有两种类型的接口:

  • 如果需要引用为特定用户创建的特定接口名称(在防火墙规则或其他地方),则在管理上添加静态接口;

  • 动态接口将自动添加到此列表中,每当用户连接,其用户名不匹配任何现有的静态表项(或者如果表项已经激活,因为不能有两个单独的隧道接口引用相同的名称);

动态接口在用户连接时出现,一旦用户断开连接就消失,因此不可能在路由器配置(例如防火墙)中引用为该用途创建的隧道,因此如果您需要为该用户创建持久规则,请为他/她创建静态条目。否则,使用动态配置是安全的。

在这两种情况下,都必须正确配置PPP用户,静态表项不能替代PPP配置。

属性

属性 说明
authentication (pap| chap | mschap1| mschap2; Default: mschap1,mschap2) 服务器将接受的身份验证方法。
default-profile (name;Default:Default -encryption)
enabled (yes| no;Default:no) 定义PPTP服务器是否启用。
keepalive-timeout (time;Default:30) 如果在保持连接时间内服务器没有收到任何报文,则每秒发送5次保持连接报文。如果服务器没有收到客户端的响应,则在5秒后断开连接。日志将显示5次“LCP错过回声回复”消息,然后断开连接。
max-mru (integer;Default:1460) 最大接收单元。PPTP接口在不出现数据包碎片的情况下能够接收的最大数据包大小。
max-mtu (integer;Default:1460) 最大传输单元。PPTP接口在不发送数据包碎片的情况下能够发送的最大数据包大小。
mrru (disabled | integer; Default: disabled) 链路上可以接收的最大数据包大小。如果报文的大小大于隧道的MTU,则会将其分割成多个报文,允许通过隧道发送完整大小的IP或以太网报文。

例子

PPTP客户端

下面的例子演示了如何使用用户名“MT-User”,密码“StrongPass”和服务器192.168.62.2建立一个PPTP客户端:

[admin@MikroTik] > interface pptp-client add connect-to=192.168.62.2 disabled=no name=pptp-out1 password=StrongPass user=MT-User
[admin@MikroTik] > interface pptp-client print
Flags: X - disabled; R - running
 0  R name="pptp-out1" max-mtu=1450 max-mru=1450 mrru=disabled connect-to=192.168.62.2 user="MT-User"
      password="StrongPass" profile=default-encryption keepalive-timeout=60 add-default-route=no
      dial-on-demand=no allow=pap,chap,mschap1,mschap2

PPTP服务器

另一方面,只需启用PPTP服务器并为特定用户创建一个PPP密码:

[admin@MikroTik] >  interface pptp-server server set enabled=yes
[admin@MikroTik] >  ppp secret add local-address=10.0.0.1 name=MT-User password=StrongPass profile=default-encryption remote-address=10.0.0.5 service=pptp
[admin@MikroTik] >  interface pptp-server print
Flags: D - dynamic; R - running
Columns: NAME, USER, MTU, CLIENT-ADDRESS, UPTIME, ENCODING
#      NAME            USER     MTU  CLIENT-ADDRESS  UPTIM  ENCODING
0  DR  <pptp-MT-User>  MT-User  1450  192.168.51.3   44m8s  MPPE128 stateless