You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2上MikroTik的IPSec隧道已建立但私有子网间无法通信

AWS EC2上MikroTik的IPSec隧道已建立但私有子网间无法通信

我来帮你一步步排查这个问题!先理清楚你的当前环境:

  • 两台部署在AWS EC2上的MikroTik设备:
    • R1:公网IP 3.75.170.246,私有子网 172.168.0.0/24
    • R2:公网IP 18.199.145.214,私有子网 10.0.0.0/24
  • AWS侧配置:安全组已放行所有协议和端口,EC2实例的源/目标检查已关闭
  • 现状:IPSec隧道状态显示「已建立」,公网IP之间可正常ping通,但私有IP/子网之间完全无法ping通

结合这些信息,大概率是MikroTik本地的配置细节没到位,给你几个排查方向:

1. 确认IPSec策略的子网匹配是否正确

隧道建立只说明两端协商成功,但如果策略里没正确包含两边的私有子网,流量根本不会走隧道。你要分别检查两台MikroTik的IPSec策略:

  • R1上的策略要明确允许172.168.0.0/24(本地子网)和10.0.0.0/24(对方子网)之间的所有流量,动作设为encrypt
  • R2上的策略则对应允许10.0.0.0/24和172.168.0.0/24的流量,动作同样设为encrypt
    一定要仔细检查子网段有没有写错,比如掩码是不是/24,有没有把本地和远程子网搞反。

2. 检查MikroTik的IP转发是否开启

这是很多人容易忽略的点!MikroTik默认可能没开启IP转发功能,导致它不会转发不同子网之间的流量。你可以进入IP > Settings菜单,看看「IP forwarding」选项有没有勾选,如果没勾,赶紧打开试试。

3. 确认路由表配置是否正确

要确保两台MikroTik都有指向对方私有子网的路由,而且这条路由是关联到IPSec隧道的:

  • 在R1上,需要添加一条路由:目标网络为10.0.0.0/24,网关选择IPSec隧道的接口(如果是基于策略的IPSec,要确保策略优先级高于普通路由)
  • 在R2上,添加目标网络为172.168.0.0/24的路由,同样指向IPSec隧道
    另外也可以确认下AWS VPC的路由表,有没有把对方私有子网的流量指向MikroTik实例?不过你已经关了源/目标检查,这一步大概率没问题,但多确认下没坏处。

4. 排查MikroTik本地防火墙规则

有可能是MikroTik自身的防火墙拦截了私有子网的流量。你可以先临时调整forward链的规则,比如添加一条允许所有流量通过forward链的规则,然后测试能不能ping通。如果能通,再慢慢细化防火墙规则,只放行需要的协议和子网流量,避免过度开放。

5. 用抓包工具定位流量走向

如果上面的步骤都没解决问题,你可以用MikroTik的抓包工具来排查:

  • 在R1上抓取来自172.168.0.0/24、发往10.0.0.0/24的ICMP包,看看这些包有没有到达MikroTik,有没有被加密后发送出去
  • 同时在R2上抓包,看有没有收到加密后的ICMP包,有没有解密后转发到本地子网,或者有没有回复包发回R1
    通过抓包能直观看到流量在哪一步丢失了,定位问题会更准确。

备注:内容来源于stack exchange,提问作者PawelC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:23:08