nevermosby/linux-bpf-learning

XDP示例疑问

Closed this issue · 3 comments

我想请问一下 在主机侧veth网卡上attach xdp程序丢弃TCP数据包的话,从容器内部访问外部服务的TCP请求数据包不是也会被丢弃吗,为什么还能够访问外部服务呀

image-20200923164926868
我实际运行了一下,是访问不了的。。

@rayoluo 理论上 XDP钩子上的bpf程序只能控制ingress流量,从容器内部访问外部服务的TCP请求数据包(egress)应该不受影响。几个建议供你参照如何找到问题:

  1. 可以通过tcpdump抓包看看请求信息,是否符合期待
  2. 确认没有在其他网络钩子上加载bpf程序,比如TC钩子,它是会影响egress流量的
  3. 可以参照这篇博文调试下bpf程序

好的,谢谢您热心的回复!期待您对Cilium分析的后续博文!!