V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Ljcbaby

Openwrt 中, PPTP 指定多 wan 的出口问题

  •  
  •   Ljcbaby · Mar 26, 2022 · 4074 views
    This topic created in 1504 days ago, the information mentioned may be changed or developed.

    网络环境

    家中

    一条电信宽带

    有 ddns 和 pptp server

    寝室

    4 条宽带

    (括号中为跃点数)

    2 电信:ct (40)、vwan1 (41)

    2 移动:cm (60)、vwan2 (61)

    PPTP 回家

    Wan 区域中添加了一个 PPtP 接口,配合 mwan3 分流回家

    分流规则

    配合 mwan3helper

    见图

    目前问题

    PPTP 连接回家时,会出现走 移动 宽带的情况,导致延迟和速度都不理想

    想要使 PPTP 连接走电信宽带

    (绑定其中一条或者两条间自动切换倒是无所谓)

    已有尝试和结果

    /etc/config/network

    对 PPTP 接口 手动添加 option ifname ct/pppoe-ct

    无效

    mwan3

    按 PPTP 端口、DDNS 域名 分流均无效

    mwan3 status 发现 DDNS 的 ip 被标记为直连

    搜索关键字(帮助后来人)

    PPTP 指定出口

    mwan3 PPTP

    PPTP ifname

    24 replies    2022-03-29 14:12:26 +08:00
    lly8666
        1
    lly8666  
       Mar 26, 2022 via Android
    mwan3 全局页面里指定“本地源接口”后 mwan3 就能接管路由器本身流量
    lly8666
        2
    lly8666  
       Mar 26, 2022 via Android
    最好还是自己写 mwan3 规则,配合 ipset
    ericbize
        3
    ericbize  
       Mar 26, 2022 via iPhone
    从理论上来说, 就是 策略路由,ddns 解析出地址,然后那个地址走 ct 的出口。

    亦或是 把家里的 IP 池大概搞一下, 写静态路由
    ericbize
        4
    ericbize  
       Mar 26, 2022 via iPhone
    或者是 策略路由, 所有 pptp out 走电信!

    不要问我怎么实现,openwrt 我不会😓 ,mikrotik 倒是可以教你
    lcy630409
        5
    lcy630409  
       Mar 26, 2022
    写脚本 获取家里的 ip 自动添加路由
    wangweitung
        6
    wangweitung  
       Mar 26, 2022
    你的 PPTP 在编译完就可以用吗?为啥我的总是连不上。。
    flynaj
        7
    flynaj  
       Mar 26, 2022
    mwan3+smartdns. 还要路由表
    或者只打开电信的 ipv6,ipv6 直连速度最快。
    zhouzm
        8
    zhouzm  
       Mar 26, 2022
    linux 可以这样处理,openwrt 没试过,但好像差不多:
    假定电信连接为 wan0 或者是拨号的 ppp0 ,网关 ip 为 $gate ,电信 ip 为$ip ,家里 ip 是$ip_home ,建路由表名称为 ctcc

    ip route add default via $gate dev wan0(ppp0) table ctcc
    ip rule add from $ip table ctcc
    ip rule add fwmark 111 table ctcc # 有标记 111 的走 ctcc 路由表
    # 使用 iptables 对目标地址包做标记
    iptables -A PREROUTING -t mangle -d $ip_home -j MARK --set-mark 111
    jdjingdian
        9
    jdjingdian  
       Mar 26, 2022
    @zhouzm openwrt 也是 linux ,可以这样的,指定 pptp 服务器的 ip 地址从哪个接口出就完事了
    zhouzm
        10
    zhouzm  
       Mar 26, 2022
    最后一句的 PREROUTING 只处理了内网流量,应该改成(或添加) OUTPUT 处理路由器本地进程发的包
    Ljcbaby
        11
    Ljcbaby  
    OP
       Mar 26, 2022
    @lly8666 #1 目前的 本地源接口 设置


    之前设置了 mwan3 分流不生效会看到 家里的 IP 出现在这个里面

    mwan3 status 打印出来的


    @ericbize #3
    @lcy630409 #5
    @zhouzm #8
    @jdjingdian #9
    我现在是在 Dnsmasq 里添加了这两行

    ```text
    server=/ddns.mydomin.example/223.5.5.5
    ipset=/ddns.mydomin.example/ct
    ```

    因为 ct 是 mwan3helper 已经添加的表,而且我的分流规则里也有指定了,这样添加进去后应该不用我加另外的指令了

    准备先用几天观察一下。


    @flynaj #7 我校校园网,电信给公网 v4 ,无 v6 ,移动给公网 v6+内网 v4

    @wangweitung #6 正常编译完就可以啊。结合系统日志看看是少包还是相关端口被屏蔽了
    Ljcbaby
        12
    Ljcbaby  
    OP
       Mar 26, 2022
    @flynaj #7 移动的 ipv6 我也没开,主要是双栈负载均衡真的搞不起
    flynaj
        13
    flynaj  
       Mar 26, 2022
    @Ljcbaby #12 就是只开一个接口开启,ipv6 不需要设置什么,速度飞快。
    Ljcbaby
        14
    Ljcbaby  
    OP
       Mar 27, 2022
    @lly8666 @ericbize @lcy630409 @zhouzm @jdjingdian 抱歉还要再打扰一下

    现在似乎还是不行
    ipset 确认已经有对应 ip ,但 mwan3 status 中也出现了这个 IP ,好像就不走 mwan3 设置的规则了
    lly8666
        15
    lly8666  
       Mar 27, 2022
    你要不先确认下路由器本身其他程序出口流量受不受 mwan3 控制,比如弄个 mtr 看看。以我折腾 mwan3 这么多年的小白经验,有些内核版本的 openwrt 路由器本身流量不受 mwan3 控制。

    最近我把主路由换成 ros 了,除了没有 fullcone ,其他一切都太爽了。
    Ljcbaby
        16
    Ljcbaby  
    OP
       Mar 27, 2022
    @lly8666 #15 在 ipset 的 ct 和 cmcc 表里随便挑了两个 ip traceroute ,出口是符合的
    lly8666
        17
    lly8666  
       Mar 27, 2022
    @Ljcbaby 那就是 pptp 走的不是 mwan3 那个路由表
    Ljcbaby
        18
    Ljcbaby  
    OP
       Mar 27, 2022
    @lly8666 #17 应该是的,我估计是 mwan3 自动把 wan 口连接的 ip 加入直连列表里了
    Ljcbaby
        19
    Ljcbaby  
    OP
       Mar 27, 2022
    不确定是 PPtP 拨号 还是其他,会自动添加 route ,形成直连规则
    lly8666
        20
    lly8666  
       Mar 27, 2022
    在接口里把电信线路的网关跃点设置成最低的。
    Ljcbaby
        21
    Ljcbaby  
    OP
       Mar 27, 2022
    @lly8666 #20 已经是了,就很迷

    (括号中为跃点数)

    2 电信:ct (40)、vwan1 (41)

    2 移动:cm (60)、vwan2 (61)
    lly8666
        22
    lly8666  
       Mar 27, 2022
    把 mwan3 删光了自己只写一条电信试试
    Ljcbaby
        23
    Ljcbaby  
    OP
       Mar 27, 2022
    我在 mwan3 的通知里加上了如下代码段

    if [ "${INTERFACE}" = "pptp-Home" ] ; then
    route add -host ddns.mydomin.example dev pppoe-ct
    fi

    似乎还是会被附加通向移动的路由,但因为优先级不够会被忽略。

    这个配置可以先观察几天了
    titanium98118
        24
    titanium98118  
       Mar 29, 2022
    @Ljcbaby #23 我是把 metric 加上,使用很长一段时间了,没问题。
    ip route add 1.1.1.1 via 192.168.1.1 dev eth0.300 proto static metric 2
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5630 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 08:24 · PVG 16:24 · LAX 01:24 · JFK 04:24
    ♥ Do have faith in what you're doing.