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

336 天前
 sbldehanhan

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

1514 次点击
所在节点    Linux
17 条回复
leonshaw
336 天前
nftables, tc, XDP
dode
336 天前
A 主机上静态绑定 B IP 地址到一个 00:00:00:00 不存在的 mac 地址
cpstar
336 天前
ping 通和 socket 通不通是两个层面的事情,一个 ICMP 包,一个 IP 包。
coderxy
336 天前
ping 跟 tcp 是两个协议 可以用 tc 直接丢弃到某个 ip 的所有包就行了
RobinHuuu
336 天前
在网络哪里做限制,注意这是局域网
julyclyde
336 天前
ebtables 按说应该有效啊
你确认你的用法正确?
pagxir
336 天前
你的看看是不是经过你能控制的设置做转发的,否则没用。
sbldehanhan
335 天前
@julyclyde #6 sudo ebtables -A OUTPUT -o ens33 -d 00:0c:29:04:43:aa -j DROP 。这是在 A 主机上设置的,里面的 mac 地址是 B 主机网卡的。
sbldehanhan
335 天前
@pagxir #7 我的是 vm 虚拟机,装的是 Ubuntu20.04 。网络设置成桥接和复制物理网卡都没效果。
sbldehanhan
335 天前
@RobinHuuu #5 就是限制单台主机,让他禁止给某个目的主机发送 mac 帧。
sbldehanhan
335 天前
@coderxy #4 tc 之前没用过,按照网上的设置没效果。需要再深入研究一下。
sbldehanhan
335 天前
@cpstar #3 我就想在 mac 层就限制它。mac 层都限制住了,不可能 ping 通了吧?
sbldehanhan
335 天前
@dode #2 静态绑定?我搜一下。
sbldehanhan
335 天前
@leonshaw #1 这几个工具都没咋用过,需要深入研究一下。
dode
335 天前
@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
335 天前
才发现还有这么多工具…只会用 iptables
sbldehanhan
331 天前
@leonshaw #1 终于用 xdp 实现了我想要的效果。感谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002365

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX