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

MWAN3 应该如何配置才能实现预期目的?

  •  
  •   anonymity · 18 小时 23 分钟前 · 394 次点击

    op23.05, 安装了 iptables-nft+mwan3 ,
    有两个 wan 口 wan0 和 wan1 ,wan0 有公网,wan1 无公网
    希望实现:
    1 、nas ( 192.168.100.2 )使用 wan0 入站和出站,
    2 、pc ( 192.168.100.100 )同时使用 wan0 和 wan1 入站,出站使用 wan1 (使用 wan0 从外部访问远程桌面,wan1 游戏路由优化更好)
    3 、其他设备走 wan1

    如图是我的 mwan3 规则,但是目前无法实现上述内容,请问各位大佬应该如何编写 mwan3 规则?

    图

    10 条回复    2024-12-24 15:17:57 +08:00
    zhoujian1
        1
    zhoujian1  
       11 小时 8 分钟前
    1 和 3 都好说,你这 2 就确实有点 2 了,一个数据包从 A 进来你让他从 B 走,数据包可不知道 B 就是原来的 A 。一般来说都是要源进源出的。
    ljl024
        2
    ljl024  
       10 小时 44 分钟前
    2 这条就远程桌面的端口单独走 wan0 ,其他走 wan1 ,需要看看远程桌面用什么方案
    wooleo
        3
    wooleo  
       10 小时 38 分钟前
    把 default 拉到最下面,再看看是哪条分流没实现
    htfcuddles
        4
    htfcuddles  
       9 小时 20 分钟前
    mwan3 只能决定出站,入站是基于你的源 IP ,ISP 做路由。记住:同一个客户端入站出站必定是相同的,不然你打算和 ISP 做 BGP ?
    htfcuddles
        5
    htfcuddles  
       9 小时 13 分钟前
    @zhoujian1 ISP 不管的话确实可以,而且成功了。但问题是也不是在 mwan3 做的,nas_in pc_in 的规则就有点幽默
    CKR
        6
    CKR  
       9 小时 0 分钟前
    PC 设置成只走 WAN1 ,openwrt 搭个 SS 或者 VPN 的服务端然后通过 WAN0 的公网 IP 连回去,通过内网 IP 远程桌面连接 PC
    anonymity
        7
    anonymity  
    OP
       8 小时 20 分钟前
    @htfcuddles #5 实际上好像 out 也没生效。。LAN 所有设备全走 wan0 出去了
    计网学的一坨,不懂这个😂
    titanium98118
        8
    titanium98118  
       8 小时 4 分钟前 via Android
    把 default 拉到最下面,另外 mwan3 只管出站,管不了进站,mwan3 status 看看规则有没有生效。
    第 2 点,你做一个从 wan0 到 pc rdp 的端口映射就可以了。
    htfcuddles
        9
    htfcuddles  
       6 小时 12 分钟前
    @anonymity 这篇是原理: https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3
    1 Restore mark if previous set. If successful marked, goto step 5.
    2 Check if the packet arrives on a wan interface. If originated from a local connected ip network, then mark packet with default iface_id. If the packet is from another (non-local) network and arrives on wan interface, then mark it with iface_id. If successful marked, goto step 5.
    3 Check if packet destined for a known ip network (has a route for it other than default). If so then mark packet with default iface_id and goto step 5.
    4 Check if packet source address is that of a wan interface. If so use that wan interface for routing regardless of user defined rules and mark packet with iface_id of corresponding wan.
    5 Apply user rules and mark with configured iface_id. If no match leave unmarked.
    6 If marked then save mark.

    第 2 步已经包含源进源出了,目标地址是出站分流用的,你折腾 in 填内网 IP 没用。mwan3 底层是 pbr 和 hotplug.d, 用 ip rule 和 ip route show table x 排查一下有没有问题,default 走 wan0 大概是前面几步就没配对,你先看下接口上线了没有优先级对不对。
    miemie666
        10
    miemie666  
       5 小时 31 分钟前
    你第二个需求,其实做端口转发就行了啊,使用 WAN0 的公网 IP 远程桌面,然后默认出站使用 WAN1 ,这都不用到 mwan3
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3081 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:49 · PVG 20:49 · LAX 04:49 · JFK 07:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.