请教, ROS 在使用 OSPF 进行分流的前提下,如何使用路由标记实现白名单功能。

20次阅读

共计 1437 个字符,预计需要花费 4 分钟才能阅读完成。

背景

ESXI 中安装了 ROS 与 OpenWrt, 并且实现了 Op 通过 OSPF 下发路由表,使国外流量通过 OP 出口,内网流量直接通过 ROS 的 PPPoe 出口。

需求

部分国外地址,直接通过国内访问效果更好,比如巨硬相关的域名。所以需要实现一个白名单的功能,即虽然 OSPF 下发了这个地址需要通过 OP 出口,但是仍然通过 pppoe 直接出口。

尝试的措施

  1. 目前尝试通过路由标记,将需要白名单的地址放在了 ip/firewall/address-list 名为 DstallowGo 的 list 中

  2. 尝试标记 list 中的流量包

    chain=prerouting action=mark-routing new-routing-mark=white_list passthrough=no dst-address-list=DstallowGo in-interface-list=Lan log=no log-prefix=""

  3. 创建了如下的路由表

    As dst-address=0.0.0.0/0 routing-table=white_list pref-src="" gateway=pppoe-out1 immediate-gw=pppoe-out1 distance=5 scope=30 target-scope=10 suppress-hw-offload=no

    As dst-address=10.0.2.0/24 routing-table=white_list pref-src="" gateway=wireguard1 immediate-gw=wireguard1 distance=1 scope=30 target-scope=10 suppress-hw-offload=no

    As dst-address=192.168.2.0/24 routing-table=white_list pref-src="" gateway=bridge1 immediate-gw=bridge1 distance=1 scope=30 target-scope=10 suppress-hw-offload=no

  4. 检查 OSPF 默认的路由表,确保路由优先级,贴出一条 OSPF 的默认路由

    DAo dst-address=1.0.4.0/22 routing-table=main gateway=192.168.2.2%bridge1 immediate-gw=192.168.2.2%bridge1 distance=110 scope=20 target-scope=10 suppress-hw-offload=no

故障

上述设置完成后,在本地局域网访问特定的地址(即标记路由中的地址)总会提示连接重置。类似这样

ca@caserver:~$ curl -v 104.19.223.79
*   Trying 104.19.223.79:80...
* Connected to 104.19.223.79 (104.19.223.79) port 80 (#0)
> GET / HTTP/1.1
> Host: 104.19.223.79
> User-Agent: curl/7.81.0
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer
ca@caserver:~$  

期望

想请求一下有哪些地方设置有问题吗?或者怎么实现最开始的需求。谢谢各位指点
第一次码字,有格式错误还请多包涵。

正文完
 0