V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
test0103
V2EX  ›  宽带症候群

RouterOS 下 OSPF 组网问题

  •  
  •   test0103 · 2023-01-28 06:47:36 +08:00 · 2520 次点击
    这是一个创建于 665 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的运营商为我分配了一个动态公共 IPv6 地址。现在的 OSPF over EoIP6 不能学习到对方的路由表 以前的解决方案是基于 IPv4 地址和配置的 OSPF 基于 L2TP over IPsec 隧道。它可以正常工作。 现在改成 EoIP6 隧道后,OSPF 无法学习到对方的路由信息,应该如何正确配置呢?(EoIP6 over IPSec 是通的,可以正常工作) 我在网上和官方文档中都没有找到好的示例教程,如果有请发给我,谢谢 或者只有动态公网 IPv6 ,有没有更好的组网方案?(通过 IPIP/GRE/EoIP 可以实现 IPv4 over IPv6 ,算一种 4to6 隧道,自建专网还是 IPv4 互通) 我目前使用的 RouterOS 版本是 v6.48.6 long-term ,其他地方的路由器也是 RouterOS 的系统

    24 条回复    2023-02-01 02:51:30 +08:00
    piku
        1
    piku  
       2023-01-28 07:52:02 +08:00 via Android
    ros 的 eoipv6 在用。但是没在上面做 ospf 。等会儿试试。但是我先打听一下 eoipv6 为什么需要 ipsec 承载
    test0103
        2
    test0103  
    OP
       2023-01-28 07:54:03 +08:00
    @piku EoIP 隧道支持 IPSec 加密,为了安全,所以启用了 IPSec
    piku
        3
    piku  
       2023-01-28 08:00:15 +08:00 via Android
    @test0103 你想象一下,eoipv6 口相当于在这两个 ros 之间扯了一根直通网线。那么是不是这两个口上应该配一对 ipv4 ,然后在这对 ip 上跑 ospf ?
    3dxfood
        4
    3dxfood  
       2023-01-28 08:16:50 +08:00
    @piku 他这不是 IP 的事,组播流量没法穿越 IPSec 隧道,这种方式下还想用 OSPF 只能两端再打个 GRE 出来,协议开销比较大。

    @test0103 两种方案:1 放弃 IPSEC ,直接 EOIPv6 两端配 ipv4 地址起 OSPF ; 2 放弃 EOIPv6 ,用 IPv6 地址直连 L2TP VPN ,两端再打 GRE 隧道起 OSPF 。
    test0103
        5
    test0103  
    OP
       2023-01-28 08:37:16 +08:00
    @piku 是这样,我能理解,但是学习不到对方的路由表
    test0103
        6
    test0103  
    OP
       2023-01-28 08:38:17 +08:00
    @3dxfood L2TP over IPSec 的点对点配置的 OSPF 为什么就可以呢?我不理解
    3dxfood
        7
    3dxfood  
       2023-01-28 08:45:47 +08:00
    @test0103 L2TP 本质上就是个类 GRE 隧道,你启用了 L2TP IPsec 相当于 GRE over IPsec ,OSPF 是跑在 GRE 里的,组播流量自然可以穿越。
    我不知道你配的 EoIPv6 over IPsec 是个什么概念,具体怎么实现的?是先用两端 v6 地址打了个 ipsec 隧道出来?然后呢?
    EoIPv6 隧道又打在了起了 IPsec 的两端?你配置发我我瞅瞅。
    3dxfood
        8
    3dxfood  
       2023-01-28 08:53:26 +08:00
    我觉得你大概率是两端先起了 EoIPv6 ,然后在 EoIPv6 隧道上又起了 IPsec ,你这相当于 IPsec over GRE ,OSPF 能跑起来就见鬼了。
    test0103
        9
    test0103  
    OP
       2023-01-28 09:02:46 +08:00
    官方文档介绍
    ![jn23X.png]( https://i.328888.xyz/2023/01/28/jn23X.png)
    实际配置
    ![jnHSt.png]( https://i.328888.xyz/2023/01/28/jnHSt.png)
    并不需要额外自己配置隧道,只需要两端填一下 IPsec Secret 就可以了
    terrancesiu
        10
    terrancesiu  
       2023-01-28 09:09:39 +08:00
    如果只是改变了隧道协议和底层 ip 版本,应该是组播没过去,你可以看看 debug 信息。我目前是 gre/gre6/wiregurd 混合组网,跑 ospf 。wg 中 allow ip 需要放行对应的组播地址段和你需要路由的段就可以了。
    3dxfood
        11
    3dxfood  
       2023-01-28 09:13:52 +08:00
    这么看的话这种方式理论上讲没什么问题。

    现在是没邻居?
    network 宣告是不是正确?区域是不是一致?两端接口认证配置是不是一致?
    有邻居没路由?
    隧道两端 MTU 是不是一致? ospf 接口网络类型是不是一致?
    OSPF 配置和现在状态发来瞅瞅
    3dxfood
        12
    3dxfood  
       2023-01-28 09:23:06 +08:00
    我试了下,如果 OSPF 配置正确是没问题的。
    https://i.328888.xyz/2023/01/28/jn6gp.png
    life90
        13
    life90  
       2023-01-28 09:23:37 +08:00 via iPhone
    @3dxfood @test0103 我觉得也应该检查下这些东西。尤其是 mtu 。
    piku
        14
    piku  
       2023-01-28 09:47:46 +08:00 via Android
    刚试了 ospf 可以通,但是 ipsec 仅停留在第一阶段。我怀疑你两端的 eoipv6 口 mtu 不一致,可以试试手动指定一个相同的 mtu 。
    另一方面看起来在 eoipv6 口配置 ipsec secret 的结果似乎是 ipsec over eoipv6 ,ipsec 似乎并不起作用,需要额外设 policies (但是和 ospf 就是两个不同的方向了
    thereone
        15
    thereone  
       2023-01-28 10:01:03 +08:00
    RouteOS 的话用 GREv6 吧这个比 l2tp 要好一些,如果你有 openwrt 做个旁路的话那就简单多了 softether 加 frr 可以用 ipv6 做底层互通上层用 ipv4 就行这个简单而且方便多了。开放你一个位置的 ipv6 端口然后其它地方直接连接这个主要的就行。可以做成 hub-spoken 这种,如果都要任意直通可以把多点端口都放开互联就行。
    test0103
        16
    test0103  
    OP
       2023-01-28 12:36:15 +08:00
    @3dxfood 目前是桂林市和宝鸡市想实现互联互通。
    这是桂林市的配置及测试
    [img]https://i.328888.xyz/2023/01/28/jCSzw.jpeg[/img]
    这是宝鸡市的配置及测试
    [img]https://i.328888.xyz/2023/01/28/jC9Xk.jpeg[/img]
    [img]https://i.328888.xyz/2023/01/28/jCJJL.jpeg[/img]
    现在桂林市连接宝鸡市 通过 EoIP 及 L2TP 连接,这两个连接在 OSPF 上的配置一样,通过 EoIP 不能学习到路由表,我观察到在 OSPF/Iterfaces 的网络类型和状态不同,见下图,我可以手动设置 EoIP 的接口使用 BFD (这是在官方论坛看的),但是学到的路由表有问题
    [img]https://i.328888.xyz/2023/01/28/jCLDp.jpeg[/img]
    我看到你的配置下是能互通的,我也想知道你是怎么配置的,如果我列举的信息不全面,请告诉我还要补充那些信息,下面是两台路由器在 OSPF 上的配置
    宝鸡路由
    [img]https://i.328888.xyz/2023/01/28/jCP5v.jpeg[/img]
    桂林路由
    [img]https://i.328888.xyz/2023/01/28/jC1by.jpeg[/img]
    感谢指点
    test0103
        17
    test0103  
    OP
       2023-01-28 12:59:57 +08:00
    @3dxfood 我好像理解了,对端是 routeros v7 ,需要手动设置网络类型,对端之前是点对点,因为之前我用的是 L2TP VPN ,现在需要改为广播,这样就能正常工作了
    3dxfood
        18
    3dxfood  
       2023-01-28 13:56:53 +08:00
    @test0103 能正常工作就好。
    建议你把两端 eoipv6 接口的 ospf network type 都改为 p2p ,在你这种点到点的 ethernet 隧道中没有什么影响,这样还能跳过 DR/BDR 选举的时间,大幅加快 OSPF 协议收敛速度。
    3dxfood
        19
    3dxfood  
       2023-01-28 14:02:31 +08:00
    @test0103 ros6.x 与 ros7.x 配置命令和方式变动比较多,要细查才好,保证两端参数一致。
    sentivcn
        20
    sentivcn  
       2023-01-28 14:04:47 +08:00
    走 wireguard 啊,比 l2tp eoip 都舒服。
    RRyo
        21
    RRyo  
       2023-01-28 14:25:38 +08:00   ❤️ 1
    ospf 的 peer 之间有隧道啥的连不上第一时间查组播,或者直接点对点
    或者用 bgp (
    piku
        22
    piku  
       2023-01-28 19:49:08 +08:00
    。。。哎早上把 eoipv6 桥到了 br-lan 上,结果 mtu 变得不可控,从 10 点接到报障一直排查到现在
    mac100
        23
    mac100  
       2023-01-30 13:42:05 +08:00
    @sentivcn wireguard 不是回 QOS 吗 ? 有啥解决方案?
    sentivcn
        24
    sentivcn  
       2023-02-01 02:51:30 +08:00
    @mac100 同运营商问题不大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1410 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:30 · PVG 01:30 · LAX 09:30 · JFK 12:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.