V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wonk
V2EX  ›  Debian

真心求教 Debian 双网卡如何指定出入站

  •  
  •   wonk · 2 小时 24 分钟前 via iPhone · 443 次点击

    Debian12 双网卡 有各自网段和网关

    如何指定 A 网卡入站 B 网卡出站呢

    A 网卡有公网 ip 可以联通 B 网卡没有公网 ip

    试了路由表还是搞不定 希望大佬指点

    第 1 条附言  ·  1 小时 3 分钟前
    @bingfengfeifei 多谢 回复, 目的是运营商转化,A 卡在 Nat 下面可以端口映射,有公网 ip ,B 卡也是 Nat ,但是没有公网 ip ,希望实现 A 卡承接进站流量,然后转给 B 出站,这样可以用 B 的公网 ip 地址
    15 条回复    2024-09-20 17:00:15 +08:00
    blueboyggh
        1
    blueboyggh  
       2 小时 14 分钟前 via Android
    我回答不了楼主的问题,但是借问一下 debian12 如何设定网卡优先级?我按网上的设置了,只有 ipv4 生效,v6 不生效
    hefish
        2
    hefish  
       2 小时 13 分钟前
    搜一下 LARTC 吧。
    luoyide2010
        3
    luoyide2010  
       2 小时 4 分钟前
    策略路由搞不定吗?话说 A 网口入站 B 网口出站,用不了吧,TCP 连接建立不起来
    loyth06
        4
    loyth06  
       1 小时 49 分钟前
    路由表应该可以吧,我试过 ip rule ,ip route 实现 A 进 A 出,B 进 B 出
    PolarBears
        5
    PolarBears  
       1 小时 47 分钟前
    A 网卡不设置网关,只在 B 网卡设置网关试试?
    moudy
        6
    moudy  
       1 小时 46 分钟前
    @luoyide2010 #3 路由给转就行
    mrtanwen
        7
    mrtanwen  
       1 小时 44 分钟前
    前段时间刚研究过差不多的需求,用了 iptables 的 uid-owner 标记一个用户然后配置 nat to-source 为你要出口 IP 这样这个用户下运行的程序就能 A 进 B 出
    bingfengfeifei
        8
    bingfengfeifei  
       1 小时 32 分钟前   ❤️ 1
    这种需求的场景是什么,你的设备是什么类型,类似路由器的网关设备?
    听你需求,很像是 NAT 设备,在 A 上面暴露服务,然后转发到 B 网段。
    这种情况下由于 A B 网段的路由不同,做一个 DNAT ,指向 B 的网段就实现了。

    你的 A 有公网 IP ,流量能进来的前提是对方的目的 IP 是 A 的 IP ,而你要转到内网,就需要修改目的 IP 吧。

    最好说一下具体的应用场景这样才好制定对策。
    如果单纯的听你描述是一个特定条件选路的场景(我有点想象不出来具体应用方式),可能是策略路由去解决。
    1. A 网卡 B 网卡使用策略路由表,每个网卡单独一张表,例如 A 网卡策略路由表 id 100 B 网卡 id 200
    2. 在 iptables NAT 表 prerouting 链对会话打标记 例如 0x8888
    3. 然后把 ip rule 里面根据 mark 去选择路由表
    4. 注意 rp_filter 参数的调整,要开启松散反向路由的限制。
    5. 还得注意反向流的问题
    zealot0630
        9
    zealot0630  
       1 小时 13 分钟前 via Android
    挺难实现的,我这里有个 nftables 实现差不多功能,你可以参考一下

    https://github.com/kghost/config/blob/master/services/debian/vpn/nft-policy-route
    zealot0630
        10
    zealot0630  
       1 小时 11 分钟前 via Android
    原理就是用 ct 追踪这条链接应该走哪个链路,然后用 policy routing 选择不同路由表
    cndns
        11
    cndns  
       1 小时 11 分钟前
    在网卡里面设置
    metric 参数 具体谷歌搜索一下
    wonk
        12
    wonk  
    OP
       1 小时 3 分钟前 via iPhone
    @bingfengfeifei 多谢 回复, 目的是运营商转化,A 卡在 Nat 下面可以端口映射,有公网 ip ,B 卡也是 Nat ,但是没有公网 ip ,希望实现 A 卡承接进站流量,然后转给 B 出站,这样可以用 B 的公网 ip 地址
    cndns
        13
    cndns  
       1 小时 1 分钟前
    @wonk 你这种需求应该做不到的,运营商设备会检测数据包 源进源出
    002jnm
        14
    002jnm  
       53 分钟前
    用 netplan 比较简单,配置 metric 就行了。给你个参考:
    network:
    version: 2
    renderer: networkd
    ethernets:
    enp0s6:
    addresses: [ 10.0.0.12/24 ]
    routes:
    - to: 0.0.0.0/0
    via: 10.0.0.1
    metric: 201
    optional: true
    nameservers:
    addresses:
    - "8.8.8.8"
    enp1s0:
    addresses: [ 10.0.0.15/24 ]
    routes:
    - to: 0.0.0.0/0
    via: 10.0.0.1
    metric: 202
    optional: true
    nameservers:
    addresses:
    - "8.8.8.8"
    tool2dx
        15
    tool2dx  
       46 分钟前
    我们公司也是双宽带接入,ip4 统一走电信宽带,ip6 统一走移动宽带,互不影响,多线程流量还能叠加,完美。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:46 · PVG 17:46 · LAX 02:46 · JFK 05:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.