Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
sbldehanhan
V2EX  ›  Linux

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

  •  
  •   sbldehanhan · Dec 21, 2023 · 2222 views
    This topic created in 897 days ago, the information mentioned may be changed or developed.

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

    17 replies    2023-12-26 11:06:46 +08:00
    leonshaw
        1
    leonshaw  
       Dec 21, 2023
    nftables, tc, XDP
    dode
        2
    dode  
       Dec 21, 2023
    A 主机上静态绑定 B IP 地址到一个 00:00:00:00 不存在的 mac 地址
    cpstar
        3
    cpstar  
       Dec 21, 2023
    ping 通和 socket 通不通是两个层面的事情,一个 ICMP 包,一个 IP 包。
    coderxy
        4
    coderxy  
       Dec 21, 2023
    ping 跟 tcp 是两个协议 可以用 tc 直接丢弃到某个 ip 的所有包就行了
    RobinHuuu
        5
    RobinHuuu  
       Dec 21, 2023 via iPhone
    在网络哪里做限制,注意这是局域网
    julyclyde
        6
    julyclyde  
       Dec 21, 2023
    ebtables 按说应该有效啊
    你确认你的用法正确?
    pagxir
        7
    pagxir  
       Dec 21, 2023 via Android
    你的看看是不是经过你能控制的设置做转发的,否则没用。
    sbldehanhan
        8
    sbldehanhan  
    OP
       Dec 22, 2023
    @julyclyde #6 sudo ebtables -A OUTPUT -o ens33 -d 00:0c:29:04:43:aa -j DROP 。这是在 A 主机上设置的,里面的 mac 地址是 B 主机网卡的。
    sbldehanhan
        9
    sbldehanhan  
    OP
       Dec 22, 2023
    @pagxir #7 我的是 vm 虚拟机,装的是 Ubuntu20.04 。网络设置成桥接和复制物理网卡都没效果。
    sbldehanhan
        10
    sbldehanhan  
    OP
       Dec 22, 2023
    @RobinHuuu #5 就是限制单台主机,让他禁止给某个目的主机发送 mac 帧。
    sbldehanhan
        11
    sbldehanhan  
    OP
       Dec 22, 2023
    @coderxy #4 tc 之前没用过,按照网上的设置没效果。需要再深入研究一下。
    sbldehanhan
        12
    sbldehanhan  
    OP
       Dec 22, 2023
    @cpstar #3 我就想在 mac 层就限制它。mac 层都限制住了,不可能 ping 通了吧?
    sbldehanhan
        13
    sbldehanhan  
    OP
       Dec 22, 2023
    @dode #2 静态绑定?我搜一下。
    sbldehanhan
        14
    sbldehanhan  
    OP
       Dec 22, 2023
    @leonshaw #1 这几个工具都没咋用过,需要深入研究一下。
    dode
        15
    dode  
       Dec 22, 2023
    @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  
       Dec 22, 2023
    才发现还有这么多工具…只会用 iptables
    sbldehanhan
        17
    sbldehanhan  
    OP
       Dec 26, 2023
    @leonshaw #1 终于用 xdp 实现了我想要的效果。感谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   924 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 22:15 · PVG 06:15 · LAX 15:15 · JFK 18:15
    ♥ Do have faith in what you're doing.