V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
sbldehanhan
V2EX  ›  Linux

Linux 上有什么工具可以从数据链路层限制网络数据包的发送?

  •  
  •   sbldehanhan · 2023-12-21 17:12:39 +08:00 · 1542 次点击
    这是一个创建于 372 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如,我不想让我在同一局域网的 A 主机发送数据包到 B 主机。 网上搜了 ebtable 、tc 。配了规则,好像没用。还是可以 ping 通。

    17 条回复    2023-12-26 11:06:46 +08:00
    leonshaw
        1
    leonshaw  
       2023-12-21 17:41:28 +08:00
    nftables, tc, XDP
    dode
        2
    dode  
       2023-12-21 17:43:29 +08:00
    A 主机上静态绑定 B IP 地址到一个 00:00:00:00 不存在的 mac 地址
    cpstar
        3
    cpstar  
       2023-12-21 17:45:11 +08:00
    ping 通和 socket 通不通是两个层面的事情,一个 ICMP 包,一个 IP 包。
    coderxy
        4
    coderxy  
       2023-12-21 18:05:24 +08:00
    ping 跟 tcp 是两个协议 可以用 tc 直接丢弃到某个 ip 的所有包就行了
    RobinHuuu
        5
    RobinHuuu  
       2023-12-21 18:36:06 +08:00 via iPhone
    在网络哪里做限制,注意这是局域网
    julyclyde
        6
    julyclyde  
       2023-12-21 18:55:50 +08:00
    ebtables 按说应该有效啊
    你确认你的用法正确?
    pagxir
        7
    pagxir  
       2023-12-21 19:00:04 +08:00 via Android
    你的看看是不是经过你能控制的设置做转发的,否则没用。
    sbldehanhan
        8
    sbldehanhan  
    OP
       2023-12-22 09:33:45 +08:00
    @julyclyde #6 sudo ebtables -A OUTPUT -o ens33 -d 00:0c:29:04:43:aa -j DROP 。这是在 A 主机上设置的,里面的 mac 地址是 B 主机网卡的。
    sbldehanhan
        9
    sbldehanhan  
    OP
       2023-12-22 09:35:00 +08:00
    @pagxir #7 我的是 vm 虚拟机,装的是 Ubuntu20.04 。网络设置成桥接和复制物理网卡都没效果。
    sbldehanhan
        10
    sbldehanhan  
    OP
       2023-12-22 09:36:02 +08:00
    @RobinHuuu #5 就是限制单台主机,让他禁止给某个目的主机发送 mac 帧。
    sbldehanhan
        11
    sbldehanhan  
    OP
       2023-12-22 09:37:11 +08:00
    @coderxy #4 tc 之前没用过,按照网上的设置没效果。需要再深入研究一下。
    sbldehanhan
        12
    sbldehanhan  
    OP
       2023-12-22 09:37:55 +08:00
    @cpstar #3 我就想在 mac 层就限制它。mac 层都限制住了,不可能 ping 通了吧?
    sbldehanhan
        13
    sbldehanhan  
    OP
       2023-12-22 09:39:02 +08:00
    @dode #2 静态绑定?我搜一下。
    sbldehanhan
        14
    sbldehanhan  
    OP
       2023-12-22 09:39:28 +08:00
    @leonshaw #1 这几个工具都没咋用过,需要深入研究一下。
    dode
        15
    dode  
       2023-12-22 10:14:15 +08:00
    @sbldehanhan

    root@firewall root]# arp -a
    ? (192.168.100.83) at 00:15:58:A2:13: D0 [ether] on eth0
    ? (192.168.100.81) at 00:15:C5:E1:D1:58 [ether] on eth0
    [root@firewall bin]# arp -s 192.168.100.81 00:15:C5:E1:D1:58
    [root@firewall bin]# arp -a
    ? (192.168.100.83) at 00:15:58:A2:13: D0 [ether] on eth0
    ? (192.168.100.81) at 00:15:C5:E1: D1:58 [ether] PERM on eth0
    mikaelson
        16
    mikaelson  
       2023-12-22 11:08:04 +08:00
    才发现还有这么多工具…只会用 iptables
    sbldehanhan
        17
    sbldehanhan  
    OP
       2023-12-26 11:06:46 +08:00
    @leonshaw #1 终于用 xdp 实现了我想要的效果。感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1204 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:05 · PVG 02:05 · LAX 10:05 · JFK 13:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.