ESXI 中安装了 ROS 与 OpenWrt,并且实现了 Op 通过 OSPF 下发路由表,使国外流量通过 OP 出口,内网流量直接通过 ROS 的 PPPoe 出口。
部分国外地址,直接通过国内访问效果更好,比如巨硬相关的域名。所以需要实现一个白名单的功能,即虽然 OSPF 下发了这个地址需要通过 OP 出口,但是仍然通过 pppoe 直接出口。
目前尝试通过路由标记,将需要白名单的地址放在了 ip/firewall/address-list 名为 DstallowGo 的 list 中
尝试标记 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=""
创建了如下的路由表
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
检查 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:~$
想请求一下有哪些地方设置有问题吗?或者怎么实现最开始的需求。谢谢各位指点 第一次码字,有格式错误还请多包涵。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.