Fak*_*ame 8 networking iptables
我正在对我正在处理的应用程序进行一些测试,我需要能够在短时间内以静默方式丢弃传出的 UDP 数据包以复制可能的故障模式。
有没有办法做到这一点?
注意:iptables DROP 对于传出的消息不是沉默的!当一个send()或类似的电话被 掉线时iptables,它会EPERM由于某种奇怪的原因返回(请参阅此处。不幸的是,我无法使用该答案,因为我的目的地只有一跳之遥)。
xtables-addons 曾经有一个STEAL动词,但几年前它无缘无故被删除了。
我现在尝试在路由表中使用虚假路由,不幸的是,这似乎破坏了通信流量的两个方向。
对于我需要做的测试,我必须允许入站UDP 流量,一旦我安装了虚假路由,流传入的数据包立即停止,尽管源仍在发送它们。
添加虚拟接口并设置到该接口的路由怎么样?
# ip link add dummy0 type dummy
# ip link set dev dummy0 up
# ip route add 8.8.8.8/32 dev dummy0
# ping -c3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2015ms
Run Code Online (Sandbox Code Playgroud)
它始终向 上的任何(邻居或远程)地址发送数据包dummy0。
# tshark -i dummy0
Running as user "root" and group "root". This could be dangerous.
Capturing on 'dummy0'
1 0.000000 10.10.0.59 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x1ce0, seq=1/256, ttl=64
2 1.007348 10.10.0.59 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x1ce0, seq=2/512, ttl=64
3 2.015394 10.10.0.59 -> 8.8.8.8 ICMP 98 Echo (ping) request id=0x1ce0, seq=3/768, ttl=64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |