blueboyggh
V2EX  ›  Ubuntu

Ubuntu 如何定义网卡优先级?

  •  
  •   blueboyggh · Jul 7, 2019 via Android · 7304 views
    This topic created in 2531 days ago, the information mentioned may be changed or developed.

    接了两个网卡,都是有线,想让系统优先走网卡 a,但是网卡 b 也要保持连接,怎么搞?

    21 replies    2019-12-12 11:15:30 +08:00
    mason961125
        1
    mason961125  
       Jul 7, 2019
    你需要策略路由
    sinopec
        2
    sinopec  
       Jul 7, 2019
    路由?
    blueboyggh
        3
    blueboyggh  
    OP
       Jul 7, 2019 via Android
    @mason961125 这是软件还是啥
    MilkShake
        4
    MilkShake  
       Jul 7, 2019
    为什么不做 bond
    blueboyggh
        5
    blueboyggh  
    OP
       Jul 7, 2019 via Android
    @aaa5838769 不懂😂
    2067
        6
    2067  
       Jul 7, 2019
    最简单的方法是添加路由的时候增加 metric
    如果路由是从 dhcp 来的,可以变通的增加两条路由 0.0.0.0/1 和 128.0.0.0/1

    然后给想走网卡 b 的特定网段单独添加路由

    因为路由选择的原则是:优先最长匹配,匹配相同的时候选 metric 小的那个
    所以不用担心局域网直连的设备访问不到
    2exploring
        7
    2exploring  
       Jul 7, 2019
    路由表有个优先级,决定数据包从哪个网卡哪个 IP 出去。你可以自己改,如果你想自动调整路由,就得看你用什么软件来管理网络了。( Ubuntu 的话一般是 NetworkManager 吧)
    2067
        8
    2067  
       Jul 7, 2019
    @aaa5838769 #4
    主备的 bond 并不提升带宽,负荷分担的需要交换机支持,否则看上去似乎工作正常,实际上交换机一直在震荡
    MilkShake
        9
    MilkShake  
       Jul 7, 2019
    @yujiaxin 哦哦 有学习了一波
    realpg
        10
    realpg  
    PRO
       Jul 7, 2019
    需要补习基础网络知识
    gaodaabao
        11
    gaodaabao  
       Jul 7, 2019 via Android
    你可以服务器网卡做 bond0 应该是两个都负载,做 bond1 应该是主备,你查下 bond 就懂了,有多个模式
    deorth
        12
    deorth  
       Jul 7, 2019
    #10+1
    2067
        13
    2067  
       Jul 7, 2019 via Android
    @gaodaabao bond 后边的数字只是编号
    具体的模式参考
    https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.l0wlcb00/l0wlcb00_bondingmodes.html

    但是还是之前说的,负荷分担需要对端设备(通常是交换机)配合,否则只有上行分担,下行处于震荡状态,根据交换机刷 mac 表项的速度以及生效的速度,可能出现丢包以及网络抖动增大的情况而且下行带宽并不增大
    stephenyin
        14
    stephenyin  
       Jul 7, 2019
    route 命令设置 default 走网卡 a
    Hardrain
        15
    Hardrain  
       Jul 7, 2019
    如果你用 18.04 以上
    或者任何其他使用 netplan 管理网路的版本

    参考:
    https://netplan.io/examples#connecting-multiple-interfaces-with-dhcp

    我想这就是你要的。
    chinawrj
        16
    chinawrj  
       Jul 8, 2019
    你先定义一下什么是保持连接。
    blueboyggh
        17
    blueboyggh  
    OP
       Jul 8, 2019 via Android
    @Hardrain 感谢,这个 overrides 属性之前我试过不行,研究了一下,可能是当时系统的 netplan 版本低,现在这个属性已经可以用了
    blueboyggh
        18
    blueboyggh  
    OP
       Jul 8, 2019 via Android
    @chinawrj 就是网卡 b 有固定 ip 的情况下,能访问回来
    blueboyggh
        19
    blueboyggh  
    OP
       Jul 8, 2019 via Android
    @Hardrain 但是我发现用这个方法,我的服务器打开一个端口,外网只能用网卡 a 访问,无法从网卡 b 访问,这是为啥
    chinawrj
        20
    chinawrj  
       Jul 8, 2019
    @blueboyggh
    策略路由:
    ip rule add from xxx table policy_a
    ip route add xxxxxxxxxxx table policy_a

    缘分就这么多,关键信息已给出。再见
    standin000
        21
    standin000  
       Dec 12, 2019
    ip route add default via <gateway> dev <interface> metric <val> @blueboyggh 通过 metric 控制路由优先级
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4106 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 05:10 · PVG 13:10 · LAX 22:10 · JFK 01:10
    ♥ Do have faith in what you're doing.