从远程位置通过 ISP (PPTP) 的 VPN 隧道问题

网络工程 路由 虚拟专用网 纳特 互联网服务供应商
2021-07-26 01:40:55

我有这样的网络情况:

从远程位置通过 ISP (PPTP) 的 VPN 隧道问题

  • ISP 路由器(调制解调器) - 我们的 ISP 提供给我们的设备 - 调制解调器和路由器合二为一,但它被设置为透明模式 - ISP 这么说;我们必须找到它是真的 :)
  • MikroTik 路由器 (MTR) - 我们的带防火墙的边缘路由器
  • 服务器 NAS 和 VPN 服务器 (NAS) - 带有我们的数据存储以及运行 PPTP、OpenVPN、L2TP/IPSec 服务的 VPN 服务器的 Synology 盒 - 我们本地公司和远程位置的工作人员可以连接到该服务器以获取数据
  • 本地站 (LS) - 我们网站的工作人员 - 他们使用的是 Windows 8,这意味着他们使用 PPTP
  • 远程站 (RS) - 位于不同 ISP 后面的远程站点的工作人员

下面我介绍我们的 Mikrotik 配置:

路由表:

Dst. address   | Gateway      | Distance | Pref. source   |
0.0.0.0/0      | 1.1.1.9      | 2        | -              |
1.1.1.8/30     | ether1       | -        | 1.1.1.8/30     |
192.168.1.0/24 | bridge local | -        | 192.168.1.0/24 |

防火墙:

Action | Chain | Dst. Address  | Protocol | Dst. Port |
accept | input | 192.168.1.230 | 6 (TCP)  | 1723      |
accept | input | 192.168.1.230 | 47 (GRE) | -         |
accept | input | 192.168.1.230 | 6 (TCP)  | 5006      |

网络地址:

Action     | Chain  | Source Addr    | Dst Address   | Proto    | Dst Port | Out Intf   |
masquerade | srcnat | -              | -             | -        | -        | ether1     |
dstnat     | dstnat | -              | 1.1.1.9       | 6 (TCP)  | 1723     | -          |
dstnat     | dstnat | -              | 1.1.1.9       | 47 (GRE) | -        | -          |
dstnat     | dstnat | -              | 1.1.1.9       | 6 (TCP)  | 5006     | -          |
masquerade | srcnat | 192.168.1.0/24 | 192.168.1.230 | -        | -        | -          |

最后一条规则用于避免发夹发生

Mikrotik 的规则目前仅适用于 PPTP 协议!!!


我们的 LS 在 PPTP VPN 隧道内连接到 NAS 没有问题。当我们来自不同地点的 RS 工作人员试图将 VPN 隧道连接到我们的 NAS 时,问题就开始了。他们收到 Windows 619 VPN 错误代码。


我做了一些测试。

我直接从 ISP 站点连接,我去掉了我用来测试的 ISP 调制解调器和主机(它有 1.1.1.9 IP 地址和网关 1.1.1.10)并且它工作正常 - 但在 MTR 的 NAT 规则中设置为 1.1。 1.10 目的地地址不像现在的 1.1.1.9。

我更改了它,因为当我使用 what.is.my.ip 时,我在 1.1.1.9 中收到了我们的公共地址 - 我也在 dynDNS 中使用了这个地址。这就是为什么我改变了它。

因此,当有 1.1.1.10 时,获取 VPN tunel 没有问题(只有遥控器拥有它们 - 所以我认为这可能是 ISP 站点的端口阻塞)但是当我在 NAT 规则中使用 1.1.1.9 时,我的主机也像一个 ISP调制解调器得到 619 错误代码。

今天他们收到 800 VPN 错误代码而不是 619 :/

我的问题可能是什么原因?

当我使用 1.1.1.10 并且在 NAT 表中使用 1.1.1.9 时出现错误,为什么它对我们有用?

1个回答

为什么当我使用 1.1.1.10 并且在 NAT 表中使用 1.1.1.9 时出错?

您在 Mikrotik 上将 1.1.1.9 配置为外部 NAT IP 时遇到问题。Mikrotik 的外部接口是 /30;您在 Mikrotik 上使用 1.1.1.9/30 作为默认网关外部 NAT IP。如果您打算在 Mikrotik 上使用 1.1.1.9/30,则需要 1.1.1.10 作为默认网关。

就目前而言,您目前使用 1.1.1.9 作为默认网关和外部 NAT IP。

当前路由表:

Dst. address   | Gateway      | Distance | Pref. source   |
0.0.0.0/0      | 1.1.1.9      | 2        | -              |

当前 NAT 表:

Action     | Chain  | Source Addr    | Dst Address   | Proto    | Dst Port | Out Intf   |
masquerade | srcnat | -              | -             | -        | -        | ether1     |
dstnat     | dstnat | -              | 1.1.1.9       | 6 (TCP)  | 1723     | -          |
dstnat     | dstnat | -              | 1.1.1.9       | 47 (GRE) | -        | -          |
dstnat     | dstnat | -              | 1.1.1.9       | 6 (TCP)  | 5006     | -          |
masquerade | srcnat | 192.168.1.0/24 | 192.168.1.230 | -        | -        | -          |

有点令人困惑的是图表,它说 ISP-A 的路由器处于透明的“调制解调器状态”。请确保您在 Mikrotik 上使用的 IP 寻址方案符合 ISP-A 的预期。如果路由器是透明的,我不完全确定您是否应该有一个 IP 地址。