• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hawthornn
V2EX  ›  程序员

Linux 上使用 MPTCP 如何指定出站网卡?可有偿求教!

  •  1
     
  •   hawthornn · Jan 21, 2023 · 2846 views
    This topic created in 1217 days ago, the information mentioned may be changed or developed.

    单位有需求要使用 MPTCP 技术分流。机器上有 3 个网卡,想要实现入站流量从 3 个网口进,但是出站流量从其中的 2 个网口出,并利用 MPTCP 对出站分流。我之前对这方面了解不多,才折腾好内核编译,国外文档和回忆视频看了一些,还是有懵,求求各位大佬指点一下,担心年后被裁,😂有偿求教!!!

    补充:做的是个路由转发类程序,入站流量是普通 tcp ,出站流量才需要用 mptcp 分流,出站目的地是另一个服务端程序,同城异地,假设已经配置好接受 mptcp 流量了。

    10 replies    2023-01-23 21:59:53 +08:00
    pagxir
        1
    pagxir  
       Jan 21, 2023 via Android
    配路由,路由怎么配就怎么走,很啥 tcp ,udp ,icmp 没有关系
    iwishing
        2
    iwishing  
       Jan 21, 2023
    tcpdump -n -i <interface> tcp
    hawthornn
        3
    hawthornn  
    OP
       Jan 21, 2023
    @pagxir 感谢,我再研究一下,说的是配置 ip route add 和 ip rule add 这些是吧?之前这方面了解得少。(尴尬脸
    hawthornn
        4
    hawthornn  
    OP
       Jan 21, 2023
    @iwishing 这个说的是 linux 抓包吧,好像不是我问的东西。。。
    realpg
        5
    realpg  
    PRO
       Jan 21, 2023
    黑宽带公司?
    tf2
        6
    tf2  
       Jan 21, 2023
    chatgpt 编了一个答案

    For example, if you want to enable MPTCP for the "eth0" interface, you would use the following command:

    sysctl -w net.ipv4.tcp_congestion_control_set_on_interface.eth0=mptcp
    hawthornn
        7
    hawthornn  
    OP
       Jan 23, 2023 via iPhone
    @realpg 虽然不知道你说的是啥,但是对你的恶意揣摩感到恶心😇,如果无法解答也请保持善意。
    hawthornn
        8
    hawthornn  
    OP
       Jan 23, 2023 via iPhone
    @lambdaq 感觉 chatgpt 有毒😂
    LGA1150
        9
    LGA1150  
       Jan 23, 2023 via Android
    感觉是个 X-Y 问题,一定要用 MPTCP 吗?
    nlfiasel
        10
    nlfiasel  
       Jan 23, 2023
    mptcp 有两个版本的,5.6 内核之后有个集成到内核的版本,官方页面上也有提示,里面有个 wiki 可以看看了解下思路。
    另外你这个描述,入站是普通 tcp ,出站是 mptcp 分流挺让人疑惑的。入站和出站是完全没有关系的不同的连接嘛?
    如果是这样子的话,然后出站目的地是个 mptcp 的 server 端,那么在集成到内核里的版本的逻辑应该就是添加 subflow 。
    可以参照一下上面的 wiki 里面提到的示例: https://www.tessares.net/mptcp-proxy-setup-at-home-easier-now/

    sudo ip mptcp limits set subflow 2
    sudo ip mptcp endpoint add 192.168.10.2 dev usb0 subflow
    sudo ip rule add from 192.168.10.2 table 42
    sudo ip route add default via 192.168.10.1 table 42
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3086 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 10:49 · PVG 18:49 · LAX 03:49 · JFK 06:49
    ♥ Do have faith in what you're doing.