linux - 使数据包在遍历同一命名空间中的 veth 对后进入 netfilter
问题描述
Veth
被宣传为具有连接到同一主机的两个 NIC 的基本外部以太网网络的隐喻。这让我假设,在数据包被过滤、路由、发送veth
并从另一端重新进入后,它应该被视为来自外部世界的新数据包,并再次通过所有相关的 netfilter 规则。
这只发生在 veth 对跨越网络命名空间的边界时(即,当数据包没有通过当前命名空间中的网络过滤器时)。但是,我的用例涉及 VRF 而不是命名空间,在这样的配置中,在遍历 veth 对后,我根本看不到数据包进入 netfilter 堆栈。
在将数据包路由到适当的 VRF后,我需要应用 netfilter (NAT) 规则,但我似乎无法做到这一点。
所以我的问题是:
- 为什么从 veth 出来的数据包不进入过滤堆栈?
- 有没有办法让它这样做?
- 如果以上都不可能,我的选择是什么?
谢谢。
解决方案
推荐阅读
- css - 如何显示 3-4-3 flexbox 表?
- php - 从数组中创建相同键的数组
- python - 无法在 Python 中编码非平方整数
- google-cloud-firestore - Firestore,为什么使用“更新”而不是“设置合并”?
- javascript - 如何在 Laravel 中显示文件上传状态?
- mysql - 在我的情况下,使用 MySQL 工作台将记录插入数据库表时出错
- java - 计算把我难住了
- python-3.x - 如何在 Python 中从包含特定字符串的行开始解析文件
- android - 使用 ADB 连接到我的 android 设备但无法使用 ls 命令,它说权限被拒绝
- r - R iGraph 删除属性值 = NA 的顶点